This commit is contained in:
2026-02-13 14:42:07 -08:00
parent 6a485b6ad9
commit deb33eb352
670 changed files with 55968 additions and 51275 deletions
@@ -1,290 +0,0 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 77;
objects = {
/* Begin PBXCopyFilesBuildPhase section */
19B604CF2D6F15DA00B971F2 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = /usr/share/man/man1/;
dstSubfolderSpec = 0;
files = (
);
runOnlyForDeploymentPostprocessing = 1;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
19B604D12D6F15DA00B971F2 /* PNG_Test */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = PNG_Test; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFileSystemSynchronizedRootGroup section */
19B604D32D6F15DA00B971F2 /* PNG_Test */ = {
isa = PBXFileSystemSynchronizedRootGroup;
path = PNG_Test;
sourceTree = "<group>";
};
/* End PBXFileSystemSynchronizedRootGroup section */
/* Begin PBXFrameworksBuildPhase section */
19B604CE2D6F15DA00B971F2 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
19B604C82D6F15DA00B971F2 = {
isa = PBXGroup;
children = (
19B604D32D6F15DA00B971F2 /* PNG_Test */,
19B604D22D6F15DA00B971F2 /* Products */,
);
sourceTree = "<group>";
};
19B604D22D6F15DA00B971F2 /* Products */ = {
isa = PBXGroup;
children = (
19B604D12D6F15DA00B971F2 /* PNG_Test */,
);
name = Products;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
19B604D02D6F15DA00B971F2 /* PNG_Test */ = {
isa = PBXNativeTarget;
buildConfigurationList = 19B604D82D6F15DA00B971F2 /* Build configuration list for PBXNativeTarget "PNG_Test" */;
buildPhases = (
19B604CD2D6F15DA00B971F2 /* Sources */,
19B604CE2D6F15DA00B971F2 /* Frameworks */,
19B604CF2D6F15DA00B971F2 /* CopyFiles */,
);
buildRules = (
);
dependencies = (
);
fileSystemSynchronizedGroups = (
19B604D32D6F15DA00B971F2 /* PNG_Test */,
);
name = PNG_Test;
packageProductDependencies = (
);
productName = PNG_Test;
productReference = 19B604D12D6F15DA00B971F2 /* PNG_Test */;
productType = "com.apple.product-type.tool";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
19B604C92D6F15DA00B971F2 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastUpgradeCheck = 1620;
TargetAttributes = {
19B604D02D6F15DA00B971F2 = {
CreatedOnToolsVersion = 16.2;
};
};
};
buildConfigurationList = 19B604CC2D6F15DA00B971F2 /* Build configuration list for PBXProject "PNG_Test" */;
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = 19B604C82D6F15DA00B971F2;
minimizedProjectReferenceProxies = 1;
preferredProjectObjectVersion = 77;
productRefGroup = 19B604D22D6F15DA00B971F2 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
19B604D02D6F15DA00B971F2 /* PNG_Test */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
19B604CD2D6F15DA00B971F2 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
19B604D62D6F15DA00B971F2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MACOSX_DEPLOYMENT_TARGET = 15.2;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = macosx;
};
name = Debug;
};
19B604D72D6F15DA00B971F2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MACOSX_DEPLOYMENT_TARGET = 15.2;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = macosx;
};
name = Release;
};
19B604D92D6F15DA00B971F2 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CODE_SIGN_STYLE = Automatic;
GCC_C_LANGUAGE_STANDARD = gnu89;
"OTHER_CFLAGS[arch=*]" = "";
"OTHER_CPLUSPLUSFLAGS[arch=*]" = "";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
19B604DA2D6F15DA00B971F2 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_CXX_LANGUAGE_STANDARD = "compiler-default";
CODE_SIGN_STYLE = Automatic;
GCC_C_LANGUAGE_STANDARD = gnu89;
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
19B604CC2D6F15DA00B971F2 /* Build configuration list for PBXProject "PNG_Test" */ = {
isa = XCConfigurationList;
buildConfigurations = (
19B604D62D6F15DA00B971F2 /* Debug */,
19B604D72D6F15DA00B971F2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
19B604D82D6F15DA00B971F2 /* Build configuration list for PBXNativeTarget "PNG_Test" */ = {
isa = XCConfigurationList;
buildConfigurations = (
19B604D92D6F15DA00B971F2 /* Debug */,
19B604DA2D6F15DA00B971F2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = 19B604C92D6F15DA00B971F2 /* Project object */;
}
@@ -1,7 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>
@@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>SchemeUserState</key>
<dict>
<key>PNG_Test.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>0</integer>
</dict>
</dict>
</dict>
</plist>
@@ -1,13 +0,0 @@
CFLAGS=-Wall -O2 -g -fsanitize=address,undefined
LIBS =
all: png_test
png_test: main.o
$(CC) main.o -fsanitize=address,undefined -g $(LIBS) -o png_test
main.o: main.cpp
$(CXX) $(CFLAGS) -c main.cpp
clean:
rm -rf *.o png_test
@@ -1,365 +0,0 @@
//
// main.cpp
// PNG_Test
//
// Created by Laurence Bank on 2/26/25.
//
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
#define __LINUX__
#define ZLIB_DEBUG
#define verbose 0
#define INFLATE_STRICT
#include "../../../src/zutil.c"
#include "../../../src/inflate.c"
#include "../../../src/inffast.c"
#include "../../../src/inftrees.c"
#include "../../../src/crc32.c"
#undef DO1
#undef DO8
#include "../../../src/adler32.c"
#include "../../../src/PNGdec.cpp"
#include "../../../test_images/octocat_8bpp.h"
#include "../../../test_images/octocat.h"
#include "../../../test_images/bugpng.h"
PNG png;
int xoff, yoff, iBpp;
int iWidth, iLines;
uint32_t palentry24;
uint16_t palentry16;
uint32_t u32BG;
uint16_t u16Out;
uint8_t ucPixelType;
//
// Return the current time in microseconds
//
int Micros(void)
{
int iTime;
struct timespec res;
clock_gettime(CLOCK_MONOTONIC, &res);
iTime = (int)(1000000*res.tv_sec + res.tv_nsec/1000);
return iTime;
} /* Micros() */
//
// Create a private structure to pass info to the draw callback
// For this example we want to pass a random x/y starting point
//
typedef struct my_private_struct
{
int xoff, yoff; // corner offset
} PRIVATE;
// Second draw callback for testing conversion to RGB565
int PNGDraw2(PNGDRAW *pDraw)
{
uint16_t usPixels[320];
png.getLineAsRGB565(pDraw, usPixels, ucPixelType, u32BG);
if (pDraw->y == 0) { // get first pixel of first line for testing
u16Out = usPixels[0];
}
return 1;
} /* PNGDraw2() */
int PNGDraw(PNGDRAW *pDraw)
{
PRIVATE *pPriv = (PRIVATE *)pDraw->pUser;
if (pPriv) {
xoff = pPriv->xoff;
yoff = pPriv->yoff;
}
palentry24 = *(uint32_t *)&pDraw->pPalette[2*3];
palentry24 &= 0xffffff;
if (pDraw->pFastPalette) { // this pointer is only valid when the PNG_FAST_PALETTE option is used
palentry16 = pDraw->pFastPalette[2];
}
iBpp = pDraw->iBpp;
iWidth = pDraw->iWidth;
iLines++;
return 1;
} /* PNGDraw() */
int PNGDraw3(PNGDRAW *pDraw)
{
return 0; // abort the decode immediately
}
//
// Simple logging print
//
void PNGLOG(int line, char *string, const char *result)
{
printf("Line: %d: msg: %s%s\n", line, string, result);
} /* PNGLOG() */
int main(int argc, const char * argv[]) {
int i, rc, w, h, iTotal, iTime1, iTime2;
uint8_t *pFuzzData;
char *szTestName;
int iTotalPass, iTotalFail;
uint8_t *pFrameBuffer, c1, c2;
uint32_t pal1;
uint16_t pal2;
PRIVATE priv;
const char *szStart = " - START";
iTotalPass = iTotalFail = iTotal = 0;
// Test 0 - Correct file read continuation
iTotal++;
szTestName = (char *)"Test Continuation";
PNGLOG(__LINE__, szTestName, szStart);
rc = png.openFLASH((uint8_t *)bugpng, sizeof(bugpng), PNGDraw);
if (rc == PNG_SUCCESS) {
w = png.getWidth();
h = png.getHeight();
priv.xoff = w/2; // arbitrary values to see if they get passed properly
priv.yoff = h/2;
xoff = yoff = 0;
rc = png.decode(&priv, 0);
if (rc == PNG_SUCCESS) {
if (xoff == priv.xoff && yoff == priv.yoff) {
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
} else {
PNGLOG(__LINE__, szTestName, "Error decoding");
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
} else {
PNGLOG(__LINE__, szTestName, "Error opening PNG file.");
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 1 - Test User pointer";
iTotal++;
szTestName = (char *)"Test User pointer";
PNGLOG(__LINE__, szTestName, szStart);
rc = png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw);
if (rc == PNG_SUCCESS) {
w = png.getWidth();
h = png.getHeight();
priv.xoff = w/2; // arbitrary values to see if they get passed properly
priv.yoff = h/2;
xoff = yoff = 0;
rc = png.decode(&priv, 0);
if (xoff == priv.xoff && yoff == priv.yoff) {
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
} else {
PNGLOG(__LINE__, szTestName, "Error opening PNG file.");
}
// Test 2 - Verify bad parameters return an error
szTestName = (char *)"PNG bad parameter test 1";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), NULL);
// no PNGDraw callback and no framebuffer = invalid
png.decode(NULL, 0);
if (png.getLastError() == PNG_NO_BUFFER) {
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 3 - Verify pixel format
szTestName = (char *)"PNG verify pixel format";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw);
iBpp = 0;
png.decode(NULL, 0);
if (iBpp == 8) { // should be 8 bits per pixel
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 4 - Verify correct dimensions
szTestName = (char *)"PNG verify correct dimensions";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw);
iWidth = iLines = 0;
png.decode(NULL, 0);
if (iWidth == 120 && iLines == 100) { // should be 4 bits per pixel
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 5 - Check CRC option
szTestName = (char *)"PNG Check CRC timing";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw);
iTime1 = Micros();
png.decode(NULL, 0); // without CRC check should be faster
iTime1 = Micros() - iTime1;
png.close();
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw);
iTime2 = Micros();
png.decode(NULL, PNG_CHECK_CRC); // with CRC check should be slower
iTime2 = Micros() - iTime2;
png.close();
if (iTime1 < iTime2) { // skipping CRC check should be faster
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 6 - Check palette options
szTestName = (char *)"PNG Check palette options";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw);
png.decode(NULL, 0); // default palette has 24-bit entries
pal1 = palentry24;
png.close();
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw);
png.decode(NULL, PNG_FAST_PALETTE); // Fast palette is RGB565 little-endian
pal2 = palentry16;
png.close();
if (pal1 == 0x2c2c2a && pal2 == 0x2965) { // correct 24-bit and 16-bit palette values
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 7 - Check full framebuffer decode
szTestName = (char *)"PNG Check full framebuffer decode";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), NULL);
pFrameBuffer = (uint8_t *)malloc(png.getWidth() * png.getHeight()); // just big enough for 8-bpp pixels
png.setBuffer(pFrameBuffer);
png.decode(NULL, 0);
png.close();
c1 = pFrameBuffer[60 + (10 * 120)]; // pixel at (60,10)
c2 = pFrameBuffer[40 + (40 * 120)]; // pixel at (40,40)
if ( c1 == 2 && c2 == 15) { // check a pixel from first line and 50th line for correct colors
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
free(pFrameBuffer);
// Test 8 - check 8-bit to RGB565 conversion and alpha blending
ucPixelType = PNG_RGB565_BIG_ENDIAN;
u32BG = 0x00ff00; // set background color to pure green
szTestName = (char *)"PNG Verify 8-bit to RGB565 output";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
u16Out = 0xffff;
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw2);
png.setBuffer(NULL);
png.decode(NULL, 0);
png.close();
if (u16Out == 0xe007) { // check transparnet pixel (0,0) to see if it matches the 32-bit BG color we asked for
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 9 - check 32-bit to RGB565 conversion and alpha blending
ucPixelType = PNG_RGB565_BIG_ENDIAN;
u32BG = 0xff0000; // set background color to pure blue
szTestName = (char *)"PNG Verify 32-bit to RGB565 output";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
u16Out = 0xffff;
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw2);
png.setBuffer(NULL);
png.decode(NULL, 0);
png.close();
if (u16Out == 0x1f00) { // check transparnet pixel (0,0) to see if it matches the 32-bit BG color we asked for
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// Test 10 - check the decoding can be aborted when the PNGDraw callback returns 0
ucPixelType = PNG_RGB565_BIG_ENDIAN;
szTestName = (char *)"PNG decode aborted early";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
u16Out = 0xffff;
png.openFLASH((uint8_t *)octocat_8bpp, sizeof(octocat_8bpp), PNGDraw3);
png.setBuffer(NULL);
rc = png.decode(NULL, 0);
png.close();
if (rc == PNG_QUIT_EARLY) { // check transparnet pixel (0,0) to see if it matches the 32-bit BG color we asked for
iTotalPass++;
PNGLOG(__LINE__, szTestName, " - PASSED");
} else {
iTotalFail++;
PNGLOG(__LINE__, szTestName, " - FAILED");
}
// FUZZ testing
// Randomize the input data (file header and compressed data) and confirm that the library returns an error code
// and doesn't have an invalid pointer exception
printf("Begin fuzz testing...\n");
szTestName = (char *)"Single Byte Sequential Corruption Test";
iTotal++;
pFuzzData = (uint8_t *)malloc(sizeof(octocat_8bpp));
PNGLOG(__LINE__, szTestName, szStart);
// We don't need to corrupt the file all the way to the end because it will take a loooong time
// The header is the main area where corruption can cause erratic behavior
for (i=0; i<sizeof(octocat_8bpp); i++) { // corrupt each byte one at a time by inverting it
memcpy(pFuzzData, octocat_8bpp, sizeof(octocat_8bpp)); // start with the valid data
pFuzzData[i] = ~pFuzzData[i]; // invert the bits of this byte
if (png.openFLASH(pFuzzData, sizeof(octocat_8bpp), PNGDraw) == PNG_SUCCESS) { // the PNG header may be rejected
png.decode(NULL, 0);
}
} // for each test
PNGLOG(__LINE__, szTestName, " - PASSED");
iTotalPass++;
// Fuzz test part 2 - multi-byte random corruption
szTestName = (char *)"Multi-Byte Random Corruption Test";
iTotal++;
PNGLOG(__LINE__, szTestName, szStart);
for (i=0; i<1000; i++) { // 1000 iterations of random spots in the file to corrupt with random values
int iOffset;
memcpy(pFuzzData, octocat_8bpp, sizeof(octocat_8bpp)); // start with the valid data
iOffset = rand() % sizeof(octocat_8bpp);
pFuzzData[iOffset] = (uint8_t)rand();
iOffset = rand() % sizeof(octocat_8bpp); // corrupt 2 spots just for good measure
pFuzzData[iOffset] = (uint8_t)rand();
if (png.openFLASH(pFuzzData, sizeof(octocat_8bpp), PNGDraw) == PNG_SUCCESS) { // the PNG header may be rejected
png.decode(NULL, 0);
}
} // for each test
PNGLOG(__LINE__, szTestName, " - PASSED");
iTotalPass++;
free(pFuzzData);
printf("Total tests: %d, %d passed, %d failed\n", iTotal, iTotalPass, iTotalFail);
return 0;
} /* main() */
+1 -10
View File
@@ -20,7 +20,6 @@ The PNG image specification was written at a time when computers had megabytes o
Feature summary:<br> Feature summary:<br>
----------------<br> ----------------<br>
- *New* Added PNGDisplay helper class to simplify displaying images on displays supported by my bb_spi_lcd library<br>
- Runs on any MCU with at least 48K of free RAM<br> - Runs on any MCU with at least 48K of free RAM<br>
- No external dependencies (including malloc/free)<br> - No external dependencies (including malloc/free)<br>
- Decode an image line by line with a callback function<br> - Decode an image line by line with a callback function<br>
@@ -34,7 +33,7 @@ Feature summary:<br>
How fast is it?<br> How fast is it?<br>
---------------<br> ---------------<br>
For most PNG images, the time is split about 50/50 between inflate and de-filtering. Indexed images usually don't enable filtering, so it becomes nearly 100% the inflator. Converting the output to RGB565 can take significant cycles if doing alpha blending. The examples folder contains a sketch to measure the performance of decoding a 240x200 image of varying bit depths. Here's the results when run on a few common MCUs:<br> The examples folder contains a sketch to measure the performance of decoding a 240x200 image of varying bit depths. Here's the results when run on a few common MCUs:<br>
<br> <br>
<p align="center"> <p align="center">
@@ -46,11 +45,3 @@ Documentation:<br>
Detailed information about the API is in the [Wiki](https://github.com/bitbank2/PNGdec/wiki)<br> Detailed information about the API is in the [Wiki](https://github.com/bitbank2/PNGdec/wiki)<br>
See the examples folder for easy starting points<br> See the examples folder for easy starting points<br>
<br> <br>
## Funding
This project received funding through [NGI Zero Core](https://nlnet.nl/core), a fund established by [NLnet](https://nlnet.nl) with financial support from the European Commission's [Next Generation Internet](https://ngi.eu) program. Learn more at the [NLnet project page](https://nlnet.nl/project/ImageCodes-Optimised).
[<img src="https://nlnet.nl/logo/banner.png" alt="NLnet foundation logo" width="20%" />](https://nlnet.nl)
[<img src="https://nlnet.nl/image/logos/NGI0_tag.svg" alt="NGI Zero Logo" width="20%" />](https://nlnet.nl/core)
@@ -47,14 +47,13 @@ uint8_t *d, ucPix, ucAlpha, ucMask;
} // for each group of 8 pixels } // for each group of 8 pixels
} /* DrawPixelsMasked() */ } /* DrawPixelsMasked() */
int PNGDraw(PNGDRAW *pDraw) void PNGDraw(PNGDRAW *pDraw)
{ {
uint8_t ucMask[32]; uint8_t ucMask[32];
if (png.getAlphaMask(pDraw, ucMask, 255)) { // if any pixels are opaque, draw them if (png.getAlphaMask(pDraw, ucMask, 255)) { // if any pixels are opaque, draw them
DrawPixelsMasked(pDraw->y, pDraw->pPixels, ucMask, pDraw->iWidth); DrawPixelsMasked(pDraw->y, pDraw->pPixels, ucMask, pDraw->iWidth);
} }
return 1;
} /* PNGDraw() */ } /* PNGDraw() */
void setup() { void setup() {
@@ -1,79 +0,0 @@
//
// Example sketch showing the performance benefit of using
// DMA when pushing pixels to serial connected LCD displays
//
// written by Larry Bank (bitbank@pobox.com)
// Febrary 27, 2025
//
#include <PNGdec.h>
#include <bb_spi_lcd.h>
#include "../../test_images/octocat.h"
PNG png;
BB_SPI_LCD lcd;
int w, h, xoff, yoff;
bool bDMA;
static uint16_t usPixels[320]; // make sure there is enough room for the full image width
//
// PNG draw callback
// Called with a full row of pixels
// for every row in the image
//
int PNGDraw(PNGDRAW *pDraw)
{
if (pDraw->y == 0) {
// set the address window when we get the first line
lcd.setAddrWindow(xoff, yoff, w, h);
}
// There's a risk of overwriting pixels that are still being sent to the display if we only use a single \
// DMA buffer, **BUT** in this case, the PNG decoding plus the pixel conversion takes a long time
// relative to sending pixels to the display. If the display were a REALLY slow one, then it would be
// prodent to use a dual (ping-pong) buffer scheme to avoid that risk.
png.getLineAsRGB565(pDraw, usPixels, PNG_RGB565_BIG_ENDIAN, 0); // get help converting to RGB565
if (bDMA) {
lcd.pushPixels(usPixels, pDraw->iWidth, DRAW_TO_LCD | DRAW_WITH_DMA);
} else {
lcd.pushPixels(usPixels, pDraw->iWidth);
}
return 1;
} /* PNGDraw() */
void setup()
{
long lTime;
lcd.begin(DISPLAY_CYD_543 /*DISPLAY_WS_AMOLED_18*/);
lcd.fillScreen(TFT_BLACK);
lcd.setFont(FONT_12x16);
lcd.setTextColor(TFT_GREEN);
lcd.setCursor((lcd.width() - 17*12)/2, 0);
lcd.print("PNG DMA Perf Demo");
png.openFLASH((uint8_t *)octocat, sizeof(octocat), PNGDraw);
w = png.getWidth();
h = png.getHeight();
xoff = (lcd.width() - w)/2; // center on the LCD
yoff = (lcd.height() - h)/2;
bDMA = false; // first time without DMA
lTime = micros();
png.decode(NULL, PNG_FAST_PALETTE); // use the RGB565 palette to speed up color conversion for the LCD
lTime = micros() - lTime;
png.close();
lcd.setCursor((lcd.width() - (20*12))/2, lcd.height()-32);
lcd.printf("Without DMA: %d us\n", (int)lTime);
png.openFLASH((uint8_t *)octocat, sizeof(octocat), PNGDraw);
w = png.getWidth();
h = png.getHeight();
xoff = (lcd.width() - w)/2; // center on the LCD
yoff = (lcd.height() - h)/2;
bDMA = true; // second time with DMA
lTime = micros();
png.decode(NULL, PNG_FAST_PALETTE); // use the RGB565 palette to speed up color conversion for the LCD
lTime = micros() - lTime;
png.close();
lcd.setCursor((lcd.width() - (17*12))/2, lcd.height()-16);
lcd.printf("With DMA: %d us\n", (int)lTime);
}
void loop()
{
}
@@ -0,0 +1,234 @@
//
// m5logosmall
// Data size = 3561 bytes
//
// PNG, Compression=Flate, Size: 240 x 135, 24-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t m5logosmall[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x87,0x08,0x02,0x00,0x00,0x00,0xa7,0x10,0x43,
0xbc,0x00,0x00,0x0d,0xb0,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x5d,0x4d,0x48,0x1b,
0xeb,0x1a,0x9e,0x73,0x71,0xe5,0xe6,0xde,0x50,0x7b,0xb2,0x39,0x0d,0xc5,0x03,0x2e,
0x8c,0xb8,0x8a,0x8b,0x2c,0xc4,0xde,0xcd,0x9d,0x3b,0x28,0xe2,0x42,0x17,0x81,0x23,
0x58,0x54,0x0a,0x0a,0x5d,0xf4,0x2e,0xac,0x20,0x45,0x0e,0x82,0x15,0xee,0xe9,0x42,
0xa8,0x70,0x50,0xa9,0x60,0xef,0xcd,0x42,0xa1,0x52,0xa4,0xc3,0x1c,0xba,0x68,0x70,
0x91,0x45,0xb2,0x92,0x93,0x42,0x85,0x06,0xab,0x5d,0x34,0x55,0x9b,0x5d,0x76,0x97,
0xde,0xc5,0x7b,0xfc,0xce,0x34,0x99,0xf9,0xe6,0x9b,0xbf,0x64,0x32,0xf3,0x3c,0x64,
0x11,0x93,0xc9,0x38,0x3f,0xcf,0xf7,0xce,0xf3,0xfe,0x7c,0xef,0xf7,0xdd,0xd7,0xaf,
0x5f,0x25,0x00,0x08,0x0b,0x3a,0x70,0x09,0x9a,0x80,0xb3,0x4a,0x95,0xbd,0x4f,0xc4,
0x63,0xb8,0x20,0x20,0x74,0xbb,0x42,0x2d,0x9e,0x1c,0xff,0xfe,0x76,0xb5,0x50,0xa3,
0x3f,0xd3,0xdd,0x5d,0x77,0x6e,0xd4,0x32,0xca,0x10,0x68,0xed,0x13,0xbe,0x83,0xe4,
0xf0,0xc9,0x24,0x67,0xd5,0xdc,0x9b,0xab,0xce,0x7c,0xf9,0xd2,0x70,0x83,0x74,0x77,
0xd7,0xfd,0xa1,0xdb,0xc9,0x5b,0x37,0xc1,0x6c,0x10,0xba,0xbd,0xa9,0x0c,0x5a,0x83,
0xd0,0x6d,0xa9,0x2e,0xc4,0x41,0x3a,0xa4,0xbf,0xaf,0x57,0x49,0xf5,0xe0,0x32,0x82,
0xd0,0xad,0x37,0xc9,0xa5,0xf3,0x8b,0xf5,0xdc,0xa9,0xa1,0x49,0x66,0x64,0x4d,0xde,
0xba,0x29,0x49,0x12,0x67,0x4b,0x18,0x6c,0x10,0x3a,0xd0,0xea,0x82,0xe3,0xff,0xf1,
0x6d,0x39,0x1c,0x47,0x10,0x3a,0x70,0x42,0x39,0x7b,0x37,0x65,0x69,0x68,0x69,0x27,
0x1c,0x89,0xb2,0x38,0xd0,0x09,0x5a,0x83,0xd0,0x2d,0x53,0x17,0x4c,0x33,0xd8,0x95,
0xc2,0x6a,0xf1,0x84,0xbf,0xcf,0x5f,0x7f,0x1a,0x90,0x10,0xc0,0x06,0xa1,0xbd,0xc5,
0xda,0xce,0x01,0xc7,0x24,0xbb,0xb7,0xa6,0x96,0xb4,0x86,0xbc,0x06,0xa1,0x5b,0x29,
0x94,0xdb,0xe2,0xdf,0x81,0xd0,0x11,0x82,0xa5,0xeb,0x66,0x69,0x32,0x29,0xe3,0xed,
0x80,0x7c,0x96,0xda,0x66,0x71,0xa0,0x13,0x61,0x3e,0x10,0xda,0x9b,0xa7,0xbf,0x08,
0x99,0xce,0x2a,0xd5,0xb9,0xe9,0x49,0x7a,0x3f,0x38,0x3e,0xb3,0x30,0x35,0xe6,0xc6,
0x60,0xf3,0x07,0x15,0x68,0x0d,0x42,0x3b,0xb4,0x8b,0x22,0xb1,0x0b,0xb5,0x78,0xf2,
0x74,0xf9,0x81,0xa6,0x69,0xec,0x13,0x59,0x96,0x0f,0x0f,0x0f,0xdd,0xeb,0x10,0x84,
0xf9,0x40,0x68,0x2f,0x0d,0xa1,0xa5,0xba,0xc8,0xaa,0xb9,0xa5,0xd9,0x09,0xfd,0x87,
0xb2,0x2c,0x0f,0x8e,0xcf,0x78,0x45,0x35,0x41,0x1d,0x12,0x71,0xc7,0x31,0xea,0x84,
0x16,0x89,0x2d,0x58,0xaa,0x8b,0xac,0x9a,0x3b,0xda,0xdf,0x62,0x56,0x59,0x96,0x65,
0x49,0x92,0xe6,0x97,0x9f,0xf8,0x24,0x06,0x2c,0x8f,0x39,0xca,0x06,0x3b,0xa2,0x84,
0x16,0xb1,0x76,0x96,0x9c,0x20,0xaf,0xb1,0xce,0x2a,0xaf,0x6c,0xee,0x35,0x87,0x4c,
0xd0,0x21,0x20,0xb4,0x67,0xea,0xa2,0x74,0x7e,0xd1,0x28,0x94,0x3d,0x54,0x17,0x1e,
0x8e,0xcc,0xa8,0x05,0xb0,0x23,0x44,0x68,0xf7,0x99,0x8b,0x46,0x75,0x41,0x54,0xf6,
0x4f,0x5d,0xd8,0x62,0xf6,0xbd,0xe7,0x05,0xd0,0x3a,0x12,0x84,0xe6,0x47,0x94,0x49,
0x5d,0x48,0xdc,0x80,0xb1,0xa1,0xba,0x90,0x65,0x79,0x63,0x7b,0xd7,0x0d,0x45,0xc8,
0xbe,0x1e,0xff,0xfe,0x96,0x7d,0xe2,0xd2,0xab,0xa3,0x1d,0x66,0x9e,0x15,0xcd,0x36,
0x58,0x1c,0xe8,0x74,0x1c,0x43,0x04,0xa1,0x03,0xa1,0x2e,0xf8,0xf9,0x6a,0x7e,0x44,
0x99,0x3d,0xd0,0x5f,0x3f,0x1c,0xae,0x13,0xca,0x6e,0xf2,0x1a,0x86,0x96,0xbe,0x6e,
0xa8,0xfc,0xef,0xef,0xf7,0x1d,0xdb,0x54,0xbe,0x0e,0x39,0x7e,0xa4,0x84,0xd8,0x4e,
0x87,0x93,0xd0,0x22,0x0e,0x13,0xdf,0x50,0x99,0xa9,0x0b,0x97,0x42,0xb9,0x31,0x4a,
0xcd,0xa2,0x22,0x04,0xc3,0xaf,0x1c,0x4b,0x1a,0x7a,0xb0,0xbc,0xb9,0xea,0x64,0x9f,
0x84,0x3e,0x11,0x13,0x36,0x42,0x7b,0x92,0xaf,0x6e,0x0e,0x95,0xd9,0x3e,0xeb,0xb6,
0x24,0x11,0xe2,0xad,0x52,0x77,0x9c,0x84,0x07,0xa1,0x5b,0x66,0x92,0x3d,0x29,0x7e,
0x50,0x8b,0x27,0xa3,0xe9,0x64,0x9d,0x8d,0x74,0xc9,0x24,0xc7,0x7e,0x24,0x79,0xb1,
0x7a,0xb5,0xd3,0xb4,0x98,0x20,0x08,0x1d,0x50,0x07,0xdf,0x6e,0x38,0x96,0x6a,0x30,
0x3c,0xb1,0xcd,0x5e,0x85,0x44,0xea,0x4c,0xbb,0x7b,0x4f,0xd4,0x6c,0xe4,0x84,0x63,
0x5e,0x63,0x18,0x08,0xad,0xfc,0xf2,0x5b,0x23,0x9b,0x1d,0x07,0xaa,0x0c,0xc3,0xcc,
0xb6,0x1c,0x41,0xb3,0x90,0xc8,0xfc,0xf2,0x13,0xc7,0x11,0x8c,0xb5,0x9d,0x03,0xb6,
0x43,0x0f,0x39,0xdd,0xa8,0xd0,0xda,0xdd,0x65,0x0c,0x73,0xa3,0x19,0x9a,0x97,0x6a,
0x17,0x89,0x78,0x2c,0x11,0x8f,0x29,0x87,0x87,0x74,0xb3,0x99,0x89,0x25,0x3e,0xf1,
0x79,0x69,0x58,0xd1,0xe1,0x32,0x24,0x42,0x58,0x98,0x1a,0x93,0xa4,0x3d,0xda,0xb3,
0xa6,0x69,0x59,0x35,0xe7,0x26,0xfa,0xc6,0x89,0xee,0x95,0xce,0x2f,0x40,0xe8,0x16,
0xe3,0xfe,0xd0,0xed,0x46,0x0b,0x9d,0x2f,0x5f,0xf6,0xff,0xac,0xba,0x49,0x28,0x28,
0xa9,0x1e,0x25,0xd5,0x93,0x51,0x86,0xf4,0xca,0x41,0xd3,0x34,0x4d,0x4b,0x36,0xea,
0x10,0x0f,0xb5,0x8a,0x19,0xfa,0xfb,0x7a,0xbd,0x8a,0xff,0x08,0xb6,0x0d,0x01,0xa1,
0x5b,0x24,0x39,0x52,0x3d,0xc7,0xb7,0x6e,0x1a,0xde,0xa7,0x7c,0xf9,0x32,0x5f,0xbe,
0x74,0x53,0xd8,0x90,0x88,0xc7,0x16,0xa6,0xc6,0x32,0xca,0x90,0x3e,0x20,0xad,0x69,
0x9a,0xa6,0x69,0x47,0xb2,0x3c,0x38,0x3e,0x23,0x49,0x92,0xe7,0x21,0x11,0x43,0xe8,
0xf3,0x2f,0x8e,0x85,0xf2,0xf5,0xf5,0xa9,0x49,0x21,0x45,0xa8,0xc2,0x76,0x3e,0x4d,
0x62,0xb5,0xd4,0xc7,0xbe,0x52,0x99,0x22,0x6e,0x75,0x4a,0xe6,0xfd,0xc7,0xcf,0xe2,
0x6e,0xae,0xe5,0x35,0xd1,0x7f,0x95,0xbd,0x9b,0x6a,0x6b,0xbf,0x30,0x9c,0x89,0x15,
0x91,0x68,0xb4,0x9b,0xdb,0x66,0x58,0x32,0xea,0xc6,0xe7,0x13,0x77,0x4f,0xc5,0xe3,
0x24,0x96,0xd3,0x13,0x99,0x18,0xfb,0xdb,0xfc,0x7f,0x41,0xe8,0xf6,0x30,0xd8,0xbe,
0x16,0x58,0xb2,0x4a,0x0c,0xcf,0xcb,0xea,0x5d,0x26,0x77,0xec,0x66,0x97,0x40,0xe8,
0x50,0xe9,0x90,0x40,0xf5,0x73,0x71,0x33,0xf3,0xc5,0x71,0x76,0x09,0x84,0x6e,0x57,
0x1d,0x12,0xe4,0xba,0x61,0xb3,0x32,0x0f,0x11,0x81,0x21,0xd2,0x5f,0x8f,0x33,0x1e,
0xc2,0x44,0xe8,0x08,0x35,0x3c,0xa7,0x30,0x9c,0x99,0x0e,0x61,0xf1,0x90,0x26,0xd3,
0xda,0xac,0xf2,0x4e,0x30,0xcb,0xed,0xbe,0x76,0x05,0x51,0x8e,0x80,0xea,0x0a,0xc9,
0x4e,0xf1,0x8d,0x48,0x65,0xa9,0xdf,0x3a,0xc4,0x57,0x75,0x61,0x8b,0xca,0x90,0x1c,
0x81,0x63,0x33,0xd5,0x72,0x50,0x1b,0x38,0x5b,0x2c,0x74,0x3f,0x49,0xd6,0xb1,0xba,
0x90,0xbe,0x2d,0x16,0x15,0x57,0x17,0x9e,0xb7,0x56,0x82,0xe4,0x08,0x16,0x58,0x65,
0x52,0xbe,0x7c,0x69,0x37,0x73,0x4b,0x3a,0xc4,0xec,0xc1,0xfd,0x87,0x0e,0xc9,0x9d,
0x7a,0xf8,0xe0,0x1e,0x19,0x19,0x71,0x56,0x25,0xf2,0xed,0x41,0xd6,0x4c,0xa8,0x3c,
0x10,0xf1,0x5a,0xbc,0x30,0x10,0xda,0x7d,0x16,0xf7,0x3a,0xcb,0x5d,0xe5,0xa4,0x1b,
0x25,0xb1,0x46,0x33,0x22,0xd2,0xc8,0x8f,0xd8,0x05,0xfa,0x38,0x46,0xce,0x29,0xb4,
0x04,0x65,0xb9,0x17,0xcc,0x1b,0x8d,0x52,0x35,0x8f,0x9b,0xbe,0x72,0x89,0x78,0x6c,
0x63,0x7b,0xb7,0x74,0x7e,0x41,0xa3,0xc8,0x4d,0xec,0x42,0x42,0x2b,0x30,0x10,0x5a,
0x10,0x44,0x6b,0x33,0x1d,0xb2,0x5a,0xa8,0x49,0x85,0xa2,0x63,0x1d,0x42,0xd5,0x7c,
0xcd,0x17,0xca,0x20,0x74,0xd4,0x21,0xa8,0x43,0xbc,0x8d,0x87,0x58,0x0a,0x65,0x74,
0x89,0x06,0xa1,0x3d,0xd0,0x21,0x19,0x73,0x93,0xb9,0x5a,0xa8,0xad,0x16,0x54,0xbf,
0x1b,0x9e,0x63,0x79,0x0a,0x10,0xda,0x17,0x79,0x6d,0x46,0x3b,0xa2,0xb5,0x03,0x0b,
0x1a,0x84,0x88,0x38,0x08,0x1d,0x75,0x1d,0x62,0xc6,0x42,0xf1,0x78,0x08,0x2b,0x0a,
0x85,0xba,0x00,0xa1,0xdb,0x40,0x87,0x64,0x9e,0x15,0xcd,0x5c,0x37,0xc4,0x2e,0x40,
0xe8,0xa0,0xd3,0xda,0x90,0xa0,0xf9,0xf2,0x65,0xbe,0x2c,0x91,0xbc,0x96,0x24,0xa9,
0xbf,0xaf,0x97,0xa6,0x9c,0x40,0x5d,0x80,0xd0,0x41,0xa7,0x75,0x22,0x1e,0xe3,0xa4,
0x1b,0xff,0xf8,0xa4,0xc0,0x66,0xa4,0x9a,0x25,0xf9,0x40,0x65,0x10,0x3a,0x78,0xf2,
0xda,0x2c,0xcc,0x07,0x75,0x01,0x42,0x87,0x50,0x87,0x40,0x5d,0x80,0xd0,0x61,0xd0,
0x21,0xcc,0x60,0x43,0x5d,0x80,0xd0,0x61,0xd0,0x21,0x0b,0xb8,0x10,0xcd,0xc2,0x5f,
0x70,0x09,0x00,0x10,0x1a,0x00,0x40,0x68,0x00,0x00,0xa1,0x01,0x00,0x84,0x06,0x40,
0x68,0x00,0x00,0xa1,0x01,0x00,0x84,0x06,0x00,0x10,0x1a,0x00,0xa2,0x49,0xe8,0xf5,
0xdc,0xa9,0xbe,0x55,0x00,0x60,0x09,0xb5,0x78,0x02,0x42,0x07,0x0b,0xe9,0xee,0x2e,
0xf6,0x3e,0x5f,0xbe,0xcc,0xaa,0x39,0x70,0x5a,0x9c,0xcd,0x9c,0x75,0x94,0xdb,0x11,
0x61,0xa8,0xe5,0xb8,0x73,0xa3,0x96,0x2f,0xff,0xf9,0xa7,0x7e,0x7a,0x1f,0x2a,0x33,
0xcd,0x60,0xd6,0x7b,0xc4,0xd9,0x4a,0x4b,0xc1,0x41,0x48,0x7a,0xdb,0xf5,0xff,0xac,
0x1a,0x7e,0x85,0xae,0x42,0x8d,0xd7,0x8a,0x53,0xae,0x1d,0x82,0xa5,0xed,0xc3,0xd3,
0x7d,0xd4,0xd7,0x66,0xfd,0x21,0xb8,0x3e,0xb4,0xd8,0x80,0x7f,0xcb,0x74,0x80,0xd0,
0xcd,0x36,0x3f,0x52,0x24,0xcb,0xea,0xa3,0x36,0x27,0x37,0x84,0x1d,0xfc,0xbd,0xed,
0x9d,0xdc,0xd6,0x0e,0x9f,0x7e,0x6e,0x41,0x44,0x9e,0x5a,0x61,0x5e,0x92,0x22,0x9a,
0x77,0x34,0xe2,0xe3,0x19,0x8b,0x06,0x85,0xea,0x99,0x6b,0x16,0xbb,0x60,0x67,0x6a,
0xb7,0x21,0x3c,0x08,0x0d,0xbb,0xd5,0xb2,0x67,0x91,0x99,0xc3,0x17,0x29,0xe7,0x21,
0x42,0xab,0x60,0x09,0x3a,0x8e,0xee,0xbb,0x9a,0x07,0x2d,0x76,0x81,0x45,0x83,0x40,
0xeb,0xa0,0xeb,0x90,0x76,0x3f,0x7e,0x10,0x1a,0x16,0x4e,0x94,0xca,0x11,0xef,0xf8,
0x11,0x69,0x42,0xb7,0x11,0x4b,0x10,0x8b,0x04,0xa1,0xbd,0x27,0x8d,0x9b,0xd5,0x55,
0xa0,0x2e,0x40,0xe8,0x80,0x06,0x0d,0x9a,0x66,0x0b,0x2d,0x0f,0x03,0x4d,0x98,0x40,
0x68,0xcf,0x4c,0xa3,0x7f,0x7c,0x82,0xba,0x00,0xa1,0x5b,0x2f,0x5e,0x3d,0x79,0xe2,
0x8b,0x48,0xf9,0xe6,0x6b,0x1e,0x10,0x3a,0x9c,0xb4,0x96,0x74,0x4b,0xd6,0x7a,0x6e,
0x35,0x2d,0x33,0x23,0x6d,0x14,0x1d,0x07,0xa1,0xa3,0x1b,0x0f,0x81,0xba,0x00,0xa1,
0x03,0xe4,0x38,0xba,0x21,0x22,0x62,0x17,0x20,0x74,0x70,0x0d,0x36,0x3f,0x10,0xd1,
0xdf,0xd7,0x2b,0x5d,0x4f,0x6d,0xa2,0x45,0x91,0x91,0xac,0x06,0xa1,0xdb,0x5b,0x87,
0x88,0x00,0x54,0x06,0xa1,0xdb,0x4c,0x87,0x98,0x01,0xcb,0x53,0x80,0xd0,0x6d,0xac,
0x43,0x60,0x92,0x41,0xe8,0x76,0xa5,0x35,0x55,0x3e,0x49,0x92,0xf4,0xe6,0xaa,0x93,
0x7d,0x7e,0xe7,0x46,0x4d,0x92,0x24,0x84,0x93,0x41,0x68,0x00,0xb0,0x06,0x7a,0xdb,
0x01,0x20,0x34,0x00,0x80,0xd0,0x00,0x00,0x42,0x03,0x00,0x08,0x0d,0x80,0xd0,0x00,
0x00,0x42,0x03,0x00,0x08,0x0d,0x00,0x20,0x34,0x00,0x80,0xd0,0x00,0x08,0x0d,0x00,
0x20,0x34,0x00,0x80,0xd0,0x00,0x00,0x42,0x03,0x00,0x08,0x0d,0x80,0xd0,0x00,0x00,
0x42,0x03,0x00,0x08,0x4d,0x70,0xb6,0x92,0x71,0xf3,0xd7,0x3f,0x3e,0xab,0x54,0xcf,
0x2a,0x55,0xb5,0x78,0x42,0x6f,0x5a,0x72,0xa1,0xdc,0x2f,0xcd,0xad,0x3f,0x0b,0x5b,
0x3f,0x09,0xe0,0x1d,0x69,0x44,0xeb,0xa7,0x60,0xd1,0x72,0xd3,0x76,0xd7,0xb3,0xa1,
0x5f,0x59,0xae,0x7c,0x4a,0x2d,0xb6,0x38,0x1b,0x88,0xcc,0xed,0xa3,0x49,0xaf,0x47,
0xfb,0x5b,0x9a,0xa6,0xe9,0x3f,0x97,0x65,0x79,0x70,0x7c,0x86,0xb3,0x87,0xb5,0x9d,
0x83,0xa3,0xfd,0x2d,0xc1,0x33,0x1a,0x1c,0x9f,0xe1,0x9f,0xcb,0x59,0xa5,0x3a,0x37,
0x3d,0xa9,0x69,0xda,0xca,0xe6,0x9e,0x83,0xf5,0x5e,0x0d,0xcf,0xc2,0xf2,0x14,0x08,
0x23,0x23,0x23,0x92,0x24,0xcd,0x2f,0x3f,0xe1,0x6c,0xb6,0xb6,0x73,0xb0,0x34,0x3b,
0xe1,0xec,0xd8,0x3c,0x44,0xeb,0xd7,0xfa,0x26,0xc2,0xe5,0xcb,0x97,0xa5,0xf3,0x0b,
0xf1,0x0e,0x5a,0xb4,0xe4,0xfa,0x6a,0xa1,0x96,0x51,0xaa,0x9c,0xee,0x44,0xeb,0xb9,
0xd3,0x7c,0x99,0x37,0xfb,0x3a,0x7d,0x75,0xca,0xbf,0x97,0x6a,0xf1,0xe4,0xe9,0xf2,
0x83,0x3a,0x2a,0x13,0x34,0x4d,0xa3,0xcf,0x5f,0xe6,0x4b,0x86,0x3b,0x69,0x1c,0x03,
0x7c,0xf0,0x9b,0x19,0x64,0xd5,0x1c,0xed,0x6d,0x69,0x76,0xa2,0xbf,0xaf,0x64,0x6b,
0x8e,0xad,0x5a,0x3c,0x19,0x4d,0x27,0xf5,0x3c,0x66,0xc7,0x4f,0xfb,0x94,0x65,0x79,
0x63,0x7b,0xd7,0xf0,0xbf,0x9f,0x55,0xaa,0xb4,0xcd,0xe0,0xf8,0x5b,0xce,0xd0,0x5d,
0x9a,0x9d,0x08,0xc2,0xd3,0x3e,0x40,0x8b,0xd7,0xaf,0xe7,0x4e,0x05,0xe7,0xf4,0x67,
0xd5,0x9c,0xad,0x3d,0x53,0xd3,0x4e,0xc3,0xaf,0xf8,0x6b,0xb5,0x9f,0x55,0xaa,0x8c,
0xcd,0x64,0xcc,0x32,0xca,0x10,0x3b,0x06,0x4b,0xeb,0xbb,0xb1,0xbd,0xdb,0x78,0xa8,
0x74,0xe3,0x57,0x36,0xf7,0x6c,0xb1,0xb9,0xd1,0x0a,0x88,0x13,0x9a,0xb1,0x99,0x9d,
0x02,0xfb,0x47,0x6c,0xb8,0x6a,0x9a,0x36,0x37,0x3d,0x79,0x78,0x78,0xe8,0xe0,0xc6,
0x31,0x36,0xcb,0xb2,0xdc,0xfa,0xa5,0xc2,0xbf,0xb6,0x1a,0x8f,0x9f,0xbd,0xf8,0xeb,
0xdc,0x7f,0xe8,0xf5,0xf8,0xd9,0x0b,0xcb,0xed,0x3f,0x7c,0xfa,0xf2,0xcf,0x7f,0x6b,
0xec,0x27,0x1f,0x3e,0x7d,0xe1,0x6c,0x69,0xb9,0x8d,0xe5,0xb1,0x75,0x74,0x74,0x74,
0x74,0x74,0x98,0x1d,0xd8,0x87,0x4f,0x5f,0x6c,0xed,0xfc,0x55,0xe1,0x1d,0xed,0xf0,
0x55,0xe1,0x9d,0xad,0x23,0xf9,0xf0,0xe9,0xcb,0xf0,0xf0,0x70,0xc7,0x35,0x86,0x87,
0x87,0xc5,0x7f,0xc8,0x7e,0x65,0x76,0xa8,0xaf,0x0a,0xef,0x1e,0x3f,0x7b,0x61,0xf6,
0x2d,0xdb,0x83,0xe1,0x45,0x60,0x67,0x34,0x3c,0x3c,0xec,0xf8,0x3a,0x7b,0x88,0x60,
0x45,0x39,0xde,0x5c,0x75,0x5a,0x3a,0x16,0x59,0x35,0xe7,0xa6,0xe3,0x96,0x2d,0xd1,
0x49,0x36,0x98,0x63,0x78,0x12,0xf1,0x58,0x73,0xda,0xc4,0x94,0xce,0x2f,0xe8,0x41,
0x41,0xa6,0x5d,0xd3,0x34,0x41,0xef,0x90,0xba,0xe9,0x91,0x2e,0x32,0x3b,0x54,0x25,
0xd5,0xb3,0x30,0x35,0xe6,0xe0,0x44,0xce,0x2a,0x55,0x66,0xfb,0xcd,0x14,0x4b,0xa4,
0xc3,0x76,0xf9,0xf2,0x25,0x5f,0x4e,0x9c,0x55,0xaa,0x96,0x1d,0x89,0x3c,0xc4,0xb5,
0x76,0x9c,0x69,0xf9,0x95,0x79,0xba,0xfc,0x80,0x78,0xc3,0x34,0x0f,0xdf,0xd9,0xad,
0x73,0x51,0x64,0x59,0xe6,0x8b,0x2b,0x67,0x03,0x7e,0x6e,0x7a,0x32,0x50,0x6c,0x0e,
0x16,0xa1,0x17,0x07,0x3a,0xc9,0xcf,0xe3,0x18,0x69,0xa2,0x7b,0xba,0xbb,0x2b,0xdd,
0xdd,0x25,0xb8,0x5b,0xf1,0x2d,0x03,0x0b,0x76,0x41,0x06,0xc7,0x67,0x12,0xf1,0x18,
0x19,0xe9,0xa3,0xfd,0x2d,0x91,0x30,0x19,0x13,0xfa,0xde,0x12,0x8e,0x85,0x5c,0x28,
0xfa,0x11,0x9c,0x6e,0x66,0x41,0x21,0x74,0xba,0xbb,0x8b,0xf9,0x6d,0x66,0x46,0x9a,
0x99,0xe7,0x3b,0x37,0x6a,0xd4,0x50,0xcb,0x6f,0x50,0x34,0x40,0x3c,0xf4,0xe6,0xb7,
0xde,0xd0,0xbb,0xb6,0x22,0xf1,0x13,0x5d,0x80,0x62,0xc6,0x27,0x36,0xaf,0x6c,0xee,
0x05,0xaa,0xa7,0x59,0x80,0x2c,0x74,0xf2,0xd6,0x4d,0x32,0xd2,0x66,0x4a,0x9a,0x99,
0xe7,0x8c,0x32,0x64,0x16,0xb5,0xf0,0x49,0x78,0xb4,0x36,0x65,0xb0,0x9e,0x3b,0xa5,
0xd1,0x45,0xd4,0xc9,0x28,0x43,0x34,0xd2,0xec,0x46,0x7b,0xbc,0x82,0x9e,0xcd,0xad,
0x0f,0x6b,0x04,0x59,0x43,0x93,0x40,0x34,0x54,0xd2,0x67,0x95,0x2a,0xb5,0x3c,0xbc,
0x73,0xa3,0xe6,0xcc,0x7d,0x51,0x8b,0x27,0xec,0x25,0x42,0xd0,0x44,0x3c,0xc6,0x0c,
0xdb,0xdc,0xf4,0xa4,0xfb,0x14,0x9d,0x63,0x73,0xf8,0xfa,0xe1,0xb0,0xde,0xca,0xb2,
0xd3,0x5f,0x9a,0x9d,0x68,0xfe,0x48,0x5b,0xdb,0x39,0x08,0x2c,0x9b,0xa5,0x40,0xc5,
0xa1,0xe9,0x56,0x2d,0x0e,0x74,0xae,0x16,0x6a,0x6f,0xae,0x3a,0x33,0x95,0x6f,0x32,
0x26,0x59,0x35,0x47,0x29,0x12,0xe6,0x15,0x89,0x3b,0xf8,0x86,0x8b,0xfd,0x88,0x74,
0x65,0xce,0x28,0x43,0x47,0xb2,0x7c,0x9d,0x7f,0x48,0xae,0x6c,0xee,0xf5,0xf7,0xf5,
0x36,0xb9,0x01,0x2e,0x1b,0xdb,0xfa,0x87,0xd2,0xfc,0xf2,0x13,0x4d,0x4b,0xd2,0x39,
0x36,0xf3,0x60,0xd4,0xe2,0x09,0x8b,0xa3,0x8b,0xdf,0x88,0xe8,0x5a,0x68,0x33,0x23,
0xcd,0xd4,0xf3,0xe2,0x40,0xa7,0xdd,0xfb,0x97,0x2f,0x5f,0x12,0x9b,0xc9,0x95,0x64,
0x0e,0xe5,0x6a,0xa1,0x76,0xef,0x79,0x81,0x6f,0xe1,0x12,0xf1,0xd8,0xc6,0xf6,0x2e,
0x4b,0x82,0x2c,0xcd,0x4e,0x8c,0xa6,0x93,0x73,0xd3,0x93,0x23,0x23,0x23,0x4d,0x36,
0xd8,0x75,0x61,0x0a,0xf6,0x5e,0x30,0xd6,0xe1,0x09,0x8e,0xf6,0xb7,0x28,0xd8,0xe2,
0x87,0x97,0x19,0x5a,0x42,0x93,0x91,0xae,0x53,0xd2,0x8c,0xdc,0xb6,0xac,0x02,0xbb,
0xeb,0x8b,0x03,0x9d,0xc7,0x8f,0x14,0xf5,0x5f,0xff,0xa0,0xd7,0xaf,0x3f,0x0d,0x64,
0xef,0xa6,0x88,0xeb,0xf7,0x9e,0x17,0x2c,0x8f,0x67,0x61,0x6a,0xec,0xfd,0xc7,0xcf,
0x2b,0x9b,0x7b,0xfa,0x8c,0xf1,0x68,0x3a,0x39,0x32,0x32,0xb2,0xb6,0x73,0xe0,0xb7,
0xde,0x20,0x97,0x94,0xe2,0x1b,0xad,0x75,0x58,0x59,0x9e,0xbc,0x55,0x6a,0xa7,0x2d,
0x09,0xad,0x37,0xd2,0xa4,0x19,0x1c,0x9b,0xe7,0x44,0x3c,0x76,0xfc,0x48,0x39,0x7e,
0xa4,0xd4,0x65,0x0d,0x12,0xf1,0x98,0x92,0xea,0x61,0x9c,0x16,0xb1,0xb5,0x44,0xeb,
0x8d,0xed,0xdd,0x97,0xf9,0x92,0x9e,0xd9,0x4b,0xb3,0x13,0xca,0x2f,0xbf,0xf9,0x77,
0x6b,0x0d,0xe3,0x1b,0x7a,0x7d,0x2f,0x9e,0x61,0xf1,0x0a,0xec,0xf4,0xe7,0xa6,0x27,
0x03,0xc8,0xe9,0x20,0x12,0x9a,0x19,0xe9,0xf5,0xdc,0x29,0xd5,0x88,0xb1,0xe0,0x86,
0x83,0x5d,0x71,0xd2,0x63,0xec,0xbf,0x88,0xef,0x8d,0x92,0x6a,0x87,0x87,0x87,0x2f,
0xf3,0x25,0xba,0xaf,0xaf,0x1f,0x0e,0xfb,0x17,0x6d,0x60,0xf9,0x94,0xc6,0xd0,0x98,
0xdd,0x0c,0x8b,0x27,0x78,0x99,0x2f,0x2d,0x4c,0x8d,0xb1,0xb1,0xd4,0xaa,0x30,0x4b,
0x9b,0x11,0x5a,0x6f,0xa4,0xef,0x3d,0x2f,0xb8,0x09,0x6e,0xf0,0x41,0x66,0x2f,0x5f,
0xbe,0x74,0x60,0x69,0x94,0x54,0xcf,0xc6,0xf6,0x2e,0x71,0x7a,0x69,0x76,0xc2,0x0f,
0x33,0xc9,0x8f,0x22,0x27,0xe2,0x31,0xa6,0x3a,0x9a,0x63,0x29,0xd9,0xb8,0x5a,0x98,
0x1a,0xf3,0xf5,0xc4,0x43,0x48,0x68,0x66,0xa4,0x99,0x4b,0x17,0x40,0x9f,0x5a,0x1f,
0xd7,0xf3,0xc3,0x4c,0xb2,0x28,0x8d,0x74,0x5d,0x62,0x5f,0xf7,0x62,0xd2,0x56,0xbf,
0xa5,0x7f,0xd0,0x8f,0x2b,0x36,0x98,0x9f,0x2e,0x3f,0x08,0x94,0xf0,0x08,0xee,0x14,
0xac,0x8c,0x32,0xc4,0xb2,0xd6,0x0e,0x82,0x1b,0xcd,0x7c,0x92,0xf8,0xaa,0x37,0xc8,
0x10,0xfe,0xf8,0xc3,0xf7,0x8d,0x2f,0xe6,0xa2,0x99,0x0d,0x27,0xff,0x2e,0x5a,0x22,
0x1e,0x9b,0x5f,0x7e,0x42,0xc3,0x89,0x2a,0x3a,0x40,0x68,0xeb,0x4b,0x46,0xf9,0x6d,
0x67,0xea,0xb9,0xdd,0xc1,0xf4,0x86,0x08,0x38,0x31,0x07,0xff,0x82,0x21,0x4a,0xaa,
0x87,0x95,0xfe,0xf9,0x1d,0xed,0x09,0x03,0xa1,0xc9,0xfe,0x65,0xef,0xa6,0x6c,0x4d,
0xcd,0xb2,0x05,0x72,0x07,0xd3,0xdd,0x5d,0x8e,0xf7,0xef,0xdf,0xb3,0x9e,0xf9,0x5b,
0x2b,0x9b,0x7b,0xef,0x3f,0x7e,0x36,0x7b,0xb1,0x18,0xb9,0xd9,0x91,0x30,0x9d,0xe0,
0x87,0x30,0x08,0xa0,0x98,0x0e,0x34,0xa1,0x29,0xaa,0xe0,0x13,0x9b,0xcf,0x2a,0x55,
0x52,0xe7,0x6e,0xea,0x9c,0x98,0x2a,0xf0,0xfc,0x19,0xc2,0x4a,0xb1,0x29,0x9d,0x69,
0xf6,0x12,0x8c,0x75,0xf8,0xa7,0xb3,0x99,0x98,0x1e,0x4d,0x27,0x83,0x20,0xa6,0xc3,
0xdc,0xc6,0x80,0xca,0x36,0xcc,0xd8,0x4c,0x29,0x15,0xbe,0x9e,0x51,0x8b,0x27,0x6b,
0x3b,0x07,0x66,0xf7,0x49,0x5f,0xd5,0xe0,0x79,0x71,0xa6,0xa0,0x0e,0xd6,0xc7,0x3a,
0xcc,0x8c,0x28,0xbd,0x19,0x4d,0x27,0x0d,0xaf,0xc6,0x59,0xa5,0xba,0xb6,0x73,0xe0,
0x38,0xf7,0xc9,0xc4,0xb4,0x24,0x49,0x41,0x10,0xd3,0x1d,0x61,0x65,0x33,0x9b,0x48,
0x9b,0xce,0x9d,0xd2,0x0a,0xc4,0xfa,0xa7,0x39,0x9b,0x25,0x70,0x7f,0xe8,0x36,0x67,
0x8e,0x2d,0x4d,0xc7,0x58,0xd2,0xcd,0x8e,0x66,0xe6,0x90,0x4d,0x80,0xd5,0x17,0xdd,
0x7b,0xa8,0x37,0x58,0xa9,0xb1,0x48,0xf0,0x81,0x72,0x78,0x6a,0xf1,0xc4,0xb0,0x92,
0xf3,0x65,0xbe,0x44,0x13,0x07,0x47,0xd3,0x7f,0x96,0xa3,0x90,0x4a,0xd1,0x9f,0x08,
0x67,0x0e,0xac,0x88,0x98,0x5e,0x9a,0x9d,0x20,0x31,0x1d,0xf5,0x59,0xdf,0xfe,0x81,
0xea,0x9c,0xf4,0xb5,0x1c,0xfa,0x12,0x25,0x5a,0x6a,0x9b,0x73,0x0b,0xa9,0x94,0x9e,
0x6a,0x71,0xf4,0x59,0xdf,0x3a,0x97,0xcb,0x8f,0xc9,0x1a,0x4c,0x6f,0x88,0x4c,0x33,
0xc9,0x28,0x43,0x4b,0xd7,0xc3,0xcc,0xf0,0x74,0x94,0x54,0x4f,0x72,0x7b,0x97,0x6a,
0x3e,0xcd,0xe6,0x66,0xbb,0x1c,0x96,0x0b,0x53,0x63,0x47,0xfb,0xb2,0xa6,0x69,0x47,
0xfb,0x5b,0xb6,0x66,0xfb,0x86,0x90,0xd0,0xfd,0x7d,0xbd,0x52,0xa1,0xc8,0xb1,0x94,
0x86,0x48,0xde,0xba,0x99,0xee,0xee,0xe2,0x64,0x5b,0x28,0x59,0x9d,0x51,0xfe,0x58,
0x70,0x9b,0xad,0xb6,0x4d,0xa1,0x40,0xc1,0x55,0xe3,0x17,0xa6,0xc6,0xfa,0xfb,0x4a,
0x64,0xc6,0x24,0x5d,0x4d,0xbd,0x60,0x3b,0x0b,0xc3,0xc3,0x16,0x61,0x2a,0x19,0xdd,
0xc6,0xfa,0x0d,0xfe,0xc0,0xe3,0xd4,0x88,0x53,0x95,0x55,0x9d,0x49,0x96,0x8c,0xe6,
0x81,0x73,0x54,0x0d,0x9f,0xf1,0x1b,0xdb,0xbb,0x3f,0xfe,0xf0,0x7d,0xcb,0xe9,0x84,
0xb5,0xbe,0x6d,0x2b,0x99,0x60,0x46,0xc4,0x71,0x7d,0x40,0x68,0x20,0x84,0x40,0xb3,
0x46,0x20,0x54,0xf8,0x3f,0x96,0xc0,0x66,0x1b,0x5c,0xbd,0x1b,0xb3,0x00,0x00,0x00,
0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82};
@@ -17,14 +17,13 @@ typedef struct myprivate
bool bConvert; bool bConvert;
} PRIVATE; } PRIVATE;
int PNGDraw(PNGDRAW *pDraw) void PNGDraw(PNGDRAW *pDraw)
{ {
PRIVATE *pPriv = (PRIVATE *)pDraw->pUser; PRIVATE *pPriv = (PRIVATE *)pDraw->pUser;
uint16_t usPixels[320]; uint16_t usPixels[240];
if (pPriv->bConvert) if (pPriv->bConvert)
png.getLineAsRGB565(pDraw, usPixels, PNG_RGB565_LITTLE_ENDIAN, 0xffffffff); // don't do alpha color blending png.getLineAsRGB565(pDraw, usPixels, PNG_RGB565_LITTLE_ENDIAN, 0xffffffff); // don't do alpha color blending
return 1;
} /* PNGDraw() */ } /* PNGDraw() */
void setup() { void setup() {
@@ -46,13 +45,9 @@ PRIVATE priv;
priv.bConvert = false; priv.bConvert = false;
lTime = micros(); lTime = micros();
rc = png.decode((void *)&priv, PNG_FAST_PALETTE); rc = png.decode((void *)&priv, PNG_FAST_PALETTE);
if (rc == PNG_SUCCESS) {
lTime = micros() - lTime; lTime = micros() - lTime;
sprintf(szTemp, "Decode time for native pixels = %d us\n", (int)lTime); sprintf(szTemp, "Decode time for native pixels = %d us\n", (int)lTime);
Serial.print(szTemp); Serial.print(szTemp);
} else {
Serial.print("Decode error: "); Serial.println(rc, DEC);
}
priv.bConvert = true; priv.bConvert = true;
lTime = micros(); lTime = micros();
rc = png.decode((void *)&priv, PNG_FAST_PALETTE); rc = png.decode((void *)&priv, PNG_FAST_PALETTE);
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,807 +0,0 @@
//
// octocat_32bpp
// Data size = 12735 bytes
//
// PNG, Compression=Flate, Size: 240 x 200, 32-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t octocat_32bpp[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xc8,0x08,0x06,0x00,0x00,0x00,0xd6,0x7c,0x6c,
0x52,0x00,0x00,0x00,0x06,0x62,0x4b,0x47,0x44,0x00,0xff,0x00,0xff,0x00,0xff,0xa0,
0xbd,0xa7,0x93,0x00,0x00,0x20,0x00,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x77,
0x78,0x1c,0xd5,0xb9,0xff,0x3f,0x33,0xb3,0x4d,0xab,0xb6,0x6a,0xb6,0xaa,0x67,0x6d,
0xd9,0x72,0x05,0x0c,0xd8,0x18,0xb0,0x0d,0xa6,0x07,0x08,0x25,0x09,0x10,0x12,0xd2,
0x08,0x4a,0xc2,0x25,0x9d,0x24,0xa4,0x91,0x9b,0x9b,0x5f,0xca,0x4d,0x42,0x92,0x9b,
0xe4,0x92,0x0b,0x09,0xe2,0x86,0x70,0x93,0x00,0xa1,0x27,0x10,0x6a,0x42,0x2f,0xc1,
0x80,0x01,0x03,0x96,0xe5,0xb6,0xe3,0x22,0xab,0x6b,0xd5,0x56,0xdb,0x66,0xe6,0xf7,
0xc7,0x8c,0x64,0xc9,0x96,0xad,0x5d,0xd5,0x2d,0xe7,0xfb,0x3c,0xf3,0x48,0x5a,0xed,
0x94,0x73,0xe6,0xfd,0x9e,0xf7,0x9c,0xf7,0xbc,0x05,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x04,0x04,0x92,0x80,0x94,0xed,0x1d,0xe0,0x57,0x55,0x2f,0xe0,0xb4,
0xfb,0x42,0x97,0x24,0x29,0xba,0x2b,0x10,0x88,0x08,0xd1,0x98,0x5d,0xcc,0xf7,0xfb,
0x5d,0xa6,0x69,0xba,0x00,0x87,0xfd,0x51,0x5c,0x51,0x94,0xd0,0x8e,0x9d,0x3b,0x0d,
0xd1,0x3b,0x82,0xc0,0x43,0xe4,0x3d,0x0b,0xb8,0x17,0xc8,0x1f,0x12,0x12,0xa0,0x03,
0xd8,0x03,0xbc,0x09,0xbc,0x0c,0x3c,0x1b,0xd0,0xb4,0x6d,0x42,0x54,0xa6,0xfd,0x5d,
0x54,0x03,0x6b,0xed,0x63,0x25,0x30,0x1f,0x28,0x03,0xdc,0xf6,0x57,0x06,0x81,0xff,
0x08,0x68,0xda,0x4f,0x45,0x6f,0x09,0x02,0x0f,0x09,0xcd,0xdd,0xc0,0x25,0xe3,0x7c,
0x4d,0x07,0x76,0x01,0xf7,0x03,0x77,0x06,0x34,0xed,0x75,0x21,0x36,0x53,0xd6,0xff,
0xf3,0x81,0x0f,0xd9,0xef,0x60,0x39,0xe0,0x1a,0xe7,0x94,0x00,0xb0,0x20,0xa0,0x69,
0xa6,0xe8,0xbd,0x2c,0x27,0xb0,0x5f,0x55,0xf3,0x6d,0x6d,0xeb,0x4a,0xf2,0xd4,0x77,
0x80,0xdf,0x01,0xb7,0x07,0x34,0x2d,0x28,0x44,0x28,0xe9,0x7e,0xf7,0x00,0xef,0x03,
0xae,0x06,0x4e,0x99,0xc0,0x25,0xd6,0x06,0x34,0xed,0x45,0xd1,0x93,0x16,0xe4,0x2c,
0x6e,0xfb,0x85,0x13,0x20,0x2f,0xb6,0xa6,0xf8,0x15,0xb0,0xc7,0xaf,0xaa,0x37,0xfa,
0x55,0x75,0xa1,0x10,0xa3,0x84,0x88,0x5b,0xe6,0x57,0xd5,0xef,0x00,0x3b,0x81,0x3f,
0x4f,0x90,0xbc,0x24,0x30,0x63,0x12,0x1a,0x38,0x4b,0x04,0xea,0x2f,0xc0,0xa5,0x53,
0x70,0xa9,0x28,0x70,0x0f,0xf0,0xff,0x02,0x9a,0xb6,0x55,0x88,0xd4,0xa1,0xc4,0x05,
0xbe,0x0e,0x7c,0x7a,0x84,0xad,0x61,0x32,0xd8,0x0a,0x2c,0x0f,0x68,0x9a,0x2e,0x7a,
0x37,0x4b,0x09,0xec,0x57,0x55,0x07,0xb0,0x1f,0x28,0x9d,0xc2,0xcb,0xea,0xc0,0x1f,
0x80,0xef,0x06,0x34,0x6d,0xaf,0x20,0xae,0x5a,0x00,0x7c,0x15,0xb8,0x16,0xc8,0x9d,
0xe2,0xcb,0x2f,0x08,0x68,0xda,0x2e,0x41,0xdf,0xec,0x9d,0x42,0x1f,0x35,0xc5,0xe4,
0x05,0x50,0x80,0x4f,0x02,0x4d,0x7e,0x55,0xfd,0x81,0xbd,0xc6,0xce,0xca,0xc1,0xd1,
0xaf,0xaa,0x9f,0x01,0xb6,0x01,0xdf,0x99,0x06,0xf2,0x02,0x9c,0x2e,0xa8,0x6b,0xc1,
0x91,0xa5,0xed,0x3e,0x79,0x1a,0xaf,0x9d,0x03,0x7c,0x1b,0xf8,0x84,0x5f,0x55,0xaf,
0x0b,0x68,0xda,0x9f,0xa7,0x91,0x2c,0x25,0x40,0x89,0x3d,0x35,0xcd,0xb3,0x0f,0x8f,
0xfd,0x5e,0x1d,0xf6,0xa0,0x12,0xb3,0x67,0x07,0x31,0x60,0x00,0x08,0x01,0x7d,0x40,
0x37,0xd0,0x15,0xd0,0xb4,0xfe,0x29,0x7c,0x9e,0xf5,0xc0,0x7f,0x03,0xc7,0x4c,0xf3,
0xfb,0x3b,0x09,0xb8,0x55,0xd0,0x37,0x7b,0x09,0xbc,0x7a,0x06,0xee,0x51,0x05,0xfc,
0xc9,0xaf,0xaa,0x57,0x01,0x57,0x27,0xb3,0x97,0xec,0x57,0x55,0x09,0x6b,0xff,0xb3,
0x1a,0x58,0x0a,0x2c,0x02,0xfc,0x40,0x0d,0xa0,0xda,0x9f,0x17,0x8f,0x98,0x41,0x25,
0xbb,0x14,0x1a,0xda,0x86,0x31,0xfd,0xaa,0x1a,0x03,0x9a,0x81,0xbd,0x58,0xfb,0xdf,
0x3b,0x81,0x1d,0x40,0x13,0xb0,0x05,0xe8,0x0b,0x68,0x5a,0x3c,0x81,0x81,0xe4,0x67,
0xc0,0xc7,0x67,0x68,0x59,0x76,0x82,0xa0,0x6e,0x76,0xaf,0x81,0x5f,0x07,0x8e,0x9d,
0xc1,0x5b,0x86,0x81,0xef,0x01,0x3f,0x0f,0x68,0x5a,0x6c,0x8c,0xe7,0x29,0x05,0x96,
0xd9,0x82,0x79,0x1c,0xb0,0xc2,0x26,0xad,0x27,0x05,0xba,0x6b,0xaf,0x4d,0xe6,0xd7,
0x81,0x8d,0xf6,0xcf,0x5d,0x43,0x46,0x24,0xbf,0xaa,0x5e,0x0e,0xfc,0x1a,0xcb,0xe9,
0x62,0xa6,0xa0,0x03,0x6e,0x61,0xc8,0xca,0x42,0x02,0xfb,0x55,0x35,0xc7,0xd6,0x34,
0x25,0xb3,0x70,0xfb,0x57,0x81,0x2b,0x81,0x16,0x60,0x83,0x7d,0x9c,0x0a,0xd4,0xda,
0x53,0xef,0x74,0x80,0x89,0x65,0x00,0xfc,0x97,0x3d,0xc0,0x9c,0x3b,0x4b,0xcf,0xb1,
0x34,0xa0,0x69,0x8d,0x62,0x0a,0x9d,0x7d,0xc8,0x9b,0x25,0xf2,0x02,0xac,0x02,0x36,
0xd9,0x03,0xa7,0x92,0xc6,0x83,0x7e,0x25,0x96,0x33,0xc6,0x6c,0x62,0x01,0x20,0x08,
0x9c,0x85,0x6d,0xae,0x14,0x7d,0x9e,0x11,0xa8,0x11,0x5d,0x90,0x9d,0xdb,0x48,0x73,
0xc4,0x6b,0xcf,0x08,0x94,0x88,0x2e,0xc8,0x4e,0x02,0x17,0x8a,0xd7,0x9e,0x11,0xf0,
0x89,0x2e,0xc8,0x4e,0x02,0xbb,0xc5,0x6b,0x17,0xef,0x51,0x10,0x38,0x7d,0xa1,0x88,
0xd7,0x2e,0xde,0xa3,0x20,0x70,0xfa,0x42,0x64,0xdb,0xc8,0x0c,0x44,0x45,0x17,0x64,
0x27,0x81,0x07,0xc4,0x6b,0xcf,0x08,0xf4,0x8b,0x2e,0xc8,0x4e,0x02,0xb7,0x89,0xd7,
0x9e,0x11,0xe8,0x14,0x5d,0x90,0x9d,0x04,0x6e,0x16,0xaf,0x3d,0x23,0xb0,0x5f,0x74,
0x41,0x76,0x12,0x38,0x28,0xa6,0x5f,0x19,0x81,0x1d,0xa2,0x0b,0xb2,0x77,0x0d,0xbc,
0x5b,0xbc,0xfa,0xb4,0x47,0xa3,0xe8,0x82,0x2c,0x24,0xb0,0x9d,0xd1,0x70,0xb3,0x78,
0xf5,0x69,0x8d,0xed,0x01,0x4d,0x13,0xc6,0x48,0xb2,0x37,0x23,0x87,0xc8,0x6a,0x28,
0xde,0x9f,0x20,0x70,0x1a,0xe3,0x69,0x0e,0x04,0xb5,0x0b,0xa4,0x1f,0xfe,0x21,0xba,
0x20,0x8b,0x09,0x1c,0xd0,0xb4,0xb7,0xb0,0x62,0x82,0x05,0x04,0x04,0x81,0xd3,0x14,
0x77,0x89,0xd7,0x9f,0xb6,0xb8,0xd5,0xaf,0xaa,0xe7,0x8b,0x6e,0xc8,0x6e,0x02,0x17,
0x89,0xd7,0x9f,0xb6,0x70,0x00,0x77,0xf9,0x55,0x75,0x8d,0x20,0x70,0x16,0xc2,0xaf,
0xaa,0xd7,0x01,0xf5,0x82,0x07,0x69,0x8d,0x5c,0xe0,0x41,0xbb,0x28,0x5a,0xd6,0x22,
0x1b,0x73,0x62,0x9d,0x07,0xfc,0x2d,0xcb,0x67,0x1f,0x99,0x84,0x8d,0xc0,0xba,0x80,
0xa6,0x65,0x65,0x70,0x83,0x92,0x65,0xe4,0xf5,0x03,0x8f,0x93,0x3e,0x09,0xe4,0x04,
0xc6,0x47,0x15,0x50,0x14,0xec,0xe9,0x79,0x44,0x10,0x38,0xb3,0xc9,0xeb,0x00,0xfe,
0x0e,0x88,0x62,0x64,0x99,0x87,0x55,0x3e,0x9f,0x6f,0x63,0xb0,0xa7,0x67,0xbb,0x58,
0x03,0x67,0x2e,0xae,0x03,0xd6,0x08,0x59,0xcf,0x58,0x39,0xbe,0x39,0x1b,0xcb,0xd9,
0x64,0x85,0x06,0xf6,0xab,0xea,0x62,0xe0,0x4e,0x44,0x46,0xc8,0x4c,0x46,0x21,0xe0,
0x09,0xf6,0xf4,0x3c,0x26,0x34,0x70,0xe6,0xe1,0x46,0x44,0x0e,0xa5,0x6c,0xc0,0xe7,
0xfd,0xaa,0xba,0x44,0x10,0x38,0xb3,0xb4,0xef,0xf9,0xc0,0x99,0x42,0xb6,0xb3,0x02,
0x0e,0xe0,0xa7,0xd9,0xd4,0x60,0x29,0xc3,0xc9,0x2b,0x03,0x6f,0x60,0x95,0x13,0x15,
0xc8,0x0e,0x18,0xc0,0x89,0x01,0x4d,0xdb,0x28,0x34,0x70,0xfa,0xe3,0x22,0x41,0xde,
0xac,0x83,0x0c,0x7c,0x5d,0x68,0xe0,0xf4,0xd7,0xbe,0x12,0xf0,0x3c,0xd3,0x5b,0x0b,
0x58,0x20,0x35,0x11,0x07,0x16,0x05,0x34,0x2d,0x20,0x34,0x70,0xfa,0xe2,0x38,0x41,
0xde,0xac,0x5e,0x0b,0x67,0x85,0xab,0x6c,0x26,0x13,0x58,0xf8,0x3a,0x67,0x37,0xae,
0xb4,0x67,0x61,0x82,0xc0,0x69,0x38,0x7d,0x76,0x02,0x1f,0x12,0x32,0x9c,0xd5,0xa8,
0xc4,0xaa,0xbd,0x2c,0x08,0x9c,0x86,0x38,0x0b,0x51,0xc4,0x4c,0x00,0xde,0x2f,0x08,
0x9c,0x9e,0xb8,0x58,0xc8,0xae,0x00,0x70,0x9e,0x20,0x70,0x7a,0xe2,0x6c,0x21,0xbb,
0x02,0x80,0xdf,0xaf,0xaa,0xb5,0x82,0xc0,0xe9,0xb5,0xfe,0xad,0x05,0xaa,0x85,0xec,
0x0a,0x60,0xf9,0xfa,0x9f,0x20,0x08,0x9c,0x5e,0x38,0x1e,0x51,0x7a,0x52,0xe0,0x00,
0x4e,0x16,0x04,0x4e,0x2f,0xac,0x12,0x32,0x2b,0x30,0x02,0xc7,0x08,0x02,0xa7,0x17,
0x56,0x08,0x99,0x15,0x18,0x81,0x5a,0xbf,0xaa,0xba,0x32,0xb5,0x71,0x19,0x15,0x1f,
0x6b,0x07,0x2f,0xa4,0x9c,0xd1,0x22,0x1a,0xd7,0x09,0xc5,0x74,0x62,0x86,0x89,0x53,
0x91,0x29,0xcc,0x71,0xe3,0x71,0x3a,0x88,0xc6,0xe3,0x74,0x87,0x22,0xc4,0x74,0x03,
0x09,0x70,0xc8,0x12,0x4e,0x59,0xc2,0xe5,0x50,0x70,0x28,0xf2,0xac,0xfb,0xb9,0x9a,
0x40,0x5c,0x37,0x88,0xc4,0x75,0xa2,0xba,0x81,0x6e,0x82,0x2c,0x4b,0x94,0x78,0x3d,
0x14,0xe6,0x7a,0xf0,0xb8,0x9c,0x98,0xa6,0x49,0xdf,0x60,0x84,0xfd,0xc1,0x7e,0xe2,
0xba,0x81,0xc7,0x21,0xe3,0x75,0x39,0x90,0xa5,0x94,0xf1,0xa1,0xa8,0x00,0xbc,0x64,
0x68,0x41,0xf0,0x4c,0x0b,0x70,0xf7,0x00,0x73,0x66,0x53,0xe0,0x9d,0x8a,0x8c,0x7f,
0x6e,0x09,0x6b,0x96,0x2e,0xa0,0xa2,0xb4,0x88,0xa2,0x7c,0x2f,0x79,0xde,0x1c,0x0a,
0x72,0xbd,0x38,0x14,0x19,0xcc,0x31,0x0a,0x42,0xd8,0xc2,0x1e,0xd7,0x0d,0x22,0xb1,
0x18,0xa1,0xc1,0x08,0x83,0x91,0x28,0xa6,0x69,0x12,0x8d,0xc7,0xe9,0x0b,0x85,0xe9,
0x1d,0x08,0x11,0x8f,0xeb,0xc4,0x74,0x83,0xe0,0x40,0x88,0xd6,0xae,0x5e,0x5a,0x3b,
0x83,0x0c,0x46,0xa3,0x98,0x26,0x18,0xa6,0x89,0x6e,0x98,0xe8,0x86,0x31,0xfc,0xf7,
0xd0,0xa5,0x65,0x49,0x42,0x96,0x24,0x1c,0x8a,0x8c,0x2c,0x49,0x48,0x12,0xb8,0x1c,
0x4e,0xca,0x4b,0x0a,0x99,0x5b,0x5c,0x48,0x51,0x9e,0xd7,0x1e,0x34,0x14,0x0a,0xf2,
0xbc,0xe4,0x7b,0x3d,0xb8,0x1c,0x16,0x09,0x73,0x3c,0x6e,0x72,0x73,0xdc,0xb8,0x9d,
0x4e,0x64,0x59,0x1a,0xfb,0xf9,0x47,0xb4,0x63,0x30,0x12,0xa3,0xbb,0xb7,0x8f,0x50,
0x24,0xca,0xbe,0xb6,0x4e,0x1a,0xf7,0xb4,0xb0,0x69,0xdb,0x6e,0xfa,0x07,0x23,0x48,
0xb3,0x43,0x6a,0xc9,0x26,0x71,0x30,0x13,0x09,0x9c,0x51,0xae,0x66,0x7e,0x55,0x2d,
0x66,0x16,0x0a,0x3f,0x47,0xe3,0x3a,0x6b,0x97,0x2d,0xe0,0x94,0x95,0x4b,0x58,0x50,
0x39,0x87,0xa2,0xfc,0xdc,0x61,0x02,0x01,0x98,0xc3,0x64,0x1a,0xdd,0xdd,0xe6,0x41,
0x64,0x48,0x54,0xc0,0x25,0x9b,0x2c,0x92,0x7d,0x8e,0x09,0xe8,0x86,0x41,0x4c,0xd7,
0xd1,0x75,0x03,0xd3,0x26,0x33,0x98,0xc8,0x92,0x8c,0x2c,0x4b,0x28,0xb2,0x8c,0x43,
0x51,0x50,0x14,0x19,0xd9,0xbe,0xb7,0x69,0x0f,0x3b,0x66,0x82,0x45,0x66,0x46,0x3e,
0xaf,0x24,0x49,0x63,0xb6,0xe7,0xe0,0xb6,0x4a,0x92,0x44,0x38,0x1a,0x63,0x77,0x6b,
0x07,0xaf,0x6e,0xd9,0xc9,0xc3,0xff,0x7a,0x9b,0x59,0xa8,0x6a,0x73,0x66,0x40,0xd3,
0x32,0xb2,0x1c,0x4b,0xa6,0x69,0xe0,0x19,0xf5,0xbe,0x32,0x0c,0x93,0x75,0x47,0xd5,
0x72,0xe1,0xba,0xe3,0xa9,0x2a,0x2d,0x1e,0x52,0xa4,0xb8,0x3d,0x6e,0xbc,0xde,0x1c,
0x72,0x3c,0x1e,0x5c,0x2e,0x27,0x4e,0xa7,0x13,0x45,0x51,0x90,0x64,0x69,0xd4,0x88,
0x69,0x9a,0x60,0x9a,0x06,0xba,0x61,0xa0,0xeb,0x06,0xba,0xae,0xa3,0xeb,0x3a,0xf1,
0xb8,0x4e,0x3c,0x1e,0xb7,0x0f,0xeb,0xf7,0x58,0x2c,0x8e,0x1e,0x8f,0x5b,0x1a,0xd6,
0x26,0xb1,0x39,0x74,0x11,0xfb,0x6f,0x97,0xa2,0x80,0x72,0x64,0x03,0xbc,0x69,0x18,
0xe8,0x63,0x90,0x52,0x96,0x65,0x1c,0x0e,0x07,0x0e,0x87,0x03,0xa7,0xd3,0x81,0xc3,
0xa1,0x0c,0xff,0xed,0xb0,0xb5,0xb3,0x32,0x7c,0xc8,0x36,0x41,0xa5,0x03,0x23,0x8a,
0x09,0x26,0x26,0x86,0x61,0x10,0x8f,0xc5,0x89,0x46,0x63,0x84,0x23,0x11,0x42,0xa1,
0x41,0xa4,0x81,0x10,0x8b,0xaa,0xcb,0xa9,0xab,0xa9,0xe0,0x3d,0x27,0x1e,0xc3,0xb3,
0x6f,0x6c,0xe1,0x8e,0xa7,0x5e,0xc5,0x21,0xcf,0x98,0xfe,0x28,0x15,0x6b,0xe0,0xf4,
0x80,0x6f,0xc6,0x46,0x0a,0xaf,0x87,0xab,0x2f,0x3e,0x9d,0x15,0xf3,0xab,0x91,0x24,
0x89,0xbc,0xbc,0x5c,0x8a,0x8b,0x8b,0x28,0xc8,0xcf,0xc3,0xe1,0x98,0x9e,0x5d,0xac,
0x21,0x0d,0x17,0x8f,0xeb,0xc3,0x64,0xd7,0x75,0x03,0xdd,0xd0,0x31,0x0c,0x03,0x43,
0x37,0x2c,0xcd,0x3f,0x42,0xbb,0x4a,0x48,0x96,0xb6,0x96,0x2c,0x2d,0x2c,0x2b,0x32,
0xb2,0x2c,0x0f,0x13,0xd1,0xa1,0x58,0x44,0x1d,0x4b,0xa3,0x4e,0x14,0x6e,0x97,0x8b,
0xdc,0xdc,0xd1,0xcf,0xdd,0x3f,0x10,0xa2,0xbb,0xdb,0x9a,0xc5,0x5e,0xb4,0x7e,0x15,
0xc7,0x2f,0x59,0xc0,0xef,0x1f,0x7e,0x86,0xad,0x7b,0xdb,0x32,0x6e,0x60,0x17,0x04,
0x9e,0xdc,0x1a,0x78,0xda,0xb1,0xb4,0x66,0x2e,0xff,0xf6,0xbe,0x33,0x29,0x2e,0xc8,
0xa3,0xb0,0xb0,0x80,0xf2,0xb9,0x65,0xe4,0xe4,0x4c,0xff,0xad,0x87,0x48,0xe6,0x72,
0xc9,0x80,0x33,0x7d,0xd6,0x69,0x92,0x44,0x7e,0x5e,0x2e,0xf9,0x79,0xb9,0x54,0x54,
0xcc,0xa5,0xad,0xad,0x03,0x49,0x92,0xf8,0xda,0x87,0xdf,0xcb,0x9d,0x4f,0xbe,0xc8,
0x13,0xaf,0x6d,0x99,0xee,0xf5,0xb1,0xb0,0x42,0x8b,0xf6,0x58,0x58,0xb3,0xc4,0xcf,
0x55,0x17,0x9c,0x46,0x41,0xae,0x97,0x79,0x35,0x95,0x14,0x14,0x64,0x5d,0x26,0xd3,
0x49,0xc1,0xe9,0x70,0x50,0x55,0x59,0x4e,0x49,0x71,0x11,0xda,0xee,0xbd,0x7c,0xf4,
0x3d,0xeb,0x29,0xf0,0xe6,0x70,0xdf,0xf3,0x9b,0x04,0x81,0x05,0x81,0xa7,0xd7,0x3a,
0xb2,0x6a,0xd1,0x3c,0x3e,0x75,0xe1,0xe9,0x14,0x15,0xe6,0xb3,0x60,0xbe,0x8a,0xd3,
0x29,0xb2,0xd4,0x4e,0x78,0xaa,0xe4,0x71,0xb3,0x68,0xe1,0x7c,0x76,0xef,0x69,0xe6,
0x7d,0xa7,0xae,0xc6,0x04,0xee,0x9f,0x3e,0x12,0xeb,0x82,0xc0,0xe9,0x81,0xd8,0x74,
0x5d,0x78,0x7e,0x79,0x09,0xf5,0x17,0x9e,0x46,0x49,0x91,0x8f,0x05,0xf3,0x6b,0x50,
0x14,0xe1,0xad,0x39,0x59,0xc8,0xb2,0x8c,0x3a,0xaf,0x1a,0x45,0x91,0xb9,0x68,0xfd,
0x2a,0x82,0xfd,0x03,0x3c,0xf5,0x46,0x93,0xe8,0x98,0x2c,0x26,0x70,0x7c,0x5a,0x2c,
0x20,0xb9,0x1e,0xbe,0x78,0xe9,0x39,0xcc,0x2d,0x29,0x66,0xc1,0xfc,0x79,0x28,0xca,
0x04,0x1c,0xd8,0x24,0x09,0xc9,0x65,0x95,0x64,0x32,0x23,0x83,0xcc,0xc2,0x56,0xca,
0xf4,0x4e,0x7c,0x24,0x19,0xc9,0x69,0xb7,0x2f,0x1a,0x4a,0xa6,0x5b,0xa8,0xa9,0xae,
0x04,0xe0,0xc3,0x67,0xad,0xa3,0xad,0xbb,0x8f,0x77,0xb4,0xfd,0x69,0x21,0x17,0x82,
0xc0,0x53,0x8f,0xd0,0x54,0x5f,0xd0,0x30,0x4d,0xfe,0xed,0xa2,0x33,0xa8,0x9a,0x53,
0xca,0xfc,0x09,0x90,0x57,0x29,0x98,0x83,0xb3,0xbc,0x16,0x25,0xbf,0x18,0x24,0xeb,
0x5c,0xd3,0x34,0x30,0xfa,0x3a,0x89,0xb5,0xec,0x40,0xef,0x6d,0x4f,0xeb,0x0e,0x57,
0x0a,0xe7,0xe2,0x9c,0xbb,0x60,0x54,0xfb,0x30,0x0d,0xf4,0xde,0x4e,0x62,0xad,0x89,
0xb7,0xaf,0xba,0xaa,0x82,0x78,0x3c,0xce,0x55,0x17,0x6c,0xe0,0xab,0xff,0x73,0x17,
0x86,0x61,0x08,0x02,0x27,0xd2,0xff,0x99,0xd4,0x18,0x9f,0xcf,0xe7,0x01,0xae,0x9d,
0xca,0x6b,0x5e,0xbc,0x76,0x25,0x67,0xae,0x3e,0x8a,0x85,0xb5,0x7e,0x5c,0xae,0xc4,
0x2d,0xbf,0x92,0xe2,0xc4,0x5d,0xbb,0x0a,0x57,0xf5,0x12,0x64,0x4f,0xae,0x25,0xdc,
0xd2,0xd0,0x96,0x8e,0x8c,0xec,0xc9,0xc5,0x51,0x5a,0x83,0x9c,0x53,0x80,0xd1,0xdb,
0x0e,0xa6,0x91,0x56,0x7d,0x7d,0xa4,0xf6,0x31,0xaa,0x7d,0xf9,0xe8,0xbd,0x6d,0xe3,
0xb6,0x4f,0x92,0x24,0x0a,0x0a,0xf2,0xd1,0xa3,0x51,0x2a,0x8a,0xf2,0x79,0xe1,0xed,
0x1d,0x53,0xe9,0x8e,0x79,0x77,0xb0,0xa7,0xe7,0xcd,0x8c,0x5c,0x86,0x08,0x0d,0x7c,
0x84,0x01,0x21,0x37,0x87,0xf3,0x4e,0x3e,0x96,0x9a,0xea,0x4a,0xdc,0xee,0xc4,0x0d,
0x99,0x92,0xc3,0x8d,0x67,0xe9,0x3a,0x1c,0x45,0xe5,0xe3,0x4f,0x81,0x8a,0x2b,0xf0,
0x2c,0x59,0x8b,0xe4,0x48,0x1f,0x43,0xa9,0xe4,0x4c,0xa6,0x7d,0x95,0xe4,0x2c,0x59,
0x97,0x50,0xfb,0x14,0x59,0xc6,0xef,0xaf,0xe1,0xf8,0x25,0x0b,0x38,0x69,0xd9,0xfc,
0xa9,0x7c,0xe4,0x48,0xc6,0xda,0x11,0x32,0x70,0x0d,0x3c,0x65,0x2f,0xeb,0x63,0xe7,
0xac,0xa5,0xba,0x62,0x0e,0x3e,0x5f,0x41,0x12,0xd2,0x2d,0xe3,0xa9,0x5b,0x83,0x9c,
0x93,0xf8,0xf6,0x92,0xec,0x2d,0xc0,0xb3,0xe8,0xc4,0x61,0x9f,0xe8,0xd4,0x66,0xaf,
0x8c,0x67,0xd1,0x89,0x49,0xb7,0xcf,0xbd,0x68,0xcd,0x81,0x29,0xf6,0x11,0xe0,0x71,
0xbb,0xa9,0xa9,0xaa,0xe0,0xe2,0xf5,0xab,0x46,0xb9,0xa3,0x4e,0x12,0xfd,0x82,0xc0,
0xe9,0x81,0x28,0xd0,0x3b,0x15,0x17,0xaa,0x2a,0x29,0x64,0xd5,0xd2,0x5a,0xaa,0x2a,
0xcb,0x93,0x3a,0xcf,0x55,0xbd,0x0c,0x39,0xf7,0xf0,0x0e,0x61,0xa6,0x69,0x8c,0x19,
0x10,0x20,0xe7,0xf9,0x70,0x55,0x2f,0x4f,0xf9,0x0e,0x76,0xcd,0x5b,0x81,0x9c,0x7b,
0xa8,0x63,0x93,0x69,0x18,0x47,0x0c,0x74,0x50,0xf2,0x8a,0x70,0x56,0x25,0x56,0x77,
0xac,0xa4,0xa4,0x88,0xa5,0x0b,0x6a,0x38,0xe3,0xd8,0x29,0xab,0x53,0xd6,0x9b,0xa9,
0x04,0x76,0x64,0x20,0x81,0x83,0x40,0xd9,0x64,0x2f,0x74,0xe1,0xda,0x63,0xa9,0xa9,
0x2a,0xc7,0xe1,0x48,0xbc,0x8b,0xe4,0x9c,0x02,0x9c,0x73,0xc7,0x9e,0xfa,0x75,0x06,
0x76,0xb2,0xf3,0xb9,0x67,0xe8,0xde,0xd1,0x84,0x24,0xc9,0x14,0x2f,0x5e,0x4a,0xed,
0x29,0xa7,0xe1,0xab,0xac,0x1a,0xfe,0x8e,0x73,0xae,0x9f,0x78,0xc7,0x6e,0x8c,0xc1,
0xd4,0x94,0x37,0xd9,0xeb,0xc3,0x59,0xa6,0x8e,0xfa,0xac,0x7d,0xe7,0x76,0x76,0x3d,
0xf7,0x34,0xc1,0x9d,0xdb,0x91,0x14,0x85,0xd2,0x25,0xcb,0xa9,0x3d,0xe5,0x34,0x0a,
0xca,0x2b,0x0e,0x25,0x7f,0xf9,0x02,0xf4,0x8e,0xdd,0x18,0xe1,0xfe,0x71,0xd7,0xc3,
0x15,0xe5,0x73,0x38,0xfd,0xf8,0xe5,0x3c,0xf5,0xc6,0xd6,0xa9,0x78,0xf4,0x9e,0x4c,
0x25,0x70,0x46,0x19,0xb1,0x82,0x3d,0x3d,0xa6,0xcf,0xe7,0xbb,0x1c,0xa8,0x99,0xd4,
0xa8,0xa6,0x28,0x5c,0x75,0xc1,0x69,0xd4,0x2d,0xf4,0x27,0xe1,0xe2,0x67,0xe2,0xf2,
0x1f,0x8b,0x9c,0x93,0x77,0x88,0x66,0x7a,0xe7,0xe1,0xbf,0xf2,0xda,0x8d,0x3f,0xa3,
0x67,0xc7,0x56,0xa2,0xdd,0x9d,0x44,0xba,0x3a,0x08,0x6e,0xdb,0x42,0xe0,0xa9,0xc7,
0x51,0x0a,0x8b,0x29,0x99,0xbf,0x60,0x48,0x72,0x91,0x1c,0x6e,0xf4,0xee,0xe6,0x94,
0xec,0x5f,0xb7,0xff,0x98,0xe1,0xf6,0x99,0x86,0xce,0x5b,0x0f,0xdc,0xcb,0xa6,0x9b,
0x7f,0x49,0xef,0xce,0x6d,0xc3,0xed,0xea,0x6e,0x7a,0x97,0x5d,0xff,0x7c,0x1c,0x57,
0xe9,0x1c,0x8a,0xe7,0xf9,0x0f,0x66,0x26,0x92,0xd3,0x8d,0xde,0xbd,0x8f,0xf1,0x02,
0xe1,0x5c,0x2e,0x17,0x4e,0x09,0x5e,0x78,0xb3,0x91,0xde,0x50,0x78,0xb2,0x8f,0xfe,
0xa3,0x60,0x4f,0x4f,0x46,0x6a,0xe1,0x4c,0xcc,0xc8,0xb1,0x7b,0xb2,0x17,0x58,0xbd,
0x58,0x65,0xa1,0x5a,0x85,0x2c,0x27,0xde,0x3d,0x92,0x2b,0x17,0x87,0xef,0x50,0xc5,
0xbf,0xe5,0xf1,0x47,0xd8,0x7a,0xe7,0x6d,0x63,0x4e,0x2f,0x4d,0x5d,0x67,0xf3,0xad,
0xbf,0x61,0xc7,0x0b,0xcf,0x1e,0x18,0x3c,0x8a,0xe6,0x22,0x39,0x3d,0x29,0xd7,0xa9,
0x92,0xcb,0x8b,0x52,0x78,0x20,0xd4,0xfa,0xed,0x87,0xfe,0xca,0xf6,0x7b,0xff,0x7c,
0x98,0x76,0xc5,0x79,0xe3,0xb7,0xbf,0x22,0xf0,0xca,0x4b,0x87,0x0e,0x8e,0xbe,0xf2,
0xe1,0xfd,0xe2,0xf1,0x50,0x56,0x56,0xc2,0xd9,0xab,0x27,0x9d,0x60,0xc5,0x10,0x6b,
0xe0,0xf4,0xc2,0xae,0xc9,0x5e,0xe0,0xf8,0xc5,0x7e,0x7c,0xbe,0xe4,0x02,0x58,0x1c,
0x25,0x55,0x87,0x18,0x69,0x3a,0x03,0x3b,0x69,0xfc,0xd3,0xad,0x54,0x6d,0x38,0x87,
0xaa,0x0d,0x67,0x23,0x8d,0x35,0x20,0x48,0x12,0x6f,0xde,0x72,0x23,0xbd,0xad,0x2d,
0xc3,0x46,0x22,0x47,0x49,0xea,0x25,0xd5,0x74,0x94,0x54,0x0f,0x1b,0xd9,0xda,0xb6,
0x35,0xd1,0x74,0xd7,0x6d,0x98,0xa6,0x41,0xbe,0xbf,0x16,0x67,0x6e,0xde,0x98,0xe7,
0x6c,0xfa,0xed,0xaf,0x19,0xe8,0xec,0x38,0x48,0xe2,0x64,0x1c,0xc5,0x55,0x09,0xdd,
0xb3,0x20,0x3f,0x8f,0xc5,0xfe,0x2a,0xe2,0xfa,0xa4,0xb6,0xd8,0x7a,0xc8,0xd0,0x6c,
0x1c,0x99,0x4a,0xe0,0x6d,0x93,0xbd,0xc0,0x22,0xb5,0x2a,0xa9,0x6d,0x23,0x30,0x51,
0x0a,0xe7,0x1e,0xf2,0xe9,0xe6,0xbb,0xef,0x60,0xf5,0xb5,0xdf,0xe6,0xc4,0xfa,0xab,
0x39,0xf1,0xaa,0xab,0x59,0xfd,0xe5,0x6f,0x1d,0x56,0x63,0xbd,0xfb,0xd0,0x03,0x07,
0xd6,0x35,0x63,0x5c,0x6b,0xd6,0xd7,0x5a,0xbe,0x03,0xcf,0xb4,0xf9,0xae,0xff,0xc3,
0x04,0x56,0x7f,0xf9,0xdb,0x9c,0xf5,0xbd,0x9f,0xf0,0x9e,0x5f,0xdc,0x8c,0x6f,0xc9,
0xa1,0x55,0x5c,0x8d,0x68,0x84,0x2d,0x8f,0x3e,0x74,0x98,0x6b,0x8d,0x6f,0x61,0x96,
0x24,0x89,0x25,0x0b,0xe6,0x11,0x8a,0x4f,0xca,0x95,0xb9,0x0b,0xb1,0x8d,0x94,0x56,
0xd8,0x32,0x99,0x93,0xe3,0x86,0x81,0xbf,0xba,0x22,0xc9,0x5e,0x74,0x22,0x7b,0x47,
0x6f,0xab,0x04,0xf7,0xed,0x25,0xd8,0xf4,0x0e,0x73,0xeb,0x16,0x0f,0x7f,0x56,0x5e,
0xb7,0x18,0x87,0x37,0x77,0xcc,0x4b,0xec,0x7b,0xea,0x31,0x06,0x83,0xdd,0x96,0x80,
0xe7,0xf9,0x52,0xab,0x47,0x25,0x09,0xc5,0xb6,0x3c,0x77,0x06,0x76,0x11,0x6c,0x7c,
0x1b,0x87,0x27,0x87,0xea,0xa3,0x57,0x22,0xc9,0x32,0x2e,0xaf,0x97,0x79,0xeb,0x36,
0x8c,0x79,0xaa,0xf6,0xe8,0x5f,0x89,0xf4,0xf5,0x8d,0xee,0x2e,0x6f,0x01,0xc8,0x89,
0x19,0x07,0x8b,0x7d,0x05,0xac,0x5d,0xa2,0x4e,0xe6,0xe9,0x5b,0x02,0x9a,0xa6,0x0b,
0x02,0xa7,0x0f,0x76,0x02,0x13,0xb6,0x7a,0xe8,0x86,0x49,0x59,0x51,0x72,0x04,0x92,
0x5d,0x39,0x48,0xca,0x68,0x2f,0xad,0x96,0x2d,0xef,0xa0,0x87,0xc3,0x0c,0x74,0x75,
0x0d,0x7f,0xd6,0xdf,0xd5,0x45,0x3c,0x3c,0x78,0x58,0x92,0xb4,0x34,0xda,0x63,0x8f,
0xac,0x20,0x7b,0x52,0x27,0x4c,0x51,0xce,0x29,0x1c,0x5e,0x1e,0xec,0x7f,0x77,0x33,
0x48,0x12,0xf1,0xc1,0x41,0x7a,0xdb,0x5a,0x0f,0x2c,0x17,0xb6,0x1f,0x3e,0x08,0xa1,
0x75,0xdb,0x68,0x4b,0xb2,0xe4,0x70,0x25,0xbc,0xce,0xcf,0xcb,0xf5,0x52,0x9c,0xe7,
0x9d,0x55,0x9b,0x48,0x2a,0x23,0xe3,0xe2,0xe1,0x02,0x9a,0xd6,0xe6,0x57,0xd5,0x56,
0x60,0x42,0xc3,0x76,0x81,0xd7,0x93,0xe4,0xf4,0x19,0xa4,0x31,0x9c,0x1a,0xda,0x36,
0xbf,0x01,0xc0,0x4b,0xbf,0xbe,0x81,0x25,0xef,0xfb,0x20,0x00,0x8d,0xf7,0xff,0xe5,
0x88,0x7b,0xa5,0x9d,0xdb,0x9b,0x98,0x7f,0xe2,0xc9,0x07,0xae,0x19,0xee,0x4b,0x11,
0x02,0x1f,0x68,0x5f,0xdb,0x1b,0xaf,0x5b,0xcf,0xa7,0x28,0x3c,0xf7,0xa3,0x7f,0x47,
0x3d,0xeb,0x7c,0x7a,0xf7,0xee,0xa6,0xed,0x95,0xe7,0x0f,0xdf,0xae,0x9d,0x3b,0x98,
0x77,0xdc,0xe8,0x74,0xdd,0xb2,0x27,0x0f,0x3d,0x32,0x30,0xfe,0xd4,0x5d,0x51,0x28,
0x4e,0xc6,0x91,0x66,0xec,0x01,0x5d,0x10,0x38,0xcd,0xf0,0xaf,0xc9,0x10,0x38,0xd9,
0x38,0xdf,0xa1,0x28,0xa3,0x91,0xe8,0xdb,0xbb,0x07,0x80,0xc1,0x96,0x7d,0x6c,0xba,
0xe9,0x17,0x09,0x5d,0x27,0xb8,0xe3,0x80,0x16,0x4b,0x25,0x4b,0xf4,0x90,0x1b,0xa4,
0xa9,0xeb,0x0c,0xb4,0x1e,0xd8,0xe2,0x8a,0xf5,0xf5,0xb0,0xfd,0xbe,0x3f,0x8f,0x6f,
0x45,0xda,0xd1,0x94,0x50,0x9f,0x1d,0x6e,0x1d,0x5c,0x90,0x9f,0x37,0x99,0xc7,0xdf,
0x9a,0xc9,0x04,0xce,0xd4,0xe2,0x66,0x2f,0x4e,0xf4,0xc4,0xde,0x81,0x70,0xd2,0xb1,
0xbe,0x92,0x3c,0xfa,0xfb,0x7a,0x24,0x82,0x3e,0x38,0x90,0xf4,0xbd,0x23,0xfd,0x7d,
0x23,0xae,0x99,0x42,0xaf,0xc6,0x5e,0xaf,0xc6,0x23,0x61,0x8c,0xc1,0xe4,0xdd,0xcd,
0xc3,0x3d,0xc1,0x31,0xfa,0xcc,0x91,0x30,0x81,0xcd,0xc9,0x85,0x5e,0xbe,0x2b,0x08,
0x9c,0x7e,0x78,0x7a,0xa2,0x27,0xf6,0x84,0xc2,0x30,0x49,0x1f,0x5c,0xd3,0x34,0x27,
0x16,0x5d,0x64,0xa4,0x6a,0x8c,0xb0,0x39,0xdc,0x2e,0x73,0x02,0x7d,0x63,0x4e,0x32,
0x34,0x30,0x36,0x71,0x2b,0x74,0x08,0xd8,0x21,0x08,0x9c,0x7e,0xeb,0xe0,0x37,0x81,
0x8e,0x89,0x0a,0x6b,0x28,0x92,0xdc,0xb6,0xa1,0xa9,0x8f,0x0e,0x37,0x55,0x5c,0x2e,
0x24,0x77,0xf2,0x53,0x60,0x47,0x4e,0xce,0x08,0xa1,0x4f,0x21,0xc3,0xa9,0xfd,0x2c,
0x8a,0xd3,0x85,0xec,0x72,0x27,0x7d,0xba,0x2b,0x37,0x77,0x0c,0x52,0x27,0x16,0xa2,
0x6b,0x9a,0x26,0xe1,0xc8,0x84,0xb7,0x71,0xf7,0x04,0x34,0x2d,0x28,0x08,0x9c,0x9e,
0x78,0x64,0x22,0x27,0x39,0x15,0x99,0xbe,0x81,0xe4,0xa6,0x89,0x66,0x74,0xf0,0xa0,
0xe9,0xa1,0x8c,0xb7,0x24,0xf9,0x02,0x11,0xf9,0x55,0x07,0x3c,0x40,0xcd,0x58,0xea,
0x6c,0x5d,0x0e,0x3d,0x8b,0xe2,0x72,0xe1,0x2e,0x2a,0x49,0xbe,0x5d,0x35,0xfe,0x43,
0xaf,0x19,0x49,0xac,0x8f,0x75,0xc3,0xa0,0xa5,0x73,0xc2,0x1c,0x7c,0x91,0x0c,0x47,
0x26,0x13,0xf8,0x81,0x09,0x75,0x88,0x24,0x33,0x30,0x98,0x1c,0x79,0xcc,0x31,0xac,
0xc5,0xa5,0x2b,0x92,0x2f,0x8a,0x57,0x52,0xb7,0xf4,0xc0,0x35,0x53,0x28,0xa0,0x61,
0x64,0x70,0xc5,0x44,0xda,0x55,0xbc,0x60,0xe1,0xa1,0xd7,0x0c,0x27,0xe6,0xdd,0xa8,
0xeb,0x06,0x3b,0xf6,0x4d,0x38,0x77,0xf4,0x73,0x99,0x4e,0xe0,0x59,0xb7,0x42,0xfb,
0x55,0x55,0xb1,0x9f,0x43,0xb1,0x07,0x14,0x05,0x2b,0x0d,0x68,0x0e,0x56,0x51,0x2a,
0x97,0x7d,0x38,0xed,0xff,0x1f,0xfc,0xcc,0x06,0x56,0xd6,0xc1,0x18,0x96,0xc7,0x4d,
0x04,0x6b,0x1f,0x78,0xb3,0xbd,0x06,0x4a,0x6a,0x13,0x51,0x92,0xa0,0x33,0xd8,0xcb,
0xfc,0xaa,0xc4,0xbd,0xa1,0x8c,0xe8,0x20,0x66,0x3c,0x86,0xe4,0x38,0xb0,0x17,0x3c,
0x77,0xe9,0x32,0xb6,0x27,0xb7,0x70,0x66,0x8e,0xed,0xf4,0x61,0x1a,0xf1,0x84,0x05,
0x7c,0x46,0x08,0x1c,0xee,0x03,0xc3,0x00,0x59,0xa6,0x7c,0xf9,0x51,0x04,0x1e,0xbe,
0x6f,0x42,0xed,0x1a,0xa9,0xd1,0xcd,0x78,0x62,0x83,0xa4,0x6e,0x18,0xbc,0xb2,0x63,
0x3f,0xfe,0xe2,0xdc,0x89,0x3c,0xfa,0x6b,0x7e,0x55,0x2d,0xb1,0x65,0x29,0x07,0x2b,
0x6f,0xb8,0xdb,0x96,0xa1,0x21,0x99,0x3b,0x64,0xc9,0x6d,0x1f,0xf1,0x11,0xb2,0x14,
0x06,0x06,0x6d,0x39,0x1b,0x3a,0xe2,0x80,0x1e,0xd0,0x34,0x33,0xe3,0x08,0xec,0x57,
0x55,0x07,0x50,0x6c,0x1f,0xe5,0x07,0x1d,0x65,0x58,0x05,0xc8,0x4a,0x46,0x90,0x52,
0x1a,0x71,0x30,0xa2,0xc3,0x06,0xed,0x4e,0x8c,0x8e,0xe8,0xd4,0x83,0x2d,0x22,0x92,
0x7d,0x1d,0x87,0x4d,0x74,0xcf,0x88,0xa3,0x2b,0x59,0x02,0x03,0x34,0xb7,0x77,0x02,
0x8b,0x92,0x90,0xf0,0x38,0xc6,0x60,0x2f,0x4a,0xfe,0x81,0xe9,0xe5,0x9c,0x85,0x75,
0x78,0x4a,0xe7,0x12,0xee,0x68,0x4d,0xe8,0x12,0x05,0x8b,0x96,0x52,0x54,0x6d,0x4d,
0xa1,0x8d,0xfe,0x14,0x5b,0xb6,0x99,0x26,0xfa,0x40,0x10,0x25,0xbf,0x98,0xf2,0xc5,
0x4b,0x71,0x16,0xf8,0x88,0xf5,0x26,0xf6,0x8c,0xc5,0x47,0x1d,0x7b,0x48,0x68,0xa1,
0x11,0xea,0x05,0x23,0x4e,0x22,0xa5,0xb9,0x3a,0xba,0x7b,0x29,0xf4,0x4c,0x28,0x68,
0xae,0x0f,0xb8,0xdd,0x96,0x9b,0x41,0x7b,0x30,0x0f,0xdb,0xb2,0x14,0x1d,0x41,0xc4,
0x43,0x56,0x51,0xb6,0x2c,0x39,0x0f,0x92,0x25,0xaf,0x4d,0x78,0xd3,0x3e,0x0c,0xc0,
0xf4,0xab,0xaa,0x81,0x15,0xc2,0xda,0x01,0xb4,0x03,0x2d,0x40,0xab,0xfd,0x73,0xbf,
0xfd,0x79,0x57,0x40,0xd3,0x06,0x52,0x8a,0xc0,0x76,0xcd,0xd5,0x85,0x40,0x9d,0xfd,
0x73,0x3e,0x56,0x69,0xcf,0x5a,0xbb,0x81,0x9d,0x36,0x81,0x5a,0x46,0x1c,0xaf,0xda,
0x8d,0xec,0xb0,0xff,0x17,0x1e,0x39,0xe2,0x4d,0xb5,0xcb,0x9b,0x5f,0x55,0x37,0x00,
0x4f,0x25,0x7b,0xde,0xa6,0xc6,0x9d,0x5c,0x7c,0xda,0x49,0x49,0x64,0x84,0x90,0x88,
0x77,0xb7,0x8e,0x22,0xb0,0xec,0x70,0xb0,0xfc,0xf2,0x8f,0xf2,0xda,0x7f,0xdf,0x30,
0x6e,0xa6,0x0d,0xd3,0xd0,0x59,0x71,0xe9,0x87,0x0f,0x54,0x29,0x0c,0xb6,0xa4,0xdc,
0x54,0x4d,0x0f,0xb6,0xa2,0xe4,0x17,0xa3,0xb8,0x5c,0x2c,0xbb,0xfc,0x63,0xbc,0xf9,
0xdb,0x5f,0x8d,0xdf,0x2e,0x5d,0x67,0xf9,0xfb,0x3f,0x78,0xc8,0xe7,0x56,0xfb,0x12,
0x0b,0xd3,0xec,0xec,0xe9,0xa5,0x30,0xc7,0x3d,0x91,0x47,0xfe,0x4d,0x40,0xd3,0xbe,
0x39,0x0d,0xca,0x49,0x3a,0x88,0xe4,0x2e,0xa0,0x00,0xab,0xfe,0x52,0x99,0xad,0xa4,
0x2a,0x80,0x95,0x40,0x95,0xad,0xa8,0x8a,0xfd,0xaa,0x5a,0x08,0xec,0xc3,0xb2,0x8a,
0xef,0x04,0xb6,0xdb,0xc7,0xb6,0x80,0xa6,0x75,0x4c,0x0b,0x81,0x17,0xd6,0xd6,0x4a,
0xf1,0x78,0xdc,0x03,0x54,0x03,0xc7,0x03,0x47,0x03,0xcb,0x6c,0xc2,0xe6,0x62,0x6d,
0x92,0x6f,0xc5,0x0a,0x20,0x78,0x18,0x2b,0x12,0x28,0x10,0xd0,0xb4,0xc1,0x54,0x10,
0xba,0x80,0xa6,0x3d,0xed,0x57,0xd5,0x46,0x20,0xa9,0xd4,0x0e,0xaf,0xbe,0xbb,0x9d,
0x70,0x34,0x86,0x2b,0x09,0x87,0x0e,0xbd,0x6b,0x2f,0x54,0x2f,0x81,0x11,0xfb,0xb7,
0xea,0xea,0x35,0xec,0x5e,0xbd,0x96,0xf6,0x57,0x8f,0x6c,0x4b,0x99,0x77,0xd6,0x05,
0x94,0x2f,0xb5,0xb3,0x71,0x18,0x3a,0x7a,0xd7,0xbe,0x94,0x23,0x70,0xbc,0x73,0x0f,
0xae,0xea,0xc5,0x20,0xc9,0x2c,0x38,0x79,0x1d,0x7b,0x5f,0x7e,0x81,0xce,0xb7,0x5e,
0x3b,0xe2,0x39,0xf3,0xdf,0xfb,0x01,0xe6,0x2c,0xac,0x3b,0x68,0xb6,0xa2,0xa3,0x77,
0x25,0x1e,0xef,0xbc,0x6b,0x6f,0xcb,0x44,0x93,0xdb,0xdd,0x33,0x4d,0x32,0x65,0x8e,
0xd0,0xe2,0x43,0x68,0x67,0x9c,0xed,0x2a,0xbb,0x76,0x75,0xa5,0xad,0xe8,0xe6,0xdb,
0x8a,0xef,0x7c,0x60,0x89,0x5f,0x55,0x8b,0xec,0xf3,0x9b,0x80,0xb7,0x81,0xd7,0xb0,
0xf6,0xaf,0xfb,0xc7,0x53,0x6a,0x47,0x94,0xd0,0x78,0x3c,0x7e,0x39,0xf0,0x2d,0xfb,
0x01,0x5f,0x01,0xde,0x04,0xfe,0x02,0xec,0x0c,0x68,0x5a,0xba,0x04,0x48,0xff,0x12,
0xb8,0x39,0x99,0x13,0x1a,0xf7,0xb4,0xb2,0xaf,0xad,0x33,0xa9,0x75,0xb0,0x19,0x1b,
0x24,0x1e,0x6c,0xc1,0x51,0x5c,0x79,0x40,0x2f,0xcb,0x0a,0x6b,0xae,0xba,0x9a,0xe7,
0x07,0xfa,0x09,0x6e,0x79,0x6b,0xec,0xf5,0xe1,0x09,0xeb,0x38,0xee,0x43,0x1f,0x19,
0x4e,0x1c,0x10,0xef,0x6e,0x49,0x29,0x0b,0xf4,0x81,0xf6,0x85,0x89,0x77,0xb7,0xe2,
0x28,0xae,0x40,0x56,0x1c,0x9c,0x78,0xf5,0xe7,0x79,0xee,0x17,0x3f,0xa1,0x77,0xfb,
0x96,0x31,0xdb,0x55,0xbe,0xf6,0x34,0x56,0x5e,0x72,0xf9,0x21,0x5a,0x3a,0xde,0xb5,
0x3f,0xe1,0xf5,0x2f,0xc0,0xdb,0xdb,0xb5,0x89,0x3c,0xee,0x56,0x5b,0x56,0x53,0x06,
0x01,0x4d,0x33,0x80,0xbd,0xf6,0xf1,0xdc,0x18,0xe4,0x9e,0x6f,0xaf,0xdb,0x56,0x00,
0x5f,0x02,0x96,0xda,0x0a,0xf1,0xa2,0x23,0xcf,0xfd,0xc6,0x9f,0x26,0x9b,0x01,0x4d,
0x8b,0x91,0x66,0xf0,0xab,0xaa,0xd7,0x9e,0x25,0x14,0x01,0x1b,0xed,0x69,0x4e,0xc2,
0xf8,0xe1,0xbf,0x7d,0x88,0x8b,0x4e,0x3f,0x29,0xa9,0x7b,0x4a,0xee,0x3c,0xbc,0x47,
0x6d,0x38,0x24,0x2e,0x38,0x1e,0x8d,0xd0,0xf4,0x8f,0x27,0xd8,0x76,0xdf,0x1d,0xc4,
0x42,0x03,0x80,0x89,0xdb,0x57,0xcc,0xe2,0x4b,0xae,0x60,0xe1,0xfa,0x0d,0xc8,0x43,
0x69,0x7b,0x0c,0x83,0xd0,0xdb,0x4f,0x61,0x46,0x06,0x52,0xb2,0x4f,0x65,0x4f,0x3e,
0x39,0x2b,0x4e,0x1d,0x6e,0x5f,0x3c,0x1c,0xa6,0xf1,0xc9,0xc7,0xd8,0x7e,0xff,0x9d,
0x76,0x90,0x86,0x89,0xa7,0x78,0x0e,0x4b,0x2e,0xbd,0x82,0x05,0x6b,0xd7,0x23,0x1f,
0xec,0xd1,0x66,0x18,0x84,0x36,0xff,0x33,0xe1,0xc4,0xef,0xd1,0x58,0x9c,0x13,0x3e,
0xfa,0x35,0xe2,0x7a,0xd2,0x2b,0xab,0xdf,0x02,0x37,0xd8,0xeb,0xde,0x10,0x10,0x4a,
0x57,0x19,0x0e,0x68,0x5a,0x68,0xc2,0x04,0x9e,0xe5,0x87,0x97,0x46,0xac,0x33,0x8a,
0xec,0x75,0x45,0xe5,0x08,0x43,0x58,0xa9,0x7d,0x14,0x8e,0x38,0xf2,0x6d,0x63,0x43,
0x1c,0x18,0x18,0x71,0x38,0x81,0x13,0x93,0xb9,0xff,0x9a,0xe5,0xb5,0xfc,0xee,0x3b,
0x9f,0x4f,0x3a,0x91,0xbb,0xb3,0x6a,0x29,0xae,0xca,0x45,0x87,0xb1,0x75,0xc5,0x19,
0xe8,0x6c,0x07,0x49,0x26,0xaf,0xb4,0xec,0x10,0x77,0xc9,0x68,0xf3,0x36,0x62,0xfb,
0xb6,0x4c,0x49,0xff,0x85,0x07,0x42,0x44,0x07,0xc3,0xe4,0x15,0x15,0x1e,0x4a,0xa4,
0x49,0xc0,0x55,0xbd,0x1c,0x67,0x45,0xed,0xa1,0xed,0xea,0x68,0x47,0x92,0x65,0x72,
0xc7,0x68,0xd7,0x70,0xfb,0xf6,0x6d,0x25,0xd6,0x9c,0xb8,0x6b,0xf2,0x96,0x5d,0x7b,
0xb8,0xe4,0xba,0x1b,0x92,0x15,0xd2,0x28,0xf0,0xb8,0x3d,0x78,0x7b,0xed,0x63,0xe8,
0xf7,0x18,0x56,0x76,0x8e,0x1e,0xac,0x44,0x77,0x3d,0xb6,0xad,0x66,0xc8,0x00,0x35,
0x64,0x7c,0x6a,0xb6,0x7f,0x8f,0x4c,0x87,0x6d,0x26,0x25,0x8c,0x58,0x53,0x44,0x52,
0x07,0x96,0x45,0xba,0x7c,0x84,0x01,0xcc,0x6f,0x4f,0x27,0x7c,0x1c,0xd8,0x42,0x0a,
0xda,0x53,0x8f,0xfd,0x23,0x8e,0xcd,0x76,0xc7,0x0f,0xbd,0x8c,0x3e,0x7b,0xcd,0x10,
0x1f,0xe3,0x3e,0x4e,0xe0,0xad,0x64,0xd6,0xc2,0x4f,0xbd,0xde,0xc8,0xf6,0x3d,0xcd,
0x2c,0xf6,0x27,0x97,0x1d,0x23,0xd6,0xdc,0x88,0x92,0x57,0x8c,0x52,0x70,0xa8,0xc3,
0x83,0xec,0x70,0x90,0x3f,0x77,0xec,0x58,0x63,0xbd,0xb7,0x83,0xd8,0xbe,0xc6,0x29,
0xe9,0xd7,0xed,0xaf,0xbd,0xcd,0xb6,0xe7,0x36,0x02,0x26,0xde,0x12,0x1f,0xab,0x2e,
0x3a,0x9b,0xdc,0x82,0xbc,0x29,0xb9,0x76,0x74,0xdf,0xbb,0xc8,0x79,0x45,0x56,0x25,
0x86,0x91,0xed,0x2a,0x3f,0x72,0x0c,0xb5,0xde,0xd3,0x4e,0x6c,0x7f,0xe2,0x75,0x8f,
0x24,0x09,0x36,0xbe,0xdd,0x34,0x11,0x0d,0xf3,0xc7,0x80,0xa6,0x5d,0x75,0x04,0x99,
0xcb,0xb5,0x07,0xfa,0x7c,0x7b,0xd0,0x2f,0xb6,0x0d,0x4d,0x65,0xb6,0x8d,0xe7,0x1c,
0xdb,0xe6,0x53,0x8e,0x65,0x8c,0x8d,0xf9,0x55,0x35,0x04,0xec,0x01,0x02,0x23,0x8c,
0x50,0xbb,0x81,0xf6,0x80,0xa6,0xcd,0x6a,0xc8,0x98,0x34,0x43,0x44,0x75,0xda,0x8b,
0xf6,0xa5,0xb6,0x11,0x6c,0xe8,0xa7,0x87,0x03,0xa6,0xf7,0x1d,0xf6,0xb1,0x0b,0xd0,
0xec,0x91,0x71,0x20,0xa0,0x69,0xe1,0x29,0x7a,0x86,0x73,0x6d,0x43,0x5b,0xc2,0x6d,
0xfe,0xf0,0x39,0x6b,0xf9,0x76,0xfd,0x07,0x93,0x76,0xa5,0x97,0x14,0x27,0x9e,0xc5,
0x27,0x1d,0x31,0xbd,0xec,0x28,0xe1,0xee,0xef,0x26,0xdc,0xf4,0x32,0xe8,0x93,0x9f,
0xe5,0xf5,0x75,0xf7,0xf0,0xc2,0xed,0xf7,0x8f,0x6a,0x65,0xf9,0xb2,0x85,0xac,0x3c,
0x73,0xdd,0xd4,0x09,0x8d,0xe2,0xc4,0xb3,0xf8,0xe4,0x31,0xd3,0xcb,0x1e,0xae,0x7d,
0x91,0xa6,0x97,0x0e,0x71,0x39,0x3d,0x12,0x22,0xd1,0x18,0x97,0x7c,0xf5,0x3f,0xd9,
0xb5,0x3f,0x29,0x03,0xad,0x0e,0xd4,0x05,0x34,0x6d,0xe7,0x14,0xc9,0x8c,0xc3,0xd6,
0xde,0xf9,0x36,0xa9,0xfd,0x23,0x14,0x4d,0x8d,0x4d,0xfa,0x3c,0x2c,0x6b,0xf2,0xbb,
0xf6,0xd1,0x08,0x6c,0x09,0x68,0x5a,0x67,0xda,0x11,0xd8,0x76,0xca,0xc8,0x07,0x8e,
0xc3,0xb2,0x5a,0x1f,0x03,0x2c,0xb7,0x47,0xb9,0x77,0x0f,0x3a,0x1a,0x81,0xe0,0x4c,
0x6e,0x84,0xfb,0x55,0xf5,0x2e,0xe0,0xb2,0x44,0xbf,0x6f,0x98,0x26,0x7f,0xfb,0xaf,
0x6f,0x51,0x5b,0x53,0x91,0xfc,0xcd,0x64,0x19,0xb7,0xba,0x12,0x47,0x69,0xd5,0x11,
0xba,0xd9,0x24,0xde,0xb1,0x97,0x88,0xf6,0xa6,0xe5,0x28,0x31,0x05,0x68,0xdb,0xd3,
0xcc,0xeb,0xf7,0x3f,0x3e,0xea,0xb3,0xfc,0x8a,0x32,0xd6,0x5e,0x72,0xde,0xd4,0x26,
0x8e,0x97,0x15,0xdc,0xfe,0x63,0xac,0x5c,0x60,0x87,0x6b,0x9f,0x69,0x12,0xeb,0xd8,
0x43,0x54,0x7b,0x2b,0xe9,0xe0,0x8e,0x8d,0x6f,0x37,0xf1,0xb1,0xef,0xfe,0x1a,0x25,
0xb9,0xa8,0xac,0x9b,0x02,0x9a,0x76,0xcd,0x0c,0x2f,0xf3,0x9c,0xc0,0x02,0x5b,0x21,
0x0d,0x29,0xa7,0x15,0x36,0x0f,0xb6,0xd8,0x33,0xc5,0x4d,0x58,0x21,0xae,0xcd,0x01,
0x4d,0x8b,0xa6,0x0c,0x81,0xfd,0xaa,0x5a,0x60,0x3f,0xf0,0x5a,0x60,0x9d,0x3d,0x42,
0x39,0xb0,0xcc,0xe0,0xaf,0xda,0xd3,0xd6,0xc6,0x80,0xa6,0xa5,0x44,0x05,0x2f,0xdb,
0x2b,0xe7,0x6d,0x7b,0x7a,0x94,0x10,0x2e,0x5c,0x7f,0x1c,0x3f,0xf8,0xdc,0xc7,0x92,
0xca,0x50,0x39,0x4a,0xce,0xf3,0x8a,0x87,0x8b,0x7f,0x0d,0x65,0xed,0x30,0xe3,0x31,
0xf4,0xfe,0x2e,0x62,0x2d,0x3b,0x31,0x06,0x3a,0xa7,0x74,0x1c,0x8d,0x84,0xc2,0x3c,
0xf3,0xfb,0xbb,0x31,0x46,0x18,0x7e,0xfc,0x6b,0x56,0xb2,0x64,0xcd,0xca,0x69,0xe8,
0x51,0x13,0x39,0xaf,0x64,0xec,0xf6,0xf5,0x75,0x11,0x6b,0xdd,0x81,0x31,0xd0,0x9d,
0xf4,0x55,0x0d,0xc3,0xe0,0xda,0x1b,0x6e,0xe1,0xc9,0x57,0xdf,0x49,0xe6,0xb4,0x6e,
0x60,0x49,0x40,0xd3,0xda,0x52,0x44,0xd6,0x5c,0xf6,0xac,0x73,0x85,0xad,0xd0,0x4e,
0xb4,0x6d,0x39,0x1d,0x58,0x3b,0x3a,0xcf,0x03,0x9b,0x02,0x9a,0xb6,0x77,0xc6,0x08,
0x6c,0x13,0xf6,0x64,0xe0,0x54,0xe0,0x2c,0x7b,0xf4,0x69,0x02,0x5e,0xb0,0x1f,0x68,
0x7b,0xaa,0x47,0x7f,0xf8,0x55,0xf5,0x4c,0xe0,0x51,0x12,0xcc,0x89,0xad,0x1b,0x26,
0x37,0x7d,0xe3,0x53,0x6c,0x58,0x7d,0xf4,0x24,0x87,0x4a,0xe9,0x80,0x80,0xeb,0xb1,
0x49,0x87,0x2c,0x1e,0x09,0x9d,0xfb,0x5a,0xd9,0xf2,0xec,0x2b,0x84,0x7b,0x7a,0x29,
0x5f,0xbe,0x88,0x25,0x27,0x1e,0x87,0x63,0x5a,0x8b,0x91,0xdb,0xe5,0x45,0xa7,0xa8,
0x7d,0xaf,0x6f,0xd9,0xce,0x07,0xbf,0xf9,0x5f,0xb8,0x9d,0x49,0x19,0xdf,0x3e,0x13,
0xd0,0xb4,0xdf,0xa5,0xb8,0xec,0xb9,0xb1,0x0c,0xb1,0x6b,0x6c,0x85,0xb7,0xd2,0x9e,
0x86,0xbf,0x8c,0x15,0x02,0xfb,0x5c,0x40,0xd3,0xb6,0x4f,0x19,0x81,0xe7,0xfb,0xfd,
0xb2,0x69,0x9a,0xab,0x81,0xf7,0xd8,0x84,0x9d,0x0b,0x3c,0x6b,0xdf,0xec,0x9f,0xc0,
0x7e,0x7b,0x7f,0x2b,0xad,0xe0,0x57,0xd5,0xeb,0x81,0xef,0x27,0xfa,0xfd,0xc2,0xdc,
0x1c,0xee,0xbe,0xe1,0x3a,0x2a,0xcb,0x4a,0xd2,0xaa,0x9d,0xa6,0x69,0x26,0x91,0x98,
0x3e,0x35,0x10,0x8e,0x46,0xf9,0xe4,0xbf,0xff,0x8a,0xb7,0x76,0xec,0x49,0xe6,0xb4,
0xc7,0x81,0xf7,0xcc,0xb6,0x5f,0xf2,0x04,0xa7,0xe0,0x39,0xc0,0x49,0xc0,0x06,0xfb,
0xa8,0xc0,0xf2,0x1e,0x7c,0x0c,0x78,0x7c,0x3c,0x7f,0x8b,0xf1,0xf6,0x81,0x0b,0xb0,
0x9c,0x20,0x9e,0x06,0xfe,0x99,0xec,0xe8,0x90,0xe2,0x1d,0xf7,0x47,0xe0,0xc3,0x89,
0x9e,0xb3,0x66,0xd9,0x02,0x7e,0xf9,0xf5,0xcf,0x90,0xef,0xcd,0x41,0x60,0xfa,0xf0,
0xc7,0x87,0xfe,0xc9,0x8f,0xff,0x90,0x54,0x20,0x59,0x0b,0xb0,0x32,0xa0,0x69,0xad,
0x19,0x22,0x9b,0xf9,0xc0,0x7a,0x2c,0x6b,0xf8,0x73,0x01,0x4d,0xbb,0x67,0xc6,0x8c,
0x58,0x69,0xd6,0x51,0x2e,0xe0,0x6f,0xc0,0xd9,0x89,0xaf,0x87,0x8f,0xe7,0x3b,0x9f,
0xbe,0x9c,0x1c,0x8f,0x3b,0xa5,0xda,0x12,0x8f,0xc5,0x90,0x24,0x09,0x25,0x81,0x3a,
0x4e,0x91,0xd0,0x20,0xee,0x14,0x1d,0x84,0x5e,0xdf,0xb2,0x83,0x8f,0x7f,0xf7,0xd7,
0xc9,0x64,0xfd,0x88,0x00,0x67,0x04,0x34,0xed,0x85,0x6c,0x95,0x63,0x25,0x5b,0x1b,
0x1e,0xec,0xe9,0xd1,0x7d,0x3e,0xdf,0x7d,0xf6,0x9a,0x3e,0xa1,0x62,0xb4,0x5b,0x77,
0xef,0xa7,0xbd,0xab,0x9b,0x35,0x47,0x2d,0x4e,0xca,0x4f,0x7a,0x3a,0x21,0x49,0x12,
0xff,0xba,0xff,0x31,0x5a,0x76,0xec,0xa6,0x6a,0x49,0xed,0x11,0xbf,0xdb,0xb1,0xaf,
0x85,0x17,0xff,0xf8,0x00,0x25,0xf3,0x6b,0xc8,0x99,0x5c,0xaa,0xd6,0x29,0x87,0xb6,
0xbf,0x8d,0xab,0x7f,0xf0,0x3f,0xc9,0x64,0x43,0xd1,0x81,0x2b,0x03,0x9a,0xf6,0x70,
0x36,0xcf,0x58,0xe4,0x6c,0x6e,0xbc,0xed,0xa6,0x76,0x3e,0xf0,0x50,0xa2,0xe7,0x3c,
0xf0,0xcc,0xab,0x7c,0xe5,0x67,0x0d,0xb4,0x76,0xa6,0x86,0xad,0xce,0xc4,0xa4,0x70,
0x6e,0x19,0x5d,0xda,0x3e,0xda,0xf6,0x1c,0x3e,0x48,0xc0,0xd0,0x75,0x9a,0x5e,0x7c,
0x1d,0xd9,0xe1,0xc0,0x9b,0x9f,0x9b,0x52,0xef,0x61,0x4f,0x4b,0x3b,0x9f,0xfd,0xd1,
0x4d,0x74,0xf6,0x26,0xec,0x42,0x6a,0x00,0x5f,0x08,0x68,0xda,0x9f,0xb2,0x7d,0xc9,
0xa1,0x64,0x7b,0x07,0x04,0x7b,0x7a,0xe2,0x3e,0x9f,0xef,0x6e,0x2c,0xb7,0xcc,0xd5,
0x89,0x9c,0xb3,0xbb,0xb5,0x93,0x27,0x5f,0xde,0xc4,0x62,0x7f,0x25,0x55,0x73,0x4a,
0x67,0xbd,0x0d,0x05,0xa5,0x45,0xec,0xdb,0xb2,0x83,0xd6,0xa6,0x5d,0x14,0x54,0x94,
0x91,0x5b,0x38,0x3a,0x4f,0x75,0x3c,0x1a,0xe3,0xad,0xa7,0x5e,0xa2,0x6b,0xd7,0x1e,
0x16,0xae,0x5f,0x4d,0x59,0x4d,0x65,0xca,0xf4,0xff,0x96,0x9d,0xbb,0xf9,0xec,0x7f,
0xfe,0x96,0xdd,0x6d,0x5d,0xc9,0x68,0xde,0x94,0xb7,0x38,0x0b,0x02,0xcf,0x2c,0x89,
0x0d,0x9f,0xcf,0xf7,0x88,0x6d,0x10,0x39,0x3b,0x91,0x7e,0xe9,0x0b,0x85,0x79,0xf0,
0x99,0x8d,0x44,0x22,0x61,0x96,0xcc,0xaf,0x21,0x27,0xc9,0x64,0xf0,0x53,0x09,0x87,
0xd3,0x49,0x71,0x4d,0x05,0xcd,0x5b,0x77,0xb2,0xf7,0xed,0x26,0x82,0xed,0x9d,0xc4,
0x62,0x71,0x06,0x7a,0xfa,0x68,0xde,0x1e,0x60,0xf3,0xe3,0xcf,0xd1,0xdb,0xd2,0x4e,
0xf5,0xca,0x65,0x2c,0x3e,0x61,0x65,0x4a,0x58,0xa6,0x0d,0xc3,0xe4,0x91,0x17,0x5e,
0xe5,0xdf,0x7e,0xf4,0x3b,0x7a,0x06,0x12,0x8e,0x3e,0xed,0x07,0x2e,0x0d,0x68,0xda,
0x5d,0x42,0x6a,0xed,0x25,0x94,0xe8,0x82,0xd1,0xf0,0xab,0xea,0xf1,0xc0,0x9f,0x80,
0xc5,0x89,0x9e,0x93,0xef,0xf5,0xf0,0xad,0x4f,0x7e,0x80,0xd3,0x4f,0x38,0x86,0xbc,
0x1c,0x0f,0xb3,0xb5,0x97,0x31,0xd8,0x3f,0x40,0xd3,0x2b,0x6f,0xd2,0xda,0xb8,0x13,
0x3d,0x1a,0xb5,0x5f,0xaf,0x49,0xde,0x9c,0x52,0x6a,0xd7,0x1c,0x43,0x65,0xad,0x9a,
0x12,0x7d,0xbc,0xaf,0xad,0x93,0x9b,0xee,0x7a,0x98,0xfb,0x9f,0xd9,0x98,0xcc,0x60,
0xd2,0x08,0x5c,0x12,0xd0,0xb4,0x77,0x84,0x94,0x0a,0x02,0x8f,0x47,0xe2,0x5c,0xe0,
0x07,0xc0,0x17,0x12,0xb5,0x13,0x98,0xa6,0x89,0x5a,0x5e,0x42,0xfd,0xfb,0xce,0xe2,
0x94,0xe3,0x8f,0xa2,0xac,0xa8,0x70,0x42,0x39,0x94,0x27,0xff,0x46,0x25,0xa2,0x83,
0x61,0x06,0xfb,0xfa,0xd1,0xe3,0x3a,0x9e,0x5c,0x2f,0x39,0x79,0xb9,0x48,0xf2,0xec,
0xbe,0x6a,0x49,0x92,0x68,0xef,0xee,0xe1,0xe1,0x67,0x5e,0xe1,0x57,0x77,0x3e,0x4c,
0x34,0xb9,0x5c,0xcf,0xbf,0x03,0xbe,0x12,0xd0,0xb4,0x7e,0x21,0x9d,0x82,0xc0,0xc9,
0x6a,0xe3,0xff,0x01,0x4e,0x48,0xe6,0x3c,0x8f,0xcb,0xc9,0xa5,0x67,0x9c,0xc8,0xd9,
0x27,0x1f,0xc7,0xb2,0x05,0xf3,0x70,0xbb,0x9c,0x59,0xdb,0x87,0xa6,0x69,0x12,0x68,
0x6e,0xe5,0xb1,0x17,0x5e,0xe7,0xf7,0x7f,0xfb,0x27,0x03,0xe1,0xa4,0x5c,0x81,0x77,
0x02,0x57,0x07,0x34,0xed,0x09,0x21,0x8d,0x82,0xc0,0x13,0x25,0xb1,0x84,0xe5,0xf0,
0xf1,0x3d,0xac,0x28,0x94,0xa4,0x84,0xd7,0xeb,0x71,0xf3,0x89,0xf7,0x9e,0xca,0xaa,
0xe5,0x75,0x2c,0x9a,0x57,0x49,0x61,0x7e,0x2e,0x0e,0x45,0x99,0x1d,0xed,0x3c,0x43,
0x9a,0x36,0x1a,0x8b,0xd1,0xd2,0x11,0xe4,0xad,0xa6,0x9d,0x3c,0xf0,0xd4,0xcb,0x3c,
0xf3,0xc6,0x56,0x5c,0x8e,0xa4,0xcc,0x2d,0x3d,0x58,0x01,0xf9,0x3f,0x0b,0x68,0x5a,
0x44,0x48,0xa1,0x20,0xf0,0x54,0x10,0xd9,0x6d,0x13,0xf9,0xeb,0xc9,0xac,0x8f,0x87,
0x60,0x98,0x26,0xbd,0xe1,0x18,0xe7,0x9f,0xb0,0x9c,0xe3,0x97,0x2d,0x64,0xe9,0x82,
0x1a,0xe6,0x55,0xcc,0xa1,0x28,0x3f,0x0f,0x5f,0x7e,0xae,0x95,0xea,0x30,0xcd,0x48,
0x2d,0x49,0x12,0x92,0x24,0xd1,0x1f,0x1a,0xa4,0x33,0xd8,0x4b,0xa0,0xb9,0x95,0xb7,
0x9a,0x76,0xf1,0xc2,0x1b,0x5b,0x78,0x7a,0xf3,0x0e,0x8a,0xbd,0x49,0x3b,0xbc,0xf4,
0xd9,0x33,0x9e,0x9f,0xa7,0x4a,0x00,0x8c,0x20,0x70,0xe6,0x11,0x59,0xc1,0xda,0x3b,
0xfe,0x12,0x96,0xef,0xea,0x84,0xfa,0xd0,0x34,0x2d,0x52,0xfb,0xf2,0x3c,0xd4,0xcc,
0x29,0xe1,0xe8,0x45,0x7e,0x96,0xcc,0xaf,0xc2,0x57,0x90,0x4f,0x45,0x69,0x11,0x5e,
0x8f,0x87,0xfc,0xdc,0x1c,0x7c,0xf9,0xb9,0x76,0x48,0x9d,0xc4,0x4c,0x1b,0x8f,0xcd,
0xa1,0x07,0x05,0xfa,0x07,0xc3,0xf4,0xf4,0x0d,0x10,0x0a,0x47,0xe8,0xe8,0xee,0xa1,
0xad,0xab,0x87,0xbd,0xad,0x1d,0xbc,0xf2,0xce,0x36,0x02,0xcd,0x6d,0xb4,0xf7,0x0c,
0x20,0x4b,0x13,0x7e,0xc6,0xbd,0xc0,0x8d,0xc0,0x6f,0x33,0xbd,0x14,0x8a,0x20,0xf0,
0x68,0x32,0x39,0xec,0x69,0x6d,0x1d,0x56,0xe0,0x75,0x08,0x3b,0x21,0xc0,0x4c,0x24,
0xdd,0xf3,0xab,0xea,0x62,0xe0,0x13,0xc0,0x87,0x98,0x60,0x39,0xd3,0xc3,0x41,0x37,
0x0c,0x42,0xd1,0x38,0xdd,0xe1,0x38,0x0b,0xe7,0xf8,0x58,0x58,0x59,0x46,0xd5,0x9c,
0x22,0x2a,0x4a,0x8b,0x28,0xc8,0xf5,0xa2,0x28,0x0a,0x4e,0x87,0x03,0xa7,0x43,0xb1,
0x0f,0x07,0x8a,0xa2,0xe0,0x50,0x64,0xe4,0xc3,0x18,0xac,0x4c,0x13,0xe2,0xba,0x8e,
0x61,0x18,0xc4,0x75,0x03,0xdd,0x30,0xd0,0x75,0x83,0xb8,0xae,0x13,0x8f,0xeb,0xe8,
0xba,0x4e,0x5c,0xd7,0x19,0x8c,0x44,0x69,0xeb,0xea,0x61,0x5f,0x7b,0x17,0x7b,0xda,
0xba,0x68,0xdc,0xd7,0x8e,0x69,0x98,0x14,0x78,0x9c,0x38,0x15,0x79,0xaa,0xb6,0xa1,
0x06,0x80,0x27,0x80,0x5b,0x81,0xbf,0xa7,0x63,0x50,0x8c,0x20,0xf0,0xe4,0xc8,0xb3,
0x06,0xf8,0x3d,0x56,0x3c,0xf2,0xc1,0xe8,0xc5,0x8a,0xb9,0xfc,0x33,0x70,0xd7,0x78,
0x89,0xc1,0xa6,0x48,0x2b,0x9f,0x08,0x5c,0x62,0x6b,0xe7,0x45,0x42,0xb4,0x0e,0x3b,
0x45,0x7e,0x0a,0x2b,0xe5,0xeb,0xdf,0x67,0x2a,0x6b,0x85,0x20,0x70,0x6a,0x12,0xf8,
0x11,0xac,0x30,0xc7,0xf1,0xd0,0x01,0xfc,0x04,0xf8,0xf5,0x54,0x67,0x43,0x38,0x02,
0x99,0x6b,0x81,0xf3,0xb0,0x42,0x30,0x4f,0xc1,0x4a,0xbb,0x92,0x8d,0x30,0xb0,0x92,
0x3a,0x3c,0x89,0x15,0xf2,0xf7,0xc2,0x74,0x0f,0xa6,0x82,0xc0,0xe9,0x43,0xe0,0xcf,
0x70,0x84,0x7c,0xcf,0x4b,0x4e,0x3f,0x9f,0xd3,0x3f,0x7e,0x0d,0xdb,0x5f,0x7b,0x89,
0xc7,0x7f,0xfd,0x7d,0x40,0xda,0x8a,0xe5,0xfc,0xfe,0xd2,0x0c,0x3f,0xa7,0x0c,0x1c,
0x6b,0x6b,0xe8,0x13,0xb1,0xdc,0x35,0xab,0xed,0x29,0x7f,0x26,0x21,0x6c,0x0f,0x96,
0x6f,0xd8,0xb3,0x9f,0x57,0x80,0x97,0xd2,0x28,0x7f,0xb8,0x20,0xf0,0x2c,0x90,0xf8,
0x7a,0xac,0xed,0x9d,0x43,0x9c,0x2d,0xaa,0x8e,0x5e,0xcd,0xa5,0xdf,0xfe,0x31,0x00,
0xbf,0x78,0xff,0x7a,0x64,0xa7,0x0b,0xac,0xb4,0xa2,0xdf,0x0c,0x68,0xda,0xcf,0x67,
0xf9,0xb9,0x8b,0xb0,0xd2,0x0f,0xad,0xb0,0x97,0x00,0x8b,0xb1,0xf2,0x2a,0x55,0x61,
0x65,0x68,0x48,0x65,0xb4,0x61,0x65,0x05,0x0d,0x60,0x55,0xe4,0xd8,0x0a,0xbc,0x03,
0xec,0x0a,0x68,0x5a,0x8b,0xa0,0x94,0x20,0x70,0x52,0x58,0xf3,0x9e,0x0b,0x37,0xb4,
0xbc,0xb3,0xe9,0x57,0x92,0x2c,0x1f,0x92,0xf3,0xc6,0xe9,0xcd,0x45,0x71,0x79,0x08,
0x07,0x3b,0x29,0xa8,0xa8,0xc6,0x57,0x5e,0xcd,0xee,0x4d,0x2f,0x83,0x65,0xf1,0xfc,
0x62,0xaa,0x19,0x4e,0xfc,0xaa,0xea,0x0e,0x06,0x83,0x4b,0x06,0xc3,0xe1,0xfb,0x24,
0x58,0x20,0xcb,0x32,0xb2,0x2c,0x23,0x0d,0xfd,0x94,0x24,0xab,0x02,0xdc,0x90,0x11,
0xc9,0xfe,0x7b,0xe8,0xf7,0x23,0xbd,0xd0,0x51,0x1b,0x54,0x23,0xb6,0xab,0x46,0x5a,
0x9a,0x87,0x7e,0x37,0x4d,0x13,0xc3,0x30,0x30,0xec,0x9f,0xa6,0x69,0xea,0x1e,0xb7,
0xfb,0x9b,0x3e,0x9f,0xef,0x66,0xd3,0x34,0xa3,0x62,0x6f,0x56,0x60,0xca,0xd0,0xd0,
0x14,0xfc,0x22,0x20,0xf9,0x55,0xf5,0xa3,0x7e,0x55,0xdd,0xe1,0x57,0x55,0xf3,0xe0,
0x43,0xad,0xa9,0x36,0xaf,0xbf,0xf7,0x9f,0xe6,0xad,0xdb,0x7a,0xcc,0xcf,0xfd,0xe6,
0x8f,0xa6,0x5a,0x53,0x63,0xfa,0x55,0xf5,0x46,0xdb,0x49,0x23,0x65,0x20,0xcb,0xf2,
0xc9,0x92,0x55,0xf4,0xcd,0x9c,0xc8,0x21,0x49,0x52,0x42,0xc7,0x04,0xaf,0x6f,0x28,
0x8a,0xf2,0x1f,0x05,0x79,0x79,0x62,0xeb,0x31,0x85,0xe0,0xc8,0x80,0x36,0x7c,0xa6,
0xa1,0x29,0xf8,0x64,0x7d,0x9d,0xef,0xff,0xfc,0xaa,0x7a,0x37,0xf0,0x35,0xe0,0x7a,
0xac,0x84,0xf0,0x96,0x56,0x92,0x15,0x76,0xbc,0xf6,0x32,0xf3,0x96,0x1d,0xc3,0xc2,
0x55,0x27,0x11,0xe9,0xd8,0x83,0x67,0x8e,0xfa,0x59,0x7b,0x2a,0xf8,0xc3,0x14,0x21,
0xef,0xa9,0x86,0x61,0xfc,0x1d,0xbb,0x1c,0xaa,0x2c,0xcb,0xb8,0x9c,0x4e,0x1c,0x4e,
0x27,0x0e,0x87,0x03,0x87,0xa2,0x1c,0xd0,0xc6,0xb6,0x03,0xc5,0x90,0x56,0x66,0x84,
0x16,0x4e,0x84,0x5d,0x43,0x0e,0x23,0x86,0x61,0xa0,0xdb,0xdb,0x4a,0xb1,0x78,0x9c,
0x58,0x34,0x4a,0x38,0x1c,0x3e,0x5c,0x29,0x13,0x49,0xd7,0xf5,0xef,0x0e,0x0c,0x0e,
0xfa,0xb0,0xf6,0xc0,0x05,0xc4,0x14,0x7a,0xd2,0xda,0x77,0x3e,0x96,0xbf,0xec,0xb5,
0xf5,0x75,0xbe,0xff,0x1a,0x31,0x15,0x5d,0x05,0xdc,0x87,0x95,0x7c,0xdb,0x12,0x5a,
0xc3,0xa0,0x72,0xc5,0x71,0x98,0xa6,0x49,0xcb,0x96,0xe1,0xba,0x57,0x71,0xe0,0xbd,
0x01,0x4d,0x7b,0x6c,0x56,0x47,0x51,0x87,0xe3,0x28,0xd3,0x34,0x5f,0xcc,0xcf,0xcb,
0xcb,0xf3,0x78,0x3c,0x38,0x9d,0xce,0x43,0xc9,0x39,0x43,0x18,0x9a,0x3e,0x47,0x22,
0x11,0xfa,0x07,0x06,0x08,0x85,0x42,0x63,0x3d,0xef,0xf7,0xe2,0xf1,0xf8,0x7f,0x08,
0xfa,0x08,0x02,0x4f,0x96,0xc0,0x9f,0xb5,0xd7,0xb3,0x4f,0xd6,0xd7,0xf9,0xce,0x3a,
0x68,0x3d,0x59,0x81,0xb5,0x75,0xb1,0x62,0xac,0x73,0x4b,0x17,0x2c,0x21,0x1a,0x0e,
0xd1,0xdb,0xbc,0xbb,0x19,0x58,0x3e,0x5b,0x1e,0x40,0x15,0xe5,0xe5,0x1e,0xd3,0x34,
0x37,0xb9,0xdd,0xee,0x25,0xa9,0x98,0x41,0x52,0xd7,0x75,0xfa,0xfb,0xfb,0x09,0xf6,
0xf4,0x8c,0x74,0xf5,0x34,0x9c,0x4e,0xe7,0x45,0xb1,0x58,0xec,0x21,0x41,0xa1,0x59,
0x9e,0xb9,0xa5,0xf9,0xf3,0x9f,0x6f,0xff,0x3c,0xa9,0xa1,0x29,0x38,0xaa,0xfa,0x60,
0x40,0xd3,0xf6,0x03,0x67,0x60,0x59,0x4a,0x47,0x1b,0xb7,0xdc,0x1e,0xae,0xfc,0xaf,
0xff,0xe5,0xea,0x9b,0xef,0x62,0xf1,0x86,0x73,0x2b,0x81,0x1f,0xcf,0x56,0x03,0xdc,
0x6e,0xf7,0xf5,0x1e,0x8f,0x67,0x49,0xaa,0xa6,0x7f,0x55,0x14,0x85,0xc2,0xc2,0x42,
0xaa,0xab,0xaa,0xc8,0xcb,0x1d,0xde,0xf9,0x92,0xe3,0xf1,0xf8,0xad,0x1e,0x8f,0xa7,
0x54,0x50,0x48,0x10,0x78,0xa2,0xda,0x37,0x17,0xab,0x22,0x04,0x58,0x7b,0xaa,0x87,
0x14,0xff,0xb1,0xb3,0xf4,0xbf,0x17,0xcb,0x33,0x6b,0x18,0xb1,0xc1,0x7e,0x4c,0xc3,
0xc0,0x95,0xe3,0xe5,0x84,0x8b,0x3e,0x88,0xa9,0xc7,0x3f,0xed,0x57,0xd5,0x75,0x33,
0xdd,0x06,0xdb,0x15,0xf3,0xba,0x74,0xe8,0x6f,0x45,0x51,0x28,0x2d,0x2d,0xa5,0xac,
0xb4,0x74,0x68,0xaa,0x3d,0x27,0x1a,0x8d,0xfe,0x50,0x50,0x48,0x10,0x78,0xa2,0x58,
0xc1,0xe8,0x9a,0xbf,0xeb,0xc7,0xfa,0x52,0x40,0xd3,0x9a,0x80,0xfa,0xd1,0xad,0x76,
0xf0,0xfc,0xdd,0xb7,0x13,0x1e,0xe8,0xa7,0xbf,0xbb,0x13,0x3b,0xda,0xfd,0x36,0x3b,
0x27,0xef,0x4c,0xe2,0x87,0x58,0xd5,0x2d,0xd2,0x06,0xb9,0xb9,0xb9,0x94,0xcf,0xb5,
0x0a,0x9f,0x1b,0x86,0xf1,0x29,0x97,0xd3,0x59,0x27,0x68,0x24,0x08,0x3c,0x11,0xf4,
0x33,0x7a,0x7b,0xf3,0xb0,0x55,0x0c,0x03,0x9a,0x76,0x37,0x70,0xc7,0xc8,0xcf,0x5e,
0xfe,0xf3,0xef,0xf8,0xf1,0xe9,0x75,0xdc,0xf3,0xed,0x6b,0x86,0xea,0xd9,0xd6,0x02,
0xbf,0x9b,0xa9,0xad,0x25,0xbf,0xaa,0x2e,0x62,0x9c,0xea,0x96,0xd4,0x45,0xe1,0x00,
0x00,0x11,0x68,0x49,0x44,0x41,0x54,0xeb,0xa9,0x0a,0x8f,0xc7,0xc3,0x9c,0xb2,0x32,
0x00,0x29,0xae,0xeb,0xdf,0x14,0x34,0x12,0x04,0x4e,0x1a,0xf5,0x75,0xbe,0x77,0x80,
0xdf,0xd8,0x7f,0x6e,0x05,0xfe,0x77,0x9c,0x53,0xbe,0x8c,0x55,0x00,0x6b,0x18,0x8e,
0x82,0x32,0x14,0xb7,0x95,0xe4,0xbc,0xb0,0x72,0x1e,0xee,0xbc,0x82,0xcb,0x81,0x7f,
0x9f,0xa1,0x26,0x5c,0x45,0x1a,0x6f,0xe3,0x79,0xbd,0x5e,0x7c,0x85,0x85,0x98,0xa6,
0x79,0xa9,0xc7,0xe3,0x29,0x12,0x54,0x9a,0x1d,0xa4,0xfd,0xa6,0x7c,0x43,0x53,0xd0,
0x55,0x5f,0xe7,0x4b,0x28,0x48,0xc1,0xaf,0xaa,0x5f,0x00,0x7e,0x75,0xf0,0xe7,0xbe,
0x2a,0x3f,0xd7,0x34,0xdc,0x8b,0x1e,0x8f,0xf1,0xd8,0x2d,0xbf,0xe4,0x8d,0xbf,0xde,
0xf9,0xd5,0xe9,0x74,0xb7,0xb4,0xc3,0x20,0x1b,0x49,0x32,0xc3,0x47,0xaa,0xc1,0x34,
0x4d,0x9a,0xf7,0xef,0x47,0xd7,0xf5,0x8f,0x1a,0x86,0xf1,0x47,0x41,0x27,0xa1,0x81,
0x27,0xa2,0x89,0x93,0x89,0x30,0xfa,0x1f,0xac,0x9a,0xad,0xa3,0x10,0x0b,0x87,0x30,
0x31,0x71,0x7a,0x72,0x58,0x77,0xe9,0xc7,0x31,0x0d,0xfd,0x67,0x7e,0x55,0xfd,0x89,
0x1d,0x59,0x34,0x1d,0x58,0x94,0xee,0xe4,0x05,0xcb,0xa5,0xb3,0xb4,0xa4,0x04,0xd3,
0x34,0x2f,0x14,0x54,0x12,0x04,0x9e,0x76,0x04,0x34,0x2d,0x0e,0x5c,0x7b,0xf0,0xe7,
0x03,0x9d,0x6d,0x3c,0xff,0x97,0x3f,0x10,0x8b,0x84,0x89,0x86,0x43,0x43,0x13,0x93,
0xeb,0x80,0x47,0xfd,0xaa,0x3a,0x1d,0x59,0xd0,0xcf,0x9e,0x81,0xe6,0x76,0x03,0xb7,
0xd9,0x9a,0x7e,0xda,0xe0,0x76,0xbb,0xf1,0x7a,0xbd,0x6b,0x72,0x73,0x73,0x9d,0x82,
0x4e,0x62,0x0a,0x3d,0xed,0xb0,0x8d,0x54,0x0f,0x03,0xe7,0x1e,0xd2,0x19,0xb2,0x6c,
0x39,0x2b,0x0c,0x39,0x2c,0x98,0x26,0x48,0x52,0x2f,0xf0,0x5d,0xac,0x74,0x2f,0x83,
0x93,0xb8,0xaf,0x02,0xac,0x0a,0x87,0xc3,0xd7,0x9a,0xa6,0x79,0x59,0x4e,0xce,0xb4,
0x17,0x18,0xfb,0x44,0x40,0xd3,0xfe,0xe0,0x57,0xd5,0x52,0x40,0xc3,0x76,0xd1,0x9c,
0x0e,0x44,0x22,0x11,0xda,0xda,0xdb,0xe7,0xe8,0xba,0x2e,0xf2,0x58,0x09,0x02,0xcf,
0x08,0x89,0x97,0x00,0x9b,0x00,0xcf,0xe1,0xbe,0x53,0xec,0x5f,0xc4,0x69,0x57,0x7e,
0x8e,0x70,0x5f,0x2f,0xcf,0xdc,0x7e,0x13,0xfd,0x6d,0xcd,0xcd,0xc0,0x2d,0xc0,0x1d,
0x01,0x4d,0xdb,0x9a,0xe0,0x7d,0x5c,0x58,0x45,0x9c,0x2f,0xc0,0x34,0x3f,0x60,0x44,
0x42,0x4b,0xfb,0x07,0x23,0xe4,0xe4,0xe5,0xe3,0x74,0x4e,0xbb,0xc2,0x3a,0x2f,0xa0,
0x69,0x8f,0xd8,0xeb,0xed,0xed,0x4c,0x71,0xca,0x9f,0x83,0xd7,0xc2,0x91,0x48,0x64,
0x5d,0x4b,0x6b,0xeb,0x0b,0x82,0x52,0x33,0x0b,0x47,0x36,0x36,0x3a,0xa0,0x69,0x8d,
0x7e,0x55,0xfd,0x29,0x47,0xb0,0x38,0x1f,0x7d,0xd6,0x05,0x2c,0x5d,0x7b,0x1a,0x98,
0x26,0x55,0x8b,0x97,0x71,0xcb,0x67,0x2e,0xad,0x34,0x0d,0xe3,0xbb,0xc0,0xf5,0x7e,
0x55,0x0d,0x00,0x2f,0x62,0xc5,0xc1,0xee,0xc5,0x4a,0x83,0x6a,0x60,0x65,0xde,0x98,
0x8b,0x15,0xdb,0x7b,0x0c,0x70,0x34,0x50,0x02,0x70,0x4a,0xfd,0x97,0x39,0xe1,0xbd,
0x97,0xf0,0xf8,0x6d,0x37,0xf1,0xfa,0x7d,0xb7,0x27,0xfb,0xc8,0x3a,0x70,0x17,0x49,
0xd4,0x33,0x3e,0x68,0x70,0x4e,0x26,0xdd,0x65,0x2b,0xe0,0x03,0x12,0x4e,0x29,0x29,
0x49,0x12,0x1e,0x8f,0xa7,0x5a,0xd0,0x49,0x10,0x78,0x26,0xf1,0x7d,0x2c,0x2f,0xad,
0xe3,0xc6,0xfa,0xe7,0xa6,0xbf,0xdf,0xc7,0xb2,0x75,0xa7,0x53,0x5c,0x51,0x4d,0x5e,
0x51,0x09,0xae,0xbc,0x02,0x22,0xbd,0x41,0x00,0x65,0xed,0xc7,0xae,0xa9,0x2d,0xae,
0xa8,0xae,0xdd,0xfe,0xea,0x8b,0x6c,0xf9,0xc7,0x43,0x23,0x55,0x11,0xb5,0x6b,0xcf,
0x44,0x3d,0xfa,0x78,0x1a,0x5f,0xf8,0x07,0xcd,0x9b,0x5f,0x1b,0xfe,0x7c,0xd9,0xda,
0xd3,0xf0,0x16,0x14,0xd2,0xaa,0xed,0x44,0x4e,0xde,0x6d,0xf2,0x07,0xc0,0xbd,0x49,
0x12,0x78,0xa2,0xb8,0x17,0xd8,0x0c,0xdc,0x94,0xe4,0x79,0x15,0x82,0x4e,0x82,0xc0,
0x33,0xa9,0x85,0xe3,0x7e,0x55,0xbd,0x0c,0xd8,0x08,0x1c,0xb2,0x8f,0xd9,0xb3,0x2f,
0xc0,0x6f,0xae,0x38,0x9b,0xe5,0xe7,0x5d,0x46,0x47,0x60,0xfb,0x10,0x79,0x59,0xf1,
0x9e,0xf7,0x73,0xda,0x47,0xaf,0x06,0x4c,0x8e,0x3e,0xe3,0x5c,0xee,0x35,0x0d,0x1a,
0xff,0xf9,0x77,0x00,0x8e,0xff,0xc0,0xc7,0x38,0xf7,0xea,0xaf,0x80,0x24,0xb1,0xe6,
0xa2,0x0f,0x72,0xfb,0x75,0x9f,0x66,0xdf,0xe6,0xd7,0x40,0x92,0x78,0xe4,0xa6,0x1b,
0x58,0x7d,0xc1,0x65,0x16,0x81,0xe5,0xa4,0x6c,0x87,0xcd,0xc0,0x8f,0x80,0x25,0x33,
0xd8,0x3d,0xbf,0xc5,0xda,0xa7,0x5e,0x95,0xc4,0x39,0x25,0x82,0x4e,0x33,0x8f,0x6c,
0xaf,0x0f,0xbc,0x03,0xb8,0x14,0x18,0x73,0x2b,0x4a,0x72,0xb8,0x78,0xf7,0xf1,0x07,
0x68,0x6b,0x7a,0x7b,0xf8,0xb3,0x9d,0xaf,0x3c,0x47,0x73,0x93,0x55,0x5f,0x2b,0x1a,
0x0a,0x11,0x19,0x38,0x50,0xd3,0x76,0xa0,0xbb,0x8b,0x68,0x24,0x8c,0x24,0xc9,0x84,
0xfb,0x7a,0x19,0x08,0x1e,0x28,0x99,0xa9,0x6d,0x7c,0x9e,0xbb,0xbf,0xf3,0x79,0xf6,
0x0e,0x69,0xe5,0xc4,0x71,0xeb,0x4c,0x24,0xe3,0x3b,0xa8,0x5f,0x4c,0xe0,0x67,0x49,
0x9e,0x96,0x23,0xe8,0x24,0x34,0xf0,0x6c,0x90,0xf8,0x1f,0x7e,0x55,0xfd,0x28,0x56,
0x0a,0xda,0x71,0xf7,0x7d,0x43,0x5d,0xed,0xfc,0xef,0xe7,0x3e,0x8c,0x3b,0xaf,0x80,
0x78,0x78,0x10,0x3d,0x76,0x80,0x5b,0x8d,0x4f,0x3d,0xcc,0xae,0x8d,0xcf,0x51,0x54,
0xed,0xa7,0x7d,0xe7,0x56,0xf4,0x68,0x64,0xac,0x05,0x63,0xb2,0x8f,0x78,0xcf,0x2c,
0x75,0xcd,0x03,0xc0,0x60,0x12,0xc4,0x74,0x08,0x3a,0x09,0x0d,0x3c,0x5b,0x24,0xfe,
0x8b,0xad,0x89,0x13,0xdb,0x26,0x32,0x4d,0x22,0x7d,0x3d,0xa3,0xc8,0x3b,0x84,0x48,
0x7f,0x2f,0x2d,0x8d,0x6f,0x8d,0x4d,0x5e,0x48,0x36,0x48,0xbf,0x93,0x31,0xc2,0x21,
0x67,0xa8,0x4f,0x22,0xc0,0x33,0x42,0x3a,0x04,0x81,0xd3,0x85,0xc4,0xf7,0x63,0x95,
0x4a,0xd9,0x3b,0x9d,0xf7,0x49,0x52,0xff,0x6e,0x9f,0xcc,0xde,0xf3,0x14,0xe0,0x5f,
0x42,0x32,0x04,0x81,0xd3,0x89,0xc4,0xaf,0x60,0x6d,0xfd,0xdc,0x09,0xd3,0x54,0xa7,
0x3b,0x39,0x0d,0xbc,0x6b,0x96,0xbb,0xe4,0x5d,0x21,0x15,0x82,0xc0,0xe9,0x46,0xe2,
0xee,0x80,0xa6,0x7d,0x08,0x38,0x07,0x78,0x6d,0x6a,0xb9,0x2b,0x25,0xbb,0x85,0xb4,
0x7f,0x8a,0x94,0xfe,0x44,0xdf,0xf3,0x2e,0x21,0x11,0x82,0xc0,0xe9,0x4a,0xe4,0x27,
0xb0,0x0a,0x7b,0x9f,0x03,0xfc,0x0d,0xcb,0x99,0x62,0xf2,0x1d,0x9e,0xdc,0x16,0x52,
0xcf,0x2c,0x13,0x58,0x24,0x6a,0x4f,0x71,0x08,0xcb,0xe1,0x91,0x49,0x6c,0x60,0x25,
0xc6,0x7b,0xdc,0xaf,0xaa,0x25,0xc0,0x05,0x58,0xf5,0x8e,0xd6,0x01,0x95,0x58,0x56,
0xeb,0x23,0xa9,0x54,0xd3,0x26,0x7e,0x1f,0xf0,0x36,0xf0,0x7a,0x4e,0x4e,0x4e,0x17,
0x56,0x35,0x89,0x44,0x10,0x9f,0xe5,0x2e,0x18,0x10,0x52,0x20,0x08,0x9c,0x29,0x64,
0xee,0xc4,0x8a,0xee,0xb9,0x0d,0xc0,0xaf,0xaa,0x3e,0x60,0x3e,0x96,0x07,0x52,0x09,
0xd6,0x76,0x8b,0x03,0x6b,0x4f,0xb9,0x1f,0x2b,0x41,0x7b,0x2b,0xb0,0x2f,0xa0,0x69,
0x1d,0x43,0xd7,0xf1,0xab,0xea,0xf2,0x24,0x08,0x2c,0x20,0x20,0x08,0x3c,0x4d,0x84,
0x0e,0x62,0x05,0x44,0x6c,0x12,0xbd,0x21,0x20,0xd6,0xc0,0x02,0x02,0x02,0x82,0xc0,
0x02,0x02,0x82,0xc0,0x02,0x02,0x02,0x82,0xc0,0x02,0xb3,0x8a,0xb8,0xe8,0x02,0x41,
0x60,0x81,0xf4,0x85,0x29,0xba,0x40,0x10,0x58,0x40,0x40,0x40,0x10,0x58,0x40,0x40,
0x40,0x10,0x58,0x40,0x40,0x40,0x10,0x58,0x40,0x40,0x10,0x58,0x40,0x40,0x40,0x10,
0x58,0x20,0x31,0xec,0xb5,0x02,0x2b,0x12,0x82,0x69,0x9a,0x9c,0xfd,0x85,0xef,0xac,
0x6c,0x68,0x0a,0x9e,0x7d,0xdd,0x5f,0x5f,0x3a,0xcb,0x9d,0x5f,0xe8,0x49,0x58,0x20,
0x1c,0xce,0xe1,0xe0,0x8c,0x40,0x12,0xf7,0x14,0x98,0x1d,0x08,0x5f,0xe8,0x14,0xc6,
0xe9,0x57,0x5f,0xb7,0xe1,0xe4,0x0f,0x5c,0x51,0x06,0xcc,0xed,0x6e,0xd9,0xe7,0xff,
0xf5,0x07,0x4f,0x47,0x71,0x8d,0xcf,0x45,0x33,0x16,0x45,0x5d,0x7e,0xcc,0x4f,0x01,
0x14,0xa7,0x8b,0xc2,0xf2,0x6a,0xda,0xfa,0x12,0x8b,0x4c,0x3c,0xf3,0x9a,0xaf,0x5f,
0x71,0xc2,0x05,0x97,0x9e,0x02,0x74,0x44,0x42,0x03,0x3d,0x3f,0x3c,0xc5,0x8f,0xab,
0xa8,0x52,0xbc,0x0c,0x41,0x60,0x01,0xb0,0x82,0xfa,0x4d,0x33,0xb1,0x2d,0xda,0xe2,
0xaa,0x9a,0x33,0x81,0x33,0x01,0x1c,0x4e,0x17,0xe8,0x09,0xfa,0x66,0x48,0x60,0x8e,
0xda,0x06,0x4e,0x7c,0x4b,0x58,0x71,0xba,0x0a,0x80,0xe5,0x00,0xb2,0xa2,0x10,0xef,
0x8d,0xe1,0x4a,0xa0,0x78,0xe8,0x92,0xd3,0xce,0x9f,0x7f,0xfd,0xb7,0x7e,0xb4,0x0c,
0x68,0xaa,0xaf,0xf3,0x09,0x27,0x12,0x41,0xe0,0xf4,0x47,0x43,0x53,0x30,0x1f,0xab,
0x0a,0xe1,0x1a,0xac,0x1c,0xcb,0x47,0x77,0xef,0xdf,0x7b,0xd4,0x8d,0x1f,0x39,0x77,
0xa8,0xa8,0x78,0xc6,0x40,0x3d,0xea,0xd8,0x0b,0x81,0x0b,0x81,0x78,0x43,0x53,0xf0,
0x5d,0xe0,0x4d,0xe0,0x75,0xac,0xbc,0x5a,0x5b,0xea,0xeb,0x7c,0x41,0x21,0x11,0x82,
0xc0,0xa9,0x4e,0xd8,0x32,0xac,0x2c,0x1e,0x1b,0x80,0xb5,0xb6,0x26,0x2b,0x38,0x58,
0x03,0x67,0x81,0x4c,0x1d,0x6d,0x1f,0x1f,0xb5,0x3f,0x0b,0x37,0x34,0x05,0xb7,0x00,
0x2f,0x61,0x65,0xba,0x7c,0xb1,0xbe,0xce,0xb7,0x57,0x48,0x8c,0x20,0xf0,0x6c,0x13,
0x56,0x06,0x4e,0xc2,0xaa,0x74,0x78,0x1e,0xb0,0x94,0x23,0x14,0x4c,0xcb,0x62,0x78,
0x80,0x63,0xed,0xe3,0x1a,0x20,0xd6,0xd0,0x14,0xdc,0x09,0x3c,0x02,0x3c,0x0a,0x3c,
0x95,0x64,0x9d,0x67,0x01,0x41,0xe0,0x09,0x93,0xd6,0x0b,0x9c,0x0a,0x5c,0x86,0x55,
0x5b,0xa9,0x54,0xf4,0x4a,0xd2,0x70,0x02,0x8b,0xed,0xe3,0x4b,0xc0,0x40,0x43,0x53,
0xf0,0x51,0xac,0x24,0xf6,0x8f,0x8a,0xe9,0xb6,0x20,0xf0,0x54,0x93,0x56,0x02,0x4e,
0x01,0x3e,0x06,0x5c,0x84,0xa8,0x03,0x34,0xd5,0xc8,0x05,0x3e,0x60,0x1f,0x43,0x64,
0xfe,0x03,0xf0,0x98,0xd0,0xcc,0x82,0xc0,0x93,0x21,0x6e,0x11,0x50,0x0f,0x7c,0x0a,
0x58,0x34,0x15,0xd7,0x34,0x33,0x34,0x46,0xc8,0x9c,0xba,0x86,0x8d,0x24,0xf3,0xfe,
0x86,0xa6,0xe0,0xef,0x81,0x9b,0xeb,0xeb,0x7c,0x7b,0x84,0x44,0x0a,0x02,0x27,0x4a,
0x5c,0x3f,0xf0,0x55,0xe0,0x93,0x4c,0x71,0xd1,0x2e,0x43,0x8f,0x27,0x6c,0xc8,0x4a,
0x05,0x83,0x97,0xc3,0x9b,0xd8,0xf7,0xfa,0xba,0x3a,0xa6,0xe3,0xf6,0x15,0xc0,0xb7,
0x80,0xaf,0x37,0x34,0x05,0xff,0x02,0xfc,0xa4,0xbe,0xce,0xf7,0xa6,0x90,0xd0,0x03,
0x10,0x9e,0x58,0xa3,0x89,0x5b,0xd3,0xd0,0x14,0x6c,0x00,0xb6,0x02,0x9f,0x65,0x1a,
0x2a,0xee,0x85,0xfa,0x7a,0x13,0xaa,0xce,0x60,0x9a,0x06,0x0e,0x87,0x73,0x56,0xfb,
0x43,0x92,0x24,0x72,0xab,0xeb,0x12,0xfa,0xee,0xe6,0xc7,0x1e,0xc0,0x34,0xa6,0xcd,
0x71,0x4b,0x01,0x3e,0x04,0x6c,0x6a,0x68,0x0a,0xde,0xdf,0xd0,0x14,0x3c,0x4a,0x48,
0xab,0x20,0xf0,0x48,0xe2,0x7a,0x1a,0x9a,0x82,0xdf,0x07,0x1a,0xb1,0xea,0xe2,0xba,
0xa6,0xeb,0x5e,0xfb,0xb7,0x6f,0x49,0x4c,0x53,0xc7,0x62,0xe4,0x15,0xcf,0xae,0x7d,
0x4c,0x71,0x38,0xa9,0x3a,0xfa,0x84,0x84,0xbe,0xdb,0xdf,0xde,0x42,0x6b,0x60,0xfb,
0xb4,0x8f,0x29,0xc0,0xc5,0xc0,0xeb,0x0d,0x4d,0xc1,0x5b,0x1a,0x9a,0x82,0xc5,0x82,
0xc0,0x82,0xbc,0x1b,0x80,0x77,0x80,0xeb,0x01,0xef,0x74,0xde,0x2b,0x1e,0x8d,0xf2,
0xda,0x43,0x89,0x55,0x0b,0xcd,0x29,0x2a,0xa5,0xa0,0x74,0xce,0xec,0x6a,0x60,0x45,
0xa1,0x6a,0x69,0x82,0xca,0x4e,0x92,0xd8,0xfc,0xd4,0xa3,0x13,0x29,0x9f,0x3a,0xd1,
0xa5,0x5f,0x3d,0xd0,0xd4,0xd0,0x14,0xbc,0xdc,0x36,0x32,0x0a,0x02,0x67,0x19,0x71,
0x1d,0x0d,0x4d,0xc1,0xff,0x04,0xfe,0x01,0x2c,0x98,0x89,0x7b,0x36,0x6d,0x7c,0x9e,
0x8e,0xed,0x89,0xd5,0x0b,0xab,0x5b,0x77,0x26,0xde,0x02,0xdf,0xec,0x76,0x92,0x69,
0xb2,0xe0,0xd8,0x13,0x30,0x13,0x74,0xe1,0xdc,0x78,0xf7,0x1f,0x68,0x0f,0xec,0x98,
0xc9,0x27,0x2c,0x01,0xee,0x00,0x6e,0x6f,0x68,0x0a,0xe6,0x09,0x02,0x67,0x0f,0x79,
0x0b,0x80,0x87,0x81,0x6f,0xcc,0x54,0x1f,0x74,0x35,0xef,0xe1,0xe1,0x9f,0xff,0x07,
0x92,0xac,0x24,0xf4,0xfd,0x95,0x67,0x5f,0x80,0x69,0x4e,0xc5,0x9a,0xd2,0x1c,0xb3,
0x8e,0x71,0xa2,0xa8,0x5a,0xb4,0x8c,0x92,0xda,0xa5,0x89,0x4d,0xfb,0xf5,0x38,0x8f,
0xde,0xfc,0x73,0xa2,0xe1,0x19,0xaf,0x88,0xfa,0x11,0xe0,0x85,0x86,0xa6,0x60,0xb5,
0x20,0x70,0xe6,0x93,0xd7,0x67,0x6b,0xdd,0xb3,0x67,0xea,0x9e,0x5d,0xcd,0x7b,0xb8,
0xf3,0xbb,0x5f,0x26,0x92,0x60,0x44,0x50,0xdd,0x29,0xe7,0xa0,0xae,0x38,0x76,0xea,
0x14,0xa9,0x91,0xf8,0x16,0x8f,0x24,0x8f,0x9e,0x8d,0x3a,0xdc,0x6e,0xce,0xfc,0xd4,
0x97,0x12,0xde,0xff,0xd2,0x5e,0x7d,0x9e,0x27,0x6e,0xf9,0x15,0xb1,0x48,0x64,0xa6,
0x5f,0xed,0xd1,0xc0,0x8b,0x0d,0x4d,0xc1,0xf9,0x82,0xc0,0x99,0x4b,0x5e,0x17,0xf0,
0x20,0x56,0x60,0xc1,0xb4,0x43,0x8f,0xc5,0xd8,0xf2,0xc2,0x53,0x34,0x5c,0x73,0x39,
0x5d,0x81,0x6d,0x09,0xaf,0x7d,0xcf,0xfe,0xf4,0x97,0x27,0x15,0xec,0x60,0x9a,0x13,
0xdf,0x82,0x1a,0xeb,0xac,0x45,0xab,0x4e,0xe6,0xf8,0x0f,0x7c,0x2c,0xe1,0x6b,0x6c,
0xfa,0xeb,0x1d,0xdc,0xf7,0x93,0xeb,0x09,0xb6,0xee,0x9f,0xa9,0x35,0xf1,0x10,0x6a,
0x80,0x27,0x1a,0x9a,0x82,0xa5,0x82,0xc0,0x99,0x89,0x1b,0xb0,0x3c,0xaa,0xa6,0x15,
0xb1,0xf0,0x20,0x8d,0x2f,0x3d,0xc3,0xed,0x5f,0xbf,0x9a,0x7b,0xbe,0xf3,0x39,0xa2,
0x03,0xfd,0x09,0x9d,0xe7,0xce,0x2f,0xe4,0x8a,0xff,0xbc,0x09,0xdf,0xdc,0x8a,0xc9,
0x3d,0x80,0xa1,0xe3,0x70,0xb9,0x87,0x29,0xe9,0x70,0xbb,0x13,0x1f,0x74,0xe2,0xf1,
0x31,0xb4,0xb2,0xcc,0x99,0x57,0x7e,0x8e,0xe5,0xe7,0x5c,0x9c,0xf0,0x75,0xb6,0x3d,
0xf7,0x38,0xbf,0xfd,0xf4,0x25,0x3c,0x7f,0xd7,0x6d,0xf4,0x75,0xb6,0xcf,0xe4,0x3b,
0xae,0x05,0x6e,0xb3,0xfd,0xd4,0x05,0x81,0x33,0x48,0xfb,0xae,0xc6,0xda,0xdb,0x9d,
0x56,0xf4,0x77,0x77,0x71,0xdb,0xd7,0x3e,0xcd,0x3d,0xff,0xfe,0x05,0xf6,0x6d,0x7e,
0x15,0x49,0x19,0xdf,0x57,0xc6,0x34,0x4d,0xaa,0x57,0xae,0xe1,0xaa,0x1b,0xff,0x44,
0x79,0xed,0xd8,0xfb,0xae,0x86,0x61,0x24,0xec,0xed,0x24,0x29,0x0e,0x5c,0x39,0x96,
0x41,0x5d,0x96,0x65,0xf2,0x4a,0xcb,0x13,0x7e,0xfe,0xee,0xe6,0xbd,0x63,0x6a,0x6f,
0xa7,0xc7,0xc3,0x05,0x5f,0xf8,0x36,0xeb,0xaf,0xfc,0x42,0xc2,0xda,0x3d,0x16,0xea,
0xe7,0xe9,0x5b,0x7e,0xc1,0xad,0x9f,0xff,0x08,0xdd,0x2d,0xcd,0x33,0xf9,0xba,0xcf,
0x07,0x2e,0x15,0x04,0xce,0x2c,0x5c,0x8f,0xe5,0x10,0x30,0xad,0x78,0xe3,0x89,0xbf,
0xd1,0xda,0xf8,0x56,0x82,0x53,0x5d,0x83,0x82,0x8a,0x6a,0x2e,0xfc,0xe6,0x8f,0xf9,
0xc8,0x0f,0xfe,0x9b,0xe2,0xca,0x9a,0xc3,0x7e,0x37,0x12,0xea,0x47,0x4a,0xd0,0xb1,
0xa3,0xb0,0x7a,0x3e,0x1e,0xaf,0x65,0x94,0x95,0x15,0x85,0x92,0xea,0x79,0x09,0x3f,
0x7f,0xcb,0x8e,0xc6,0xc3,0x4e,0x7b,0x1d,0x2e,0x17,0xa7,0x5e,0x51,0xcf,0x95,0xbf,
0xb9,0x83,0xc5,0x1b,0xce,0x45,0x0f,0x27,0x56,0x3e,0xb8,0xbf,0xbd,0x85,0x97,0xee,
0xbb,0x63,0xa6,0xdf,0x77,0x56,0x94,0x70,0xcd,0x0a,0x57,0x4a,0x7b,0x4d,0x74,0xee,
0x4c,0xdc,0x4b,0x92,0x8e,0x3c,0x26,0x9a,0x86,0x8e,0x24,0x41,0xed,0x69,0x97,0x53,
0xb3,0x72,0x1d,0x8b,0x8e,0x3d,0x96,0xb2,0xf2,0x42,0xc6,0x5b,0xf2,0xf6,0x77,0x75,
0x22,0x3b,0x12,0xf3,0x2f,0x99,0x7f,0xfc,0x49,0xb8,0xbc,0x5e,0x4c,0x5b,0x6b,0xd7,
0x2c,0x3b,0x9a,0x8d,0xd6,0xc2,0x78,0xdc,0x73,0x5b,0xb7,0x6d,0x61,0xb0,0xaf,0x07,
0x4f,0x6e,0xfe,0x61,0x17,0xd8,0x95,0x8b,0x96,0x72,0xe1,0x57,0x7e,0xc0,0xb2,0x73,
0x3e,0xce,0xae,0xd7,0x5f,0x66,0xfb,0xb3,0x0f,0xd0,0xbb,0x77,0x0b,0xb2,0x33,0xe7,
0xb0,0xe7,0x78,0x0a,0x8a,0x66,0xfa,0xb5,0x2f,0x6e,0x68,0x0a,0xae,0xa9,0xaf,0xf3,
0xfd,0x4b,0x10,0x38,0xfd,0xb1,0x0a,0x2b,0x84,0x6d,0xda,0x71,0xc2,0x05,0x97,0x92,
0x5b,0x3c,0x97,0xc0,0x96,0x9d,0x44,0x06,0x7a,0x50,0x9c,0x6e,0x3c,0x05,0x45,0xb8,
0x3c,0x5e,0xbc,0xbe,0x52,0xf2,0x4a,0xe6,0x92,0x5f,0x5a,0x89,0xe2,0xb4,0xc8,0x38,
0x18,0x85,0xbd,0x7b,0x43,0x14,0x15,0xb9,0xc8,0xcf,0x3f,0xdc,0xeb,0x90,0xd8,0xbf,
0x7d,0x6b,0xc2,0x86,0xad,0x65,0xeb,0xcf,0x1c,0xe5,0xd6,0x58,0xbd,0xe4,0x28,0x14,
0x97,0x0b,0x3d,0x16,0x1b,0xf7,0xdc,0x50,0x67,0x2b,0x1d,0xbb,0x03,0x54,0x1f,0xc6,
0x81,0x43,0xd7,0x4d,0xba,0xbb,0x63,0xf4,0xf7,0xc7,0xc9,0x2d,0x55,0x59,0x71,0xb6,
0xca,0x8a,0xb3,0x2e,0x63,0xa0,0xbb,0x9d,0xfe,0xee,0x36,0xfa,0x3b,0xf6,0x13,0x19,
0x1c,0x20,0xd2,0x17,0x24,0x36,0xd8,0x8f,0xec,0x70,0x52,0xb1,0x68,0x05,0xab,0xce,
0x3a,0x75,0x36,0xde,0xfb,0x7a,0xac,0x8c,0x20,0x82,0xc0,0x69,0x8e,0x9a,0x99,0xba,
0x91,0xd3,0xe3,0x61,0xe5,0x19,0x67,0xb3,0x74,0x9d,0x41,0x6f,0x6f,0x9c,0x81,0x90,
0x3e,0xee,0x16,0x8c,0x61,0x40,0x67,0x67,0x94,0x50,0x48,0xa7,0xac,0xcc,0x85,0x7c,
0xd0,0x56,0x4e,0x74,0x70,0x80,0xd7,0x1f,0xfa,0x4b,0x42,0xf7,0x2f,0x9a,0x57,0x8b,
0x7a,0xd4,0x71,0xa3,0xa7,0xd4,0x65,0x73,0x59,0x7d,0xc9,0x27,0x78,0xf9,0x8e,0x5b,
0xc6,0x5f,0x53,0x39,0x9c,0x6c,0x7e,0xfa,0xd1,0x31,0x09,0x1c,0x0e,0xeb,0xb4,0xb7,
0x47,0xd1,0x75,0xf3,0xe0,0x69,0x07,0xb9,0xc5,0x73,0xc8,0x2d,0x9e,0xc3,0xdc,0xda,
0x15,0xc3,0x83,0x8e,0x2c,0x43,0x41,0x81,0x83,0xfc,0x7c,0x07,0x8a,0x32,0x2b,0xce,
0x52,0x55,0x62,0x0d,0x9c,0x19,0x88,0xcd,0xf4,0x0d,0xdd,0x6e,0x99,0xb2,0x32,0x17,
0x73,0xca,0x5c,0xc8,0x09,0xca,0xee,0xe0,0xa0,0x4e,0x4b,0x4b,0x04,0xe3,0xa0,0x7d,
0xdb,0x57,0xfe,0x76,0x37,0x3d,0xcd,0xda,0xb8,0xe7,0xeb,0xd1,0x30,0xe7,0x7e,0xee,
0x1b,0x38,0x0f,0xb2,0x3a,0x9b,0xa6,0xc9,0x89,0xef,0xfb,0x30,0x39,0x45,0x89,0x85,
0x31,0x6f,0xbc,0xf3,0x56,0x9a,0x9b,0x46,0x7b,0x8c,0x85,0x42,0x3a,0xad,0xad,0x91,
0x43,0xc9,0x7b,0xd8,0xf6,0x4b,0x54,0x56,0x7a,0xf0,0xf9,0x9c,0xb3,0x45,0xde,0x59,
0x79,0xef,0x82,0xc0,0xd3,0x83,0xc6,0xd9,0xba,0xb1,0xd7,0xab,0x50,0x5e,0xee,0x49,
0x78,0x3b,0x34,0x1a,0x35,0x68,0x6f,0x8b,0xda,0x9a,0x77,0x90,0xe7,0xee,0xfc,0x3d,
0x4f,0xdf,0xf2,0x0b,0xc6,0xde,0xa1,0x1d,0xbd,0xce,0x3c,0xa5,0xfe,0x5a,0xe6,0xaf,
0x1c,0x7b,0x8b,0x3b,0xaf,0xa8,0x98,0xcb,0xbe,0xf7,0xcb,0xc4,0x84,0xc2,0xe5,0xe6,
0xae,0xef,0x7e,0x69,0x38,0x38,0x21,0x12,0x31,0x68,0x6f,0x8f,0x24,0x1c,0xcb,0x9c,
0x93,0x63,0xb5,0xd9,0xe1,0x98,0x75,0x17,0xe5,0x6d,0x82,0xc0,0x99,0x81,0x37,0x81,
0xce,0xd9,0xba,0xb9,0xcb,0x2d,0x53,0x56,0x9a,0xf8,0x5e,0xec,0x60,0x58,0x67,0xef,
0xce,0xfd,0xdc,0xf6,0xd5,0x7a,0x9e,0xb9,0x35,0x01,0xd2,0x99,0x26,0xab,0x2e,0xf9,
0x38,0xa7,0x5c,0x7e,0xe5,0x11,0x8d,0x68,0x35,0x4b,0x8f,0xe6,0xc3,0x3f,0xbd,0x25,
0xa1,0x7d,0xe1,0x81,0x8e,0x56,0x7e,0x77,0xd5,0xc5,0xbc,0xf1,0xe4,0xdf,0x93,0x22,
0xaf,0xd3,0x69,0xcd,0x3c,0x52,0x24,0x77,0xdf,0x13,0x82,0xc0,0x19,0x80,0xfa,0x3a,
0xdf,0x20,0xf0,0x7f,0xb3,0xf9,0x0c,0xde,0x5c,0x05,0xaf,0x37,0xf1,0x5d,0xac,0x17,
0xef,0xf9,0x23,0x6d,0x4d,0x6f,0x8f,0xfb,0x3d,0x23,0x36,0xc8,0xb1,0x1f,0xfa,0x2a,
0xab,0x2f,0xb9,0x66,0xd8,0x30,0x76,0x24,0xf8,0x8f,0x39,0x81,0xf3,0xbe,0xfd,0xbf,
0x14,0xaa,0xcb,0xc7,0xfd,0xae,0x24,0x2b,0xfc,0xf5,0x07,0x5f,0xb4,0x3c,0xaa,0x12,
0x44,0x69,0xe9,0xa1,0x6b,0xf8,0x59,0xc2,0xa3,0xf5,0x75,0xbe,0x80,0x20,0x70,0xe6,
0xe0,0xc7,0xc0,0xac,0x26,0x4b,0xf3,0xf9,0x12,0x34,0x84,0x4b,0x12,0x3b,0x9f,0xb9,
0x7b,0x3c,0xb5,0xcb,0x9c,0x65,0x27,0x71,0xfe,0xf7,0xef,0x66,0xf9,0x19,0x97,0xd0,
0xd7,0x6f,0x12,0x0e,0xeb,0xe3,0x5e,0xba,0xa3,0x23,0x42,0x41,0xc5,0x02,0xce,0xfd,
0xda,0x7f,0x73,0xfc,0x15,0xd7,0xe1,0xf0,0x1c,0x39,0x88,0x47,0x72,0x78,0x08,0xf5,
0x24,0x36,0x79,0xf1,0xe6,0x28,0xb8,0xdd,0x29,0x21,0x52,0x71,0xac,0x4c,0x1e,0x19,
0x8f,0xac,0x49,0xa9,0x53,0x5f,0xe7,0x6b,0x6d,0x68,0x0a,0x5e,0x03,0xfc,0x79,0xd6,
0xa6,0xd2,0x2e,0x19,0xb7,0x5b,0x26,0x12,0x31,0xc6,0x9d,0x12,0xcf,0x3d,0x6a,0x3d,
0xfb,0x5e,0x7b,0x72,0xf4,0xc7,0x86,0x81,0xac,0x28,0xf8,0xd7,0xbf,0x8f,0x85,0x27,
0xbd,0x87,0x39,0x0b,0x96,0x8d,0x8a,0x6e,0xea,0xec,0x8c,0x51,0x59,0xa9,0x1c,0x76,
0xfa,0x1a,0x0a,0xe9,0x84,0x42,0x16,0xc9,0x1d,0xee,0x1c,0x96,0x6e,0x78,0x3f,0xf3,
0x57,0x9d,0xce,0x9e,0xb7,0x5e,0x62,0xdb,0xb3,0x0f,0xd2,0xf1,0xee,0xf3,0xc8,0xee,
0xd1,0x84,0xce,0xaf,0xa8,0xc5,0x57,0xae,0x26,0xd4,0xbe,0xfc,0x82,0x94,0x11,0xa7,
0x1f,0xd6,0xd7,0xf9,0x36,0x65,0x83,0x5c,0x67,0x5d,0x20,0x74,0x43,0x53,0xf0,0x87,
0xb3,0x39,0x3a,0xf7,0xf4,0xc4,0xe8,0xee,0x1e,0xdf,0x38,0x3a,0xd8,0xd3,0xc5,0xee,
0x57,0x1f,0xa1,0xb7,0x65,0x07,0xb2,0xa7,0x08,0x77,0xfe,0x1c,0x4a,0xd4,0x3a,0x8a,
0xaa,0x16,0xe0,0xc9,0x2b,0x3c,0xec,0x79,0x65,0x65,0x2e,0x72,0x73,0xc7,0x26,0x52,
0xf3,0xbe,0x30,0xd1,0xd8,0xd8,0x83,0x87,0xa1,0xc7,0xe9,0xef,0x68,0xa1,0x73,0xcf,
0x36,0xba,0xf6,0xec,0x20,0xbf,0x40,0xa6,0xb8,0xa2,0x8a,0xfc,0x9a,0x13,0x70,0xe7,
0x8f,0xef,0x84,0x21,0x49,0x30,0x6f,0x9e,0x37,0x15,0xd6,0xbe,0xf7,0x02,0x1f,0xac,
0xaf,0xf3,0xe9,0x82,0xc0,0x99,0x49,0x60,0x19,0x2b,0xa8,0xe1,0xda,0xd9,0xb8,0x7f,
0x38,0x6c,0x6d,0x15,0x25,0x82,0xe2,0x62,0x27,0xf9,0xf9,0x0e,0x42,0x21,0x6b,0xff,
0x35,0x11,0x78,0x3c,0x32,0xe5,0xe5,0x9e,0x49,0xdd,0xd7,0xe9,0x94,0xa9,0xaa,0xf2,
0x60,0x9a,0xb0,0x7b,0x77,0x28,0x21,0x03,0x56,0x4e,0x8e,0xcc,0xdc,0xb9,0xb3,0x9e,
0xd3,0xfe,0x41,0xe0,0xb2,0x6c,0x4a,0x45,0x9b,0x75,0xf1,0xc0,0xf5,0x75,0x3e,0xa3,
0xbe,0xce,0xf7,0x15,0xac,0xac,0x93,0x33,0x5e,0x84,0x2b,0xa9,0x3d,0x51,0x3b,0x2c,
0x30,0x27,0x47,0x49,0x58,0xb3,0x85,0xc3,0xc6,0x98,0x7b,0xb5,0x03,0x03,0x89,0x2b,
0x24,0xaf,0x57,0x9e,0x40,0xbb,0x66,0x5d,0x94,0x6e,0x04,0x3e,0x90,0x6d,0x79,0xa4,
0xb3,0x36,0xa5,0x4e,0x7d,0x9d,0xef,0xe7,0xc0,0x59,0xc0,0x8c,0xd6,0xe8,0x49,0x2a,
0x7d,0xb2,0x4d,0x5a,0x59,0x96,0x70,0xb9,0x12,0x7f,0x55,0xe1,0xc1,0x43,0xc9,0x3a,
0x38,0x98,0x38,0x81,0x3d,0x1e,0x25,0x9d,0x5e,0x65,0x2f,0x70,0x45,0x7d,0x9d,0xef,
0xf3,0xd9,0x32,0x6d,0x16,0x04,0x3e,0x40,0xe2,0xa7,0x81,0x15,0x40,0x03,0xc9,0xd4,
0xe0,0x9c,0x05,0x24,0x63,0xdd,0x0d,0x1f,0x64,0x24,0x8b,0xc7,0xcd,0x84,0x3d,0xa8,
0x24,0x89,0xa4,0x06,0x8b,0x59,0xc6,0xdf,0x81,0x15,0xf5,0x75,0xbe,0x3f,0x67,0xab,
0x0c,0x67,0x7d,0x56,0xca,0xfa,0x3a,0x5f,0x4f,0x7d,0x9d,0xef,0x53,0x58,0xd5,0x04,
0x5f,0x4c,0xd5,0xe7,0x74,0x39,0x13,0x7f,0x55,0xd1,0xe8,0x41,0x04,0x8e,0x19,0x09,
0x6b,0x7e,0x59,0x96,0x26,0xe8,0xfa,0x38,0xa3,0xe3,0x5f,0x23,0x70,0x71,0x7d,0x9d,
0xef,0xfc,0x6c,0xaf,0xd8,0x20,0xf2,0x42,0x1f,0x20,0xf2,0x4b,0xc0,0x3a,0xe0,0x7d,
0xc0,0x6b,0xa9,0xf6,0x7c,0xc9,0xb8,0x25,0xc6,0xe3,0xe6,0x11,0xff,0x4e,0xe6,0x3e,
0x29,0x56,0x0e,0x75,0x27,0x56,0x3a,0xd9,0x63,0xea,0xeb,0x7c,0x0f,0x0a,0xa9,0x15,
0xa5,0x55,0x0e,0x26,0xb1,0x09,0x3c,0xd0,0xd0,0x14,0xfc,0x1b,0x70,0x06,0xf0,0x75,
0xe0,0x34,0x52,0xc0,0x5a,0x2f,0x27,0xa1,0x15,0x4d,0x73,0x28,0x2f,0x96,0xf5,0xb7,
0x6e,0x98,0xd3,0x32,0x50,0xcc,0x20,0xde,0x00,0x7e,0x0a,0xdc,0x53,0x5f,0xe7,0x8b,
0x09,0x49,0x15,0x04,0x1e,0x8f,0xc8,0x3a,0xf0,0x38,0xf0,0x78,0x43,0x53,0x70,0x19,
0xf0,0x19,0xac,0xd2,0x1e,0x65,0xb3,0xf5,0x4c,0xc9,0x28,0x42,0xd3,0x34,0x31,0x4d,
0x73,0x58,0x7b,0x1a,0xc9,0x64,0xa5,0x4c,0x9d,0xd7,0xd0,0x8b,0xb5,0x2d,0x74,0x73,
0x7d,0x9d,0xef,0x45,0x21,0x95,0x82,0xc0,0x13,0x25,0xf3,0xbb,0xc0,0x17,0x1b,0x9a,
0x82,0xdf,0xc0,0x4a,0x45,0xfb,0x11,0xac,0xec,0x1e,0xb9,0x33,0x40,0xdb,0x29,0x59,
0x62,0xa6,0x51,0x45,0xc4,0x18,0xf0,0x14,0x96,0xb7,0xdc,0x83,0xa2,0x4e,0xb0,0x20,
0xf0,0x54,0x12,0x79,0xd0,0xd6,0x08,0x0f,0xda,0x55,0x00,0xce,0xc1,0xaa,0xd3,0xf3,
0x5e,0x60,0x5a,0x4a,0x28,0x4c,0x66,0xf9,0x39,0x51,0xd2,0x9a,0x33,0x3f,0x48,0x84,
0xec,0xd9,0xce,0x83,0xc0,0x43,0xf5,0x75,0xbe,0x0e,0x21,0x6d,0x82,0xc0,0xd3,0x4d,
0xe6,0x7e,0x2c,0x97,0xbd,0x7b,0xed,0xba,0x3c,0x27,0xda,0xda,0xf9,0x2c,0xac,0x04,
0xe3,0xf9,0xa2,0x97,0x0e,0x8b,0x41,0xac,0xea,0x8f,0x4f,0xd8,0xc4,0x7d,0x56,0x14,
0xf1,0x16,0x04,0x9e,0x4d,0x32,0x9b,0xc0,0x4b,0xf6,0xf1,0x3d,0xbb,0x6c,0xcb,0x4a,
0xac,0x6d,0xa9,0x93,0xed,0xdf,0x27,0x5d,0xf2,0x23,0x8d,0xeb,0x82,0xb7,0x03,0x6f,
0x61,0x6d,0xd1,0xbd,0x00,0xbc,0x26,0xb4,0xac,0x20,0x70,0x2a,0x13,0xba,0x17,0x78,
0xd6,0x3e,0x68,0x68,0x0a,0x3a,0xb1,0x8c,0x5f,0xab,0x80,0x95,0xa6,0x61,0x1e,0x27,
0xcb,0xd2,0x29,0x86,0x61,0xce,0x58,0x9a,0xc6,0x99,0x58,0x03,0xcb,0xd6,0x7c,0x7f,
0x8f,0x4d,0xd6,0x37,0xed,0xe3,0x15,0x60,0x7f,0x7d,0x9d,0x2f,0x22,0x24,0x43,0x10,
0x38,0x5d,0x09,0x1d,0x03,0x9a,0x81,0xbf,0xda,0x07,0x00,0x37,0xfc,0xab,0xbd,0x20,
0x12,0xd1,0x57,0xc6,0x62,0xe6,0x3c,0x49,0x62,0x85,0xae,0x9b,0x95,0xb2,0x2c,0x1d,
0x6d,0x18,0xe6,0x5c,0x7b,0x0a,0xee,0x65,0x16,0x8c,0xc2,0x63,0x91,0x7d,0xc8,0x98,
0x0d,0x0c,0x28,0x8a,0xd4,0x27,0x4b,0xd2,0x5e,0x24,0xb6,0x28,0x8a,0xa4,0x29,0x8a,
0xb4,0x25,0x37,0x57,0xd9,0x59,0x50,0xe0,0x7c,0xfb,0xe3,0xf3,0x0b,0x42,0xe2,0x8d,
0x0b,0x02,0x67,0x05,0xbe,0xb6,0xa6,0x6c,0x48,0x53,0x1f,0x82,0x9f,0x6f,0x6c,0xf7,
0x85,0xc3,0x46,0x99,0x2c,0xe3,0xb1,0xb5,0xf7,0x5c,0xd3,0x64,0xae,0x24,0x51,0x25,
0xcb,0x52,0x0d,0x50,0x62,0x9a,0xe4,0x9a,0xa6,0xe9,0xb0,0x89,0x5e,0x20,0x49,0x92,
0x17,0x70,0x03,0x4e,0x49,0xc2,0x01,0x0c,0xd8,0x03,0x80,0x64,0x9a,0xe4,0x8d,0x20,
0x22,0x58,0x41,0x1c,0x11,0x7b,0x3d,0xda,0x63,0x9a,0xf4,0x4a,0x12,0x51,0x59,0x96,
0x06,0x24,0x89,0x56,0x40,0xb3,0xa7,0xbe,0xed,0x1e,0x8f,0xdc,0x63,0x18,0x68,0x1e,
0x8f,0xdc,0x5f,0x5c,0xec,0x6a,0xfd,0xe4,0xc2,0xc2,0x7e,0xf1,0xf6,0x52,0x07,0x92,
0xe8,0x82,0xf4,0xc6,0xff,0xed,0xee,0x97,0x3a,0xda,0xc3,0x8e,0x78,0xdc,0x54,0x0c,
0xc3,0x54,0x4c,0x13,0xc9,0x34,0x91,0x8a,0x8b,0x9d,0xba,0xed,0x12,0x29,0xb5,0xb5,
0x46,0x94,0xc1,0xb0,0x2e,0xcb,0xb2,0x64,0xca,0x32,0xc8,0xb2,0x64,0xc8,0x32,0x86,
0x24,0x49,0xba,0x2c,0x4b,0xb1,0x6f,0x9c,0x3c,0x47,0x17,0x3d,0x29,0x20,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x90,0x05,0xf8,0xff,0xbd,0xee,0x3d,0x8e,0x97,
0x10,0x8f,0xe6,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82};
@@ -1,126 +0,0 @@
// Created with image_to_c
// https://github.com/bitbank2/image_to_c
//
// octocat_4bpp
// Data size = 1808 bytes
//
// PNG, Compression=Flate, Size: 240 x 200, 8-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t octocat_4bpp[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xc8,0x08,0x03,0x00,0x00,0x00,0xe1,0xa2,0x9c,
0x60,0x00,0x00,0x00,0x33,0x50,0x4c,0x54,0x45,0x40,0xcb,0xf9,0x00,0x00,0x00,0x22,
0x1e,0x1d,0x2d,0x2d,0x2d,0x44,0x5c,0x67,0x6a,0x57,0x4d,0xad,0x5b,0x52,0xb7,0x74,
0x6a,0xa2,0x84,0x73,0x6a,0x95,0xa8,0xc7,0x9e,0x8a,0x7b,0xbb,0xe4,0x85,0xbb,0xcc,
0xdc,0xc3,0xc0,0x9c,0xd9,0xf1,0xf5,0xca,0xb3,0xff,0xff,0xff,0x9b,0x6c,0xe6,0xbe,
0x00,0x00,0x00,0x01,0x74,0x52,0x4e,0x53,0x00,0x40,0xe6,0xd8,0x66,0x00,0x00,0x06,
0x8b,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0xdd,0xdb,0xb6,0x9b,0x20,0x10,0x00,0x50,
0x04,0x8c,0x42,0x94,0xd3,0xff,0xff,0xda,0x7a,0x49,0x14,0x10,0x10,0x14,0x97,0x83,
0x99,0x79,0x68,0x57,0x1b,0x49,0x67,0x67,0x00,0x11,0xcd,0x29,0x21,0x18,0x18,0x18,
0x3f,0x1d,0x74,0x8e,0xe2,0xff,0x8d,0xc4,0x5c,0x2e,0x4c,0xe8,0xf2,0x7f,0xe0,0x38,
0xf8,0x82,0x8c,0x2e,0x7e,0xfb,0xd3,0x19,0x65,0x4e,0xea,0xd2,0x37,0xcf,0x94,0x52,
0xbe,0xac,0x2e,0x7c,0xeb,0xcc,0x59,0x65,0xc9,0xeb,0xb2,0x37,0xbe,0x24,0xaf,0xf3,
0x99,0xd1,0xd2,0xc0,0xf4,0x9a,0x77,0xa5,0x60,0xbd,0xae,0xdc,0x62,0x8f,0x4d,0x7a,
0x53,0x40,0x60,0x1a,0x79,0x98,0xdd,0x80,0x16,0x0b,0x9e,0xd2,0xa3,0x79,0x03,0x38,
0x38,0x7f,0x20,0x18,0xc1,0x0f,0x03,0x53,0x04,0x23,0x18,0xc1,0x08,0xc6,0x59,0x1a,
0xc1,0x08,0x46,0xf0,0xaf,0x80,0x09,0x82,0x1f,0xee,0x45,0x30,0x76,0x69,0x9c,0xa6,
0xcb,0x16,0x53,0xfa,0x5b,0x62,0x4a,0x7f,0x4b,0x4c,0x11,0xfc,0x6c,0x31,0xa5,0xbf,
0x25,0xa6,0x08,0x7e,0xb6,0x98,0x22,0xf8,0xd9,0x62,0x8a,0xe0,0x67,0x8b,0x29,0x82,
0x11,0xfc,0x28,0x31,0x45,0x30,0x82,0x11,0x5c,0xb2,0x98,0x22,0x18,0xc1,0x63,0x54,
0xf3,0xaf,0x55,0xec,0xe1,0xc3,0x91,0x6c,0x08,0x5a,0x95,0x07,0x66,0x75,0xdb,0xb6,
0x72,0x8d,0x76,0x8c,0x7a,0x0c,0x36,0xc5,0x74,0xcc,0x14,0xd3,0x5f,0x4e,0x2f,0x4b,
0xe3,0xf8,0xe1,0xc8,0x62,0xc0,0xb5,0x91,0xfb,0xf1,0x68,0xeb,0x22,0xc0,0x1f,0xee,
0x9f,0x19,0xfb,0x3c,0x67,0x83,0x1a,0x3c,0x98,0xb5,0xdb,0xdc,0xb7,0xe1,0x36,0xba,
0x0e,0x6b,0x19,0x6c,0x30,0x8b,0xe1,0x26,0x44,0xa8,0xc8,0x10,0xc0,0x75,0x5e,0xee,
0x4c,0xae,0xe1,0x82,0x2f,0xf0,0x06,0xc4,0xf7,0x83,0xd9,0x15,0x5e,0xbf,0xf8,0x76,
0xf0,0x30,0x5f,0xfd,0xfd,0x5d,0x23,0x66,0x20,0xc1,0xb6,0xf7,0xdf,0x14,0xe9,0xbe,
0x6d,0x3b,0xd9,0x42,0x04,0xd7,0xd2,0x91,0x76,0x3a,0xd9,0xd9,0xce,0x29,0xbe,0x19,
0xcc,0x7c,0xde,0x34,0xb1,0xa7,0x9d,0x6b,0x18,0xdf,0x0c,0x36,0x3b,0xf4,0xbf,0x7f,
0xc7,0xc4,0xde,0x76,0x2d,0x34,0x30,0x0b,0x78,0xe3,0xc5,0xfe,0x76,0x8e,0x12,0xdf,
0x0b,0x6e,0x1d,0x89,0xf7,0xb2,0x69,0x64,0x32,0x78,0x6d,0xb5,0x53,0xe2,0x7b,0xc1,
0x8e,0x02,0xf7,0xaf,0x29,0xfa,0x78,0xb1,0xdd,0xca,0x28,0x31,0x03,0x05,0xae,0xb7,
0xe0,0x4f,0xe6,0x73,0xee,0xd1,0x60,0xa3,0x95,0xd1,0xae,0x06,0x05,0x6e,0x1d,0x95,
0x92,0xf2,0x93,0x7b,0x2c,0xb8,0x9f,0xbc,0xcd,0xda,0x2a,0xdc,0xa7,0x6f,0xdd,0xb5,
0x6c,0x37,0x05,0x96,0xfd,0x52,0x2e,0x19,0x29,0x1e,0x0e,0x6b,0xc6,0xca,0x36,0x4b,
0x2b,0xa3,0x4f,0x83,0x02,0x6f,0x7b,0xf4,0x54,0xa1,0xb4,0x12,0x4f,0x9f,0xd0,0xda,
0xad,0xf7,0xfa,0xf4,0xad,0x60,0x47,0x8f,0xd6,0xc0,0x7d,0x1a,0x58,0xba,0x67,0x3b,
0xd8,0x60,0xf9,0x6a,0xfa,0xfe,0x3b,0x1c,0x65,0x2c,0x78,0x68,0xd0,0xf4,0x72,0x6d,
0x05,0x16,0xcc,0x36,0xe0,0xaf,0x75,0x8a,0x26,0x01,0x6c,0xb4,0x0a,0x81,0xef,0xbd,
0x5d,0x6a,0x4d,0xb6,0x87,0xc0,0xfd,0x32,0x04,0x34,0x70,0x5f,0x0a,0xf8,0xf5,0x43,
0xe0,0x9f,0xeb,0xd2,0x5b,0xb0,0x3c,0x04,0x96,0xa0,0xc0,0x64,0xe7,0x3c,0xdc,0xeb,
0xa9,0x47,0x9f,0x96,0xa4,0xd5,0xca,0x68,0xc7,0xee,0x7d,0x6e,0x29,0x05,0x9c,0xb2,
0xf0,0x30,0x5a,0x19,0xed,0xaa,0xeb,0xc1,0xf1,0xb7,0x2e,0xb7,0x4b,0xcb,0xc6,0x1c,
0x8c,0xd1,0x4b,0x4b,0x73,0x08,0xeb,0x4b,0xcb,0x2a,0x3e,0x9d,0x83,0xce,0x84,0x4f,
0xa3,0xde,0x4c,0xd3,0x7d,0x72,0x8f,0xfe,0xeb,0xed,0x56,0xe6,0x2e,0x4f,0x92,0x29,
0xc5,0x70,0xa4,0xfc,0xdb,0x95,0xc7,0x3a,0x1e,0x65,0xca,0xe5,0xa1,0xd1,0x2a,0x70,
0xb5,0x94,0x56,0x3c,0xdf,0x4b,0x27,0x3a,0xbc,0x63,0x03,0xa0,0x71,0x4f,0xb6,0x3b,
0x1b,0x00,0x7a,0xab,0xc0,0x24,0x9d,0xde,0x69,0x33,0x8f,0x70,0xe7,0x16,0xcf,0x38,
0x12,0xfb,0xe4,0x2d,0x9e,0xa5,0x95,0xd9,0xee,0xa6,0x93,0x92,0xf7,0x36,0x5a,0xe4,
0x66,0xdc,0xd1,0x4d,0xbc,0xed,0xe5,0xf0,0xa5,0x78,0xf7,0x5b,0xfb,0xfb,0xf4,0xee,
0x36,0xed,0x30,0x54,0x9b,0xa4,0x6d,0xda,0xe0,0x10,0xce,0x48,0x0f,0xbf,0x8f,0xbf,
0xc4,0x7b,0x1b,0xf1,0xd3,0x79,0x27,0x61,0x23,0xde,0x5a,0x76,0xe4,0x99,0x76,0x1d,
0x4d,0x0f,0x4f,0x5b,0x3b,0xb7,0x5a,0xa4,0x17,0xec,0x6b,0x27,0x93,0x3a,0x71,0x22,
0x3b,0xfe,0xe8,0x40,0x89,0xc3,0x37,0xd3,0xa6,0x89,0x38,0xfa,0x66,0x9a,0x3d,0x47,
0xe7,0x2b,0x19,0x49,0xed,0x10,0x81,0x12,0x87,0xef,0x80,0x36,0x9e,0x02,0xfb,0x8e,
0x3f,0x3a,0x49,0xed,0x0d,0x80,0x33,0xb3,0x36,0xbb,0xe8,0xf6,0xf0,0xc1,0x02,0xef,
0xa2,0xe9,0xe9,0xd3,0x54,0x7d,0x99,0xb7,0x3d,0x7d,0x16,0xa2,0x97,0x9c,0x98,0xaf,
0x12,0xcb,0x5b,0xaf,0x0b,0x4f,0x8b,0x9b,0x66,0x9d,0xac,0xe3,0xbc,0x0c,0x92,0x37,
0x5d,0xdc,0x2c,0xf3,0x73,0xf3,0x2a,0xd1,0x6b,0x8a,0x63,0x66,0xae,0xef,0x19,0xa9,
0x79,0xc9,0x22,0xbd,0xe9,0x45,0x1e,0x16,0x1d,0x52,0xfa,0x56,0x97,0xd9,0xe7,0xab,
0xeb,0x8b,0xdc,0x46,0xf4,0xea,0x71,0xa5,0x15,0x51,0x5f,0x59,0xc3,0xf4,0xda,0xdb,
0x01,0x6d,0x04,0x25,0xf9,0x74,0x04,0xca,0xbb,0xb9,0x70,0xac,0xcf,0xaf,0x42,0xac,
0x27,0x69,0x09,0xbc,0xd8,0x79,0x50,0x2d,0x51,0x5b,0x53,0xe0,0x5c,0xd7,0xf6,0xc0,
0xf8,0xb0,0xf8,0x91,0x47,0x0d,0xdb,0xba,0xa2,0x25,0x78,0x9d,0x3b,0x22,0x6c,0xfc,
0xfe,0x43,0x9c,0x7b,0xfe,0xb2,0xc3,0xad,0x4f,0xaf,0x64,0xdc,0x04,0xaa,0x28,0xfb,
0x7c,0x9b,0xc3,0x11,0xe3,0xb7,0x3f,0x3c,0xdf,0x7e,0x81,0xe2,0xc9,0xb3,0x81,0x0f,
0xf7,0x67,0x94,0x38,0x2c,0xb9,0xee,0x5a,0x00,0xd6,0x6a,0x10,0xde,0x89,0xc8,0x9d,
0x96,0x82,0xad,0xba,0x82,0x77,0x5d,0x64,0x5e,0x25,0x5b,0x75,0x01,0x63,0x94,0xf1,
0xe8,0xf4,0x2a,0x33,0x96,0xaf,0xde,0x19,0x01,0x7e,0x22,0xee,0x94,0x88,0x14,0x57,
0x91,0x01,0x52,0xab,0x16,0xb2,0x50,0xaa,0xa2,0x09,0xde,0xc0,0x97,0x2c,0x21,0x8b,
0xd5,0x5a,0x64,0xce,0xa3,0xc6,0x5c,0xd4,0xd7,0x4b,0xe1,0x8a,0x95,0xd2,0xbb,0xf5,
0x30,0x94,0x73,0xcd,0x5a,0x40,0xc1,0xea,0x03,0x9e,0x1d,0x4c,0x29,0x9e,0xef,0x84,
0x0c,0x52,0xbc,0x80,0x67,0x89,0x52,0x5d,0xce,0x15,0x08,0x40,0xb1,0x32,0xc5,0x62,
0x6f,0xa6,0x4e,0x3c,0x0b,0x83,0x04,0x6f,0x2d,0x19,0xd7,0x1d,0xe0,0xc4,0x1a,0x78,
0x9d,0xb8,0x32,0xae,0x2e,0x21,0xaf,0x3f,0xb4,0x89,0x2b,0xe3,0x72,0xba,0x08,0x70,
0xe7,0xed,0xd5,0xf4,0x89,0x62,0xa1,0xfc,0x17,0x12,0x8f,0x04,0xfb,0x67,0xae,0xe0,
0x35,0x51,0x41,0xd7,0x4b,0x0e,0x12,0x13,0x82,0x6d,0xff,0x27,0xb0,0xea,0xb9,0x60,
0x31,0x0d,0x64,0x6a,0xfc,0x37,0x60,0x42,0xf1,0xe7,0x81,0x97,0x53,0x53,0xa7,0xba,
0xa1,0xc4,0x42,0x4c,0x46,0x3e,0xfd,0xd6,0x59,0x60,0xe2,0x07,0x93,0x72,0xc0,0x4b,
0xaa,0xe3,0xa5,0x13,0x57,0xe3,0xda,0x7a,0xf9,0x4d,0x58,0xb7,0x0e,0x22,0xc1,0x05,
0xed,0xcb,0x0e,0x75,0xfe,0x82,0x19,0xb5,0xc7,0x70,0x10,0x5c,0x52,0x89,0xcd,0x5b,
0x87,0xf3,0xcf,0x15,0xe2,0x8c,0xda,0x60,0xf2,0x1c,0x30,0xd9,0xf9,0xf9,0x52,0xcf,
0x03,0x93,0x9f,0x03,0x93,0xf3,0x60,0x52,0x16,0xd8,0x43,0x7e,0x32,0xd8,0x49,0xae,
0x4c,0xc4,0xc3,0xc0,0x0e,0x33,0x79,0x3a,0x38,0xf0,0x09,0x20,0x18,0xc1,0x08,0x46,
0x30,0x82,0x11,0x8c,0x60,0x04,0x23,0x18,0xc1,0x08,0xce,0x05,0x66,0xcf,0x06,0x2f,
0x1b,0xd7,0xdf,0x27,0x80,0x14,0x33,0x5e,0x54,0x3f,0x07,0x5e,0xaf,0x9d,0x79,0xa9,
0x5a,0x83,0x98,0x00,0x16,0x4a,0xbf,0x09,0x5d,0x8a,0x75,0x8a,0x13,0x60,0x55,0x8e,
0x5a,0xad,0x71,0x16,0x5c,0x00,0xda,0xc8,0x35,0x0b,0x18,0xb2,0xd9,0x4e,0x34,0x17,
0x18,0xa8,0xd9,0x91,0x66,0x3e,0x30,0x38,0xb3,0x3b,0xc7,0xac,0x60,0x48,0x64,0x5f,
0x86,0x29,0xe0,0xf5,0x8f,0x4c,0x29,0xd8,0x64,0x7f,0x7e,0xc2,0x10,0x86,0xc1,0xdc,
0x78,0x11,0x32,0x39,0x90,0x9d,0x59,0xb5,0x30,0x58,0xfb,0x70,0xb8,0x02,0x2c,0x0e,
0xe5,0x66,0x19,0xc2,0x60,0xeb,0x55,0xa8,0xe4,0x50,0x62,0x1d,0x33,0x09,0x61,0xb0,
0xfe,0xe7,0x60,0x89,0x6f,0x15,0xc7,0x7a,0xb9,0xda,0x07,0x6b,0xfd,0x01,0xac,0x38,
0xd8,0x9f,0x99,0xf9,0xec,0xc7,0x2e,0xd8,0x78,0xe6,0x87,0x83,0xec,0xd5,0x21,0x2e,
0xa7,0xb6,0x77,0x17,0x6c,0x88,0x99,0xe8,0xe0,0x89,0xfd,0xf9,0x18,0x0f,0x68,0x7d,
0xab,0x65,0x81,0xf9,0xb6,0x07,0x0b,0xba,0xfd,0x98,0x00,0x81,0xa3,0xa6,0xe7,0xa1,
0x54,0x8e,0x65,0x08,0x53,0x4e,0xb0,0xea,0x38,0x05,0x7c,0x76,0x8a,0x01,0x73,0xf1,
0x76,0xad,0xbb,0xb8,0xf9,0xa9,0x68,0x6b,0xab,0x37,0x67,0xbb,0x4b,0x4c,0x78,0xe0,
0x61,0x08,0x0f,0x21,0x84,0x78,0x8f,0xe1,0xa8,0xbb,0xef,0xc4,0x3b,0x1d,0xff,0x1e,
0x1a,0x8e,0xcd,0x55,0x41,0xe0,0x6f,0xea,0x9f,0x70,0xad,0xbb,0x5c,0x7d,0xda,0xd1,
0x08,0x92,0x78,0x27,0x23,0x3b,0x79,0xb1,0x29,0xa8,0xb5,0x30,0x51,0x09,0x5c,0x88,
0x60,0x2b,0x7f,0xb1,0x39,0x0b,0x19,0xb3,0x58,0x07,0xdf,0xbb,0x0b,0xd6,0x05,0x9d,
0x6b,0x4e,0x36,0x16,0x63,0x22,0xc9,0x0b,0x1e,0xcc,0x75,0x99,0x7b,0x39,0x96,0xe4,
0x85,0x76,0x22,0xde,0x88,0x99,0x76,0x9e,0x7a,0xeb,0xaf,0xaf,0x64,0x01,0xbd,0xc0,
0x49,0xa3,0x98,0xaf,0x5c,0x0d,0x34,0x9f,0x84,0xe6,0xd7,0x18,0xfc,0x02,0x27,0x95,
0x78,0x3a,0xb3,0x5a,0x22,0xfd,0x45,0xf1,0x2e,0xa0,0xc0,0x29,0x25,0x36,0x87,0xf4,
0x66,0x8c,0x3b,0x5e,0x05,0xba,0x05,0x70,0x02,0xfc,0x3e,0x0a,0x86,0xbb,0xc7,0x13,
0x0d,0x56,0x09,0x60,0xc8,0x9b,0x78,0x5e,0xf0,0xfb,0x38,0x18,0xf6,0x3e,0x6d,0x48,
0x78,0x08,0x0c,0x7d,0x27,0x3e,0x33,0x18,0xfe,0xbd,0x96,0xac,0xe0,0x02,0x6e,0xa6,
0xa9,0x48,0x61,0x0c,0xb8,0x8c,0xfb,0xa5,0xb9,0xc0,0x04,0x6e,0x5c,0x00,0x26,0xe0,
0x23,0x27,0x98,0x94,0x12,0x39,0xc0,0xa4,0xb8,0x38,0x0e,0x26,0x05,0x47,0x22,0x98,
0x3c,0x28,0x02,0x60,0x82,0x81,0x81,0x81,0x11,0x15,0xff,0x01,0xc2,0xdf,0x07,0x33,
0x2f,0x2c,0x60,0x6f,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82};
@@ -1,809 +0,0 @@
// Created with image_to_c
// https://github.com/bitbank2/image_to_c
//
// octocat_optimized
// Data size = 12735 bytes
//
// PNG, Compression=Flate, Size: 240 x 200, 32-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t octocat_optimized[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xc8,0x08,0x06,0x00,0x00,0x00,0xd6,0x7c,0x6c,
0x52,0x00,0x00,0x00,0x06,0x62,0x4b,0x47,0x44,0x00,0xff,0x00,0xff,0x00,0xff,0xa0,
0xbd,0xa7,0x93,0x00,0x00,0x20,0x00,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x77,
0x78,0x1c,0xd5,0xb9,0xff,0x3f,0x33,0xb3,0x4d,0xab,0xb6,0x6a,0xb6,0xaa,0x67,0x6d,
0xd9,0x72,0x05,0x0c,0xd8,0x18,0xb0,0x0d,0xa6,0x07,0x08,0x25,0x09,0x10,0x12,0xd2,
0x08,0x4a,0xc2,0x25,0x9d,0x24,0xa4,0x91,0x9b,0x9b,0x5f,0xca,0x4d,0x42,0x92,0x9b,
0xe4,0x92,0x0b,0x09,0xe2,0x86,0x70,0x93,0x00,0xa1,0x27,0x10,0x6a,0x42,0x2f,0xc1,
0x80,0x01,0x03,0x96,0xe5,0xb6,0xe3,0x22,0xab,0x6b,0xd5,0x56,0xdb,0x66,0xe6,0xf7,
0xc7,0x8c,0x64,0xc9,0x96,0xad,0x5d,0xd5,0x2d,0xe7,0xfb,0x3c,0xf3,0x48,0x5a,0xed,
0x94,0x73,0xe6,0xfd,0x9e,0xf7,0x9c,0xf7,0xbc,0x05,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x04,0x04,0x04,0x04,0x92,0x80,0x94,0xed,0x1d,0xe0,0x57,0x55,0x2f,0xe0,0xb4,
0xfb,0x42,0x97,0x24,0x29,0xba,0x2b,0x10,0x88,0x08,0xd1,0x98,0x5d,0xcc,0xf7,0xfb,
0x5d,0xa6,0x69,0xba,0x00,0x87,0xfd,0x51,0x5c,0x51,0x94,0xd0,0x8e,0x9d,0x3b,0x0d,
0xd1,0x3b,0x82,0xc0,0x43,0xe4,0x3d,0x0b,0xb8,0x17,0xc8,0x1f,0x12,0x12,0xa0,0x03,
0xd8,0x03,0xbc,0x09,0xbc,0x0c,0x3c,0x1b,0xd0,0xb4,0x6d,0x42,0x54,0xa6,0xfd,0x5d,
0x54,0x03,0x6b,0xed,0x63,0x25,0x30,0x1f,0x28,0x03,0xdc,0xf6,0x57,0x06,0x81,0xff,
0x08,0x68,0xda,0x4f,0x45,0x6f,0x09,0x02,0x0f,0x09,0xcd,0xdd,0xc0,0x25,0xe3,0x7c,
0x4d,0x07,0x76,0x01,0xf7,0x03,0x77,0x06,0x34,0xed,0x75,0x21,0x36,0x53,0xd6,0xff,
0xf3,0x81,0x0f,0xd9,0xef,0x60,0x39,0xe0,0x1a,0xe7,0x94,0x00,0xb0,0x20,0xa0,0x69,
0xa6,0xe8,0xbd,0x2c,0x27,0xb0,0x5f,0x55,0xf3,0x6d,0x6d,0xeb,0x4a,0xf2,0xd4,0x77,
0x80,0xdf,0x01,0xb7,0x07,0x34,0x2d,0x28,0x44,0x28,0xe9,0x7e,0xf7,0x00,0xef,0x03,
0xae,0x06,0x4e,0x99,0xc0,0x25,0xd6,0x06,0x34,0xed,0x45,0xd1,0x93,0x16,0xe4,0x2c,
0x6e,0xfb,0x85,0x13,0x20,0x2f,0xb6,0xa6,0xf8,0x15,0xb0,0xc7,0xaf,0xaa,0x37,0xfa,
0x55,0x75,0xa1,0x10,0xa3,0x84,0x88,0x5b,0xe6,0x57,0xd5,0xef,0x00,0x3b,0x81,0x3f,
0x4f,0x90,0xbc,0x24,0x30,0x63,0x12,0x1a,0x38,0x4b,0x04,0xea,0x2f,0xc0,0xa5,0x53,
0x70,0xa9,0x28,0x70,0x0f,0xf0,0xff,0x02,0x9a,0xb6,0x55,0x88,0xd4,0xa1,0xc4,0x05,
0xbe,0x0e,0x7c,0x7a,0x84,0xad,0x61,0x32,0xd8,0x0a,0x2c,0x0f,0x68,0x9a,0x2e,0x7a,
0x37,0x4b,0x09,0xec,0x57,0x55,0x07,0xb0,0x1f,0x28,0x9d,0xc2,0xcb,0xea,0xc0,0x1f,
0x80,0xef,0x06,0x34,0x6d,0xaf,0x20,0xae,0x5a,0x00,0x7c,0x15,0xb8,0x16,0xc8,0x9d,
0xe2,0xcb,0x2f,0x08,0x68,0xda,0x2e,0x41,0xdf,0xec,0x9d,0x42,0x1f,0x35,0xc5,0xe4,
0x05,0x50,0x80,0x4f,0x02,0x4d,0x7e,0x55,0xfd,0x81,0xbd,0xc6,0xce,0xca,0xc1,0xd1,
0xaf,0xaa,0x9f,0x01,0xb6,0x01,0xdf,0x99,0x06,0xf2,0x02,0x9c,0x2e,0xa8,0x6b,0xc1,
0x91,0xa5,0xed,0x3e,0x79,0x1a,0xaf,0x9d,0x03,0x7c,0x1b,0xf8,0x84,0x5f,0x55,0xaf,
0x0b,0x68,0xda,0x9f,0xa7,0x91,0x2c,0x25,0x40,0x89,0x3d,0x35,0xcd,0xb3,0x0f,0x8f,
0xfd,0x5e,0x1d,0xf6,0xa0,0x12,0xb3,0x67,0x07,0x31,0x60,0x00,0x08,0x01,0x7d,0x40,
0x37,0xd0,0x15,0xd0,0xb4,0xfe,0x29,0x7c,0x9e,0xf5,0xc0,0x7f,0x03,0xc7,0x4c,0xf3,
0xfb,0x3b,0x09,0xb8,0x55,0xd0,0x37,0x7b,0x09,0xbc,0x7a,0x06,0xee,0x51,0x05,0xfc,
0xc9,0xaf,0xaa,0x57,0x01,0x57,0x27,0xb3,0x97,0xec,0x57,0x55,0x09,0x6b,0xff,0xb3,
0x1a,0x58,0x0a,0x2c,0x02,0xfc,0x40,0x0d,0xa0,0xda,0x9f,0x17,0x8f,0x98,0x41,0x25,
0xbb,0x14,0x1a,0xda,0x86,0x31,0xfd,0xaa,0x1a,0x03,0x9a,0x81,0xbd,0x58,0xfb,0xdf,
0x3b,0x81,0x1d,0x40,0x13,0xb0,0x05,0xe8,0x0b,0x68,0x5a,0x3c,0x81,0x81,0xe4,0x67,
0xc0,0xc7,0x67,0x68,0x59,0x76,0x82,0xa0,0x6e,0x76,0xaf,0x81,0x5f,0x07,0x8e,0x9d,
0xc1,0x5b,0x86,0x81,0xef,0x01,0x3f,0x0f,0x68,0x5a,0x6c,0x8c,0xe7,0x29,0x05,0x96,
0xd9,0x82,0x79,0x1c,0xb0,0xc2,0x26,0xad,0x27,0x05,0xba,0x6b,0xaf,0x4d,0xe6,0xd7,
0x81,0x8d,0xf6,0xcf,0x5d,0x43,0x46,0x24,0xbf,0xaa,0x5e,0x0e,0xfc,0x1a,0xcb,0xe9,
0x62,0xa6,0xa0,0x03,0x6e,0x61,0xc8,0xca,0x42,0x02,0xfb,0x55,0x35,0xc7,0xd6,0x34,
0x25,0xb3,0x70,0xfb,0x57,0x81,0x2b,0x81,0x16,0x60,0x83,0x7d,0x9c,0x0a,0xd4,0xda,
0x53,0xef,0x74,0x80,0x89,0x65,0x00,0xfc,0x97,0x3d,0xc0,0x9c,0x3b,0x4b,0xcf,0xb1,
0x34,0xa0,0x69,0x8d,0x62,0x0a,0x9d,0x7d,0xc8,0x9b,0x25,0xf2,0x02,0xac,0x02,0x36,
0xd9,0x03,0xa7,0x92,0xc6,0x83,0x7e,0x25,0x96,0x33,0xc6,0x6c,0x62,0x01,0x20,0x08,
0x9c,0x85,0x6d,0xae,0x14,0x7d,0x9e,0x11,0xa8,0x11,0x5d,0x90,0x9d,0xdb,0x48,0x73,
0xc4,0x6b,0xcf,0x08,0x94,0x88,0x2e,0xc8,0x4e,0x02,0x17,0x8a,0xd7,0x9e,0x11,0xf0,
0x89,0x2e,0xc8,0x4e,0x02,0xbb,0xc5,0x6b,0x17,0xef,0x51,0x10,0x38,0x7d,0xa1,0x88,
0xd7,0x2e,0xde,0xa3,0x20,0x70,0xfa,0x42,0x64,0xdb,0xc8,0x0c,0x44,0x45,0x17,0x64,
0x27,0x81,0x07,0xc4,0x6b,0xcf,0x08,0xf4,0x8b,0x2e,0xc8,0x4e,0x02,0xb7,0x89,0xd7,
0x9e,0x11,0xe8,0x14,0x5d,0x90,0x9d,0x04,0x6e,0x16,0xaf,0x3d,0x23,0xb0,0x5f,0x74,
0x41,0x76,0x12,0x38,0x28,0xa6,0x5f,0x19,0x81,0x1d,0xa2,0x0b,0xb2,0x77,0x0d,0xbc,
0x5b,0xbc,0xfa,0xb4,0x47,0xa3,0xe8,0x82,0x2c,0x24,0xb0,0x9d,0xd1,0x70,0xb3,0x78,
0xf5,0x69,0x8d,0xed,0x01,0x4d,0x13,0xc6,0x48,0xb2,0x37,0x23,0x87,0xc8,0x6a,0x28,
0xde,0x9f,0x20,0x70,0x1a,0xe3,0x69,0x0e,0x04,0xb5,0x0b,0xa4,0x1f,0xfe,0x21,0xba,
0x20,0x8b,0x09,0x1c,0xd0,0xb4,0xb7,0xb0,0x62,0x82,0x05,0x04,0x04,0x81,0xd3,0x14,
0x77,0x89,0xd7,0x9f,0xb6,0xb8,0xd5,0xaf,0xaa,0xe7,0x8b,0x6e,0xc8,0x6e,0x02,0x17,
0x89,0xd7,0x9f,0xb6,0x70,0x00,0x77,0xf9,0x55,0x75,0x8d,0x20,0x70,0x16,0xc2,0xaf,
0xaa,0xd7,0x01,0xf5,0x82,0x07,0x69,0x8d,0x5c,0xe0,0x41,0xbb,0x28,0x5a,0xd6,0x22,
0x1b,0x73,0x62,0x9d,0x07,0xfc,0x2d,0xcb,0x67,0x1f,0x99,0x84,0x8d,0xc0,0xba,0x80,
0xa6,0x65,0x65,0x70,0x83,0x92,0x65,0xe4,0xf5,0x03,0x8f,0x93,0x3e,0x09,0xe4,0x04,
0xc6,0x47,0x15,0x50,0x14,0xec,0xe9,0x79,0x44,0x10,0x38,0xb3,0xc9,0xeb,0x00,0xfe,
0x0e,0x88,0x62,0x64,0x99,0x87,0x55,0x3e,0x9f,0x6f,0x63,0xb0,0xa7,0x67,0xbb,0x58,
0x03,0x67,0x2e,0xae,0x03,0xd6,0x08,0x59,0xcf,0x58,0x39,0xbe,0x39,0x1b,0xcb,0xd9,
0x64,0x85,0x06,0xf6,0xab,0xea,0x62,0xe0,0x4e,0x44,0x46,0xc8,0x4c,0x46,0x21,0xe0,
0x09,0xf6,0xf4,0x3c,0x26,0x34,0x70,0xe6,0xe1,0x46,0x44,0x0e,0xa5,0x6c,0xc0,0xe7,
0xfd,0xaa,0xba,0x44,0x10,0x38,0xb3,0xb4,0xef,0xf9,0xc0,0x99,0x42,0xb6,0xb3,0x02,
0x0e,0xe0,0xa7,0xd9,0xd4,0x60,0x29,0xc3,0xc9,0x2b,0x03,0x6f,0x60,0x95,0x13,0x15,
0xc8,0x0e,0x18,0xc0,0x89,0x01,0x4d,0xdb,0x28,0x34,0x70,0xfa,0xe3,0x22,0x41,0xde,
0xac,0x83,0x0c,0x7c,0x5d,0x68,0xe0,0xf4,0xd7,0xbe,0x12,0xf0,0x3c,0xd3,0x5b,0x0b,
0x58,0x20,0x35,0x11,0x07,0x16,0x05,0x34,0x2d,0x20,0x34,0x70,0xfa,0xe2,0x38,0x41,
0xde,0xac,0x5e,0x0b,0x67,0x85,0xab,0x6c,0x26,0x13,0x58,0xf8,0x3a,0x67,0x37,0xae,
0xb4,0x67,0x61,0x82,0xc0,0x69,0x38,0x7d,0x76,0x02,0x1f,0x12,0x32,0x9c,0xd5,0xa8,
0xc4,0xaa,0xbd,0x2c,0x08,0x9c,0x86,0x38,0x0b,0x51,0xc4,0x4c,0x00,0xde,0x2f,0x08,
0x9c,0x9e,0xb8,0x58,0xc8,0xae,0x00,0x70,0x9e,0x20,0x70,0x7a,0xe2,0x6c,0x21,0xbb,
0x02,0x80,0xdf,0xaf,0xaa,0xb5,0x82,0xc0,0xe9,0xb5,0xfe,0xad,0x05,0xaa,0x85,0xec,
0x0a,0x60,0xf9,0xfa,0x9f,0x20,0x08,0x9c,0x5e,0x38,0x1e,0x51,0x7a,0x52,0xe0,0x00,
0x4e,0x16,0x04,0x4e,0x2f,0xac,0x12,0x32,0x2b,0x30,0x02,0xc7,0x08,0x02,0xa7,0x17,
0x56,0x08,0x99,0x15,0x18,0x81,0x5a,0xbf,0xaa,0xba,0x32,0xb5,0x71,0x19,0x15,0x1f,
0x6b,0x07,0x2f,0xa4,0x9c,0xd1,0x22,0x1a,0xd7,0x09,0xc5,0x74,0x62,0x86,0x89,0x53,
0x91,0x29,0xcc,0x71,0xe3,0x71,0x3a,0x88,0xc6,0xe3,0x74,0x87,0x22,0xc4,0x74,0x03,
0x09,0x70,0xc8,0x12,0x4e,0x59,0xc2,0xe5,0x50,0x70,0x28,0xf2,0xac,0xfb,0xb9,0x9a,
0x40,0x5c,0x37,0x88,0xc4,0x75,0xa2,0xba,0x81,0x6e,0x82,0x2c,0x4b,0x94,0x78,0x3d,
0x14,0xe6,0x7a,0xf0,0xb8,0x9c,0x98,0xa6,0x49,0xdf,0x60,0x84,0xfd,0xc1,0x7e,0xe2,
0xba,0x81,0xc7,0x21,0xe3,0x75,0x39,0x90,0xa5,0x94,0xf1,0xa1,0xa8,0x00,0xbc,0x64,
0x68,0x41,0xf0,0x4c,0x0b,0x70,0xf7,0x00,0x73,0x66,0x53,0xe0,0x9d,0x8a,0x8c,0x7f,
0x6e,0x09,0x6b,0x96,0x2e,0xa0,0xa2,0xb4,0x88,0xa2,0x7c,0x2f,0x79,0xde,0x1c,0x0a,
0x72,0xbd,0x38,0x14,0x19,0xcc,0x31,0x0a,0x42,0xd8,0xc2,0x1e,0xd7,0x0d,0x22,0xb1,
0x18,0xa1,0xc1,0x08,0x83,0x91,0x28,0xa6,0x69,0x12,0x8d,0xc7,0xe9,0x0b,0x85,0xe9,
0x1d,0x08,0x11,0x8f,0xeb,0xc4,0x74,0x83,0xe0,0x40,0x88,0xd6,0xae,0x5e,0x5a,0x3b,
0x83,0x0c,0x46,0xa3,0x98,0x26,0x18,0xa6,0x89,0x6e,0x98,0xe8,0x86,0x31,0xfc,0xf7,
0xd0,0xa5,0x65,0x49,0x42,0x96,0x24,0x1c,0x8a,0x8c,0x2c,0x49,0x48,0x12,0xb8,0x1c,
0x4e,0xca,0x4b,0x0a,0x99,0x5b,0x5c,0x48,0x51,0x9e,0xd7,0x1e,0x34,0x14,0x0a,0xf2,
0xbc,0xe4,0x7b,0x3d,0xb8,0x1c,0x16,0x09,0x73,0x3c,0x6e,0x72,0x73,0xdc,0xb8,0x9d,
0x4e,0x64,0x59,0x1a,0xfb,0xf9,0x47,0xb4,0x63,0x30,0x12,0xa3,0xbb,0xb7,0x8f,0x50,
0x24,0xca,0xbe,0xb6,0x4e,0x1a,0xf7,0xb4,0xb0,0x69,0xdb,0x6e,0xfa,0x07,0x23,0x48,
0xb3,0x43,0x6a,0xc9,0x26,0x71,0x30,0x13,0x09,0x9c,0x51,0xae,0x66,0x7e,0x55,0x2d,
0x66,0x16,0x0a,0x3f,0x47,0xe3,0x3a,0x6b,0x97,0x2d,0xe0,0x94,0x95,0x4b,0x58,0x50,
0x39,0x87,0xa2,0xfc,0xdc,0x61,0x02,0x01,0x98,0xc3,0x64,0x1a,0xdd,0xdd,0xe6,0x41,
0x64,0x48,0x54,0xc0,0x25,0x9b,0x2c,0x92,0x7d,0x8e,0x09,0xe8,0x86,0x41,0x4c,0xd7,
0xd1,0x75,0x03,0xd3,0x26,0x33,0x98,0xc8,0x92,0x8c,0x2c,0x4b,0x28,0xb2,0x8c,0x43,
0x51,0x50,0x14,0x19,0xd9,0xbe,0xb7,0x69,0x0f,0x3b,0x66,0x82,0x45,0x66,0x46,0x3e,
0xaf,0x24,0x49,0x63,0xb6,0xe7,0xe0,0xb6,0x4a,0x92,0x44,0x38,0x1a,0x63,0x77,0x6b,
0x07,0xaf,0x6e,0xd9,0xc9,0xc3,0xff,0x7a,0x9b,0x59,0xa8,0x6a,0x73,0x66,0x40,0xd3,
0x32,0xb2,0x1c,0x4b,0xa6,0x69,0xe0,0x19,0xf5,0xbe,0x32,0x0c,0x93,0x75,0x47,0xd5,
0x72,0xe1,0xba,0xe3,0xa9,0x2a,0x2d,0x1e,0x52,0xa4,0xb8,0x3d,0x6e,0xbc,0xde,0x1c,
0x72,0x3c,0x1e,0x5c,0x2e,0x27,0x4e,0xa7,0x13,0x45,0x51,0x90,0x64,0x69,0xd4,0x88,
0x69,0x9a,0x60,0x9a,0x06,0xba,0x61,0xa0,0xeb,0x06,0xba,0xae,0xa3,0xeb,0x3a,0xf1,
0xb8,0x4e,0x3c,0x1e,0xb7,0x0f,0xeb,0xf7,0x58,0x2c,0x8e,0x1e,0x8f,0x5b,0x1a,0xd6,
0x26,0xb1,0x39,0x74,0x11,0xfb,0x6f,0x97,0xa2,0x80,0x72,0x64,0x03,0xbc,0x69,0x18,
0xe8,0x63,0x90,0x52,0x96,0x65,0x1c,0x0e,0x07,0x0e,0x87,0x03,0xa7,0xd3,0x81,0xc3,
0xa1,0x0c,0xff,0xed,0xb0,0xb5,0xb3,0x32,0x7c,0xc8,0x36,0x41,0xa5,0x03,0x23,0x8a,
0x09,0x26,0x26,0x86,0x61,0x10,0x8f,0xc5,0x89,0x46,0x63,0x84,0x23,0x11,0x42,0xa1,
0x41,0xa4,0x81,0x10,0x8b,0xaa,0xcb,0xa9,0xab,0xa9,0xe0,0x3d,0x27,0x1e,0xc3,0xb3,
0x6f,0x6c,0xe1,0x8e,0xa7,0x5e,0xc5,0x21,0xcf,0x98,0xfe,0x28,0x15,0x6b,0xe0,0xf4,
0x80,0x6f,0xc6,0x46,0x0a,0xaf,0x87,0xab,0x2f,0x3e,0x9d,0x15,0xf3,0xab,0x91,0x24,
0x89,0xbc,0xbc,0x5c,0x8a,0x8b,0x8b,0x28,0xc8,0xcf,0xc3,0xe1,0x98,0x9e,0x5d,0xac,
0x21,0x0d,0x17,0x8f,0xeb,0xc3,0x64,0xd7,0x75,0x03,0xdd,0xd0,0x31,0x0c,0x03,0x43,
0x37,0x2c,0xcd,0x3f,0x42,0xbb,0x4a,0x48,0x96,0xb6,0x96,0x2c,0x2d,0x2c,0x2b,0x32,
0xb2,0x2c,0x0f,0x13,0xd1,0xa1,0x58,0x44,0x1d,0x4b,0xa3,0x4e,0x14,0x6e,0x97,0x8b,
0xdc,0xdc,0xd1,0xcf,0xdd,0x3f,0x10,0xa2,0xbb,0xdb,0x9a,0xc5,0x5e,0xb4,0x7e,0x15,
0xc7,0x2f,0x59,0xc0,0xef,0x1f,0x7e,0x86,0xad,0x7b,0xdb,0x32,0x6e,0x60,0x17,0x04,
0x9e,0xdc,0x1a,0x78,0xda,0xb1,0xb4,0x66,0x2e,0xff,0xf6,0xbe,0x33,0x29,0x2e,0xc8,
0xa3,0xb0,0xb0,0x80,0xf2,0xb9,0x65,0xe4,0xe4,0x4c,0xff,0xad,0x87,0x48,0xe6,0x72,
0xc9,0x80,0x33,0x7d,0xd6,0x69,0x92,0x44,0x7e,0x5e,0x2e,0xf9,0x79,0xb9,0x54,0x54,
0xcc,0xa5,0xad,0xad,0x03,0x49,0x92,0xf8,0xda,0x87,0xdf,0xcb,0x9d,0x4f,0xbe,0xc8,
0x13,0xaf,0x6d,0x99,0xee,0xf5,0xb1,0xb0,0x42,0x8b,0xf6,0x58,0x58,0xb3,0xc4,0xcf,
0x55,0x17,0x9c,0x46,0x41,0xae,0x97,0x79,0x35,0x95,0x14,0x14,0x64,0x5d,0x26,0xd3,
0x49,0xc1,0xe9,0x70,0x50,0x55,0x59,0x4e,0x49,0x71,0x11,0xda,0xee,0xbd,0x7c,0xf4,
0x3d,0xeb,0x29,0xf0,0xe6,0x70,0xdf,0xf3,0x9b,0x04,0x81,0x05,0x81,0xa7,0xd7,0x3a,
0xb2,0x6a,0xd1,0x3c,0x3e,0x75,0xe1,0xe9,0x14,0x15,0xe6,0xb3,0x60,0xbe,0x8a,0xd3,
0x29,0xb2,0xd4,0x4e,0x78,0xaa,0xe4,0x71,0xb3,0x68,0xe1,0x7c,0x76,0xef,0x69,0xe6,
0x7d,0xa7,0xae,0xc6,0x04,0xee,0x9f,0x3e,0x12,0xeb,0x82,0xc0,0xe9,0x81,0xd8,0x74,
0x5d,0x78,0x7e,0x79,0x09,0xf5,0x17,0x9e,0x46,0x49,0x91,0x8f,0x05,0xf3,0x6b,0x50,
0x14,0xe1,0xad,0x39,0x59,0xc8,0xb2,0x8c,0x3a,0xaf,0x1a,0x45,0x91,0xb9,0x68,0xfd,
0x2a,0x82,0xfd,0x03,0x3c,0xf5,0x46,0x93,0xe8,0x98,0x2c,0x26,0x70,0x7c,0x5a,0x2c,
0x20,0xb9,0x1e,0xbe,0x78,0xe9,0x39,0xcc,0x2d,0x29,0x66,0xc1,0xfc,0x79,0x28,0xca,
0x04,0x1c,0xd8,0x24,0x09,0xc9,0x65,0x95,0x64,0x32,0x23,0x83,0xcc,0xc2,0x56,0xca,
0xf4,0x4e,0x7c,0x24,0x19,0xc9,0x69,0xb7,0x2f,0x1a,0x4a,0xa6,0x5b,0xa8,0xa9,0xae,
0x04,0xe0,0xc3,0x67,0xad,0xa3,0xad,0xbb,0x8f,0x77,0xb4,0xfd,0x69,0x21,0x17,0x82,
0xc0,0x53,0x8f,0xd0,0x54,0x5f,0xd0,0x30,0x4d,0xfe,0xed,0xa2,0x33,0xa8,0x9a,0x53,
0xca,0xfc,0x09,0x90,0x57,0x29,0x98,0x83,0xb3,0xbc,0x16,0x25,0xbf,0x18,0x24,0xeb,
0x5c,0xd3,0x34,0x30,0xfa,0x3a,0x89,0xb5,0xec,0x40,0xef,0x6d,0x4f,0xeb,0x0e,0x57,
0x0a,0xe7,0xe2,0x9c,0xbb,0x60,0x54,0xfb,0x30,0x0d,0xf4,0xde,0x4e,0x62,0xad,0x89,
0xb7,0xaf,0xba,0xaa,0x82,0x78,0x3c,0xce,0x55,0x17,0x6c,0xe0,0xab,0xff,0x73,0x17,
0x86,0x61,0x08,0x02,0x27,0xd2,0xff,0x99,0xd4,0x18,0x9f,0xcf,0xe7,0x01,0xae,0x9d,
0xca,0x6b,0x5e,0xbc,0x76,0x25,0x67,0xae,0x3e,0x8a,0x85,0xb5,0x7e,0x5c,0xae,0xc4,
0x2d,0xbf,0x92,0xe2,0xc4,0x5d,0xbb,0x0a,0x57,0xf5,0x12,0x64,0x4f,0xae,0x25,0xdc,
0xd2,0xd0,0x96,0x8e,0x8c,0xec,0xc9,0xc5,0x51,0x5a,0x83,0x9c,0x53,0x80,0xd1,0xdb,
0x0e,0xa6,0x91,0x56,0x7d,0x7d,0xa4,0xf6,0x31,0xaa,0x7d,0xf9,0xe8,0xbd,0x6d,0xe3,
0xb6,0x4f,0x92,0x24,0x0a,0x0a,0xf2,0xd1,0xa3,0x51,0x2a,0x8a,0xf2,0x79,0xe1,0xed,
0x1d,0x53,0xe9,0x8e,0x79,0x77,0xb0,0xa7,0xe7,0xcd,0x8c,0x5c,0x86,0x08,0x0d,0x7c,
0x84,0x01,0x21,0x37,0x87,0xf3,0x4e,0x3e,0x96,0x9a,0xea,0x4a,0xdc,0xee,0xc4,0x0d,
0x99,0x92,0xc3,0x8d,0x67,0xe9,0x3a,0x1c,0x45,0xe5,0xe3,0x4f,0x81,0x8a,0x2b,0xf0,
0x2c,0x59,0x8b,0xe4,0x48,0x1f,0x43,0xa9,0xe4,0x4c,0xa6,0x7d,0x95,0xe4,0x2c,0x59,
0x97,0x50,0xfb,0x14,0x59,0xc6,0xef,0xaf,0xe1,0xf8,0x25,0x0b,0x38,0x69,0xd9,0xfc,
0xa9,0x7c,0xe4,0x48,0xc6,0xda,0x11,0x32,0x70,0x0d,0x3c,0x65,0x2f,0xeb,0x63,0xe7,
0xac,0xa5,0xba,0x62,0x0e,0x3e,0x5f,0x41,0x12,0xd2,0x2d,0xe3,0xa9,0x5b,0x83,0x9c,
0x93,0xf8,0xf6,0x92,0xec,0x2d,0xc0,0xb3,0xe8,0xc4,0x61,0x9f,0xe8,0xd4,0x66,0xaf,
0x8c,0x67,0xd1,0x89,0x49,0xb7,0xcf,0xbd,0x68,0xcd,0x81,0x29,0xf6,0x11,0xe0,0x71,
0xbb,0xa9,0xa9,0xaa,0xe0,0xe2,0xf5,0xab,0x46,0xb9,0xa3,0x4e,0x12,0xfd,0x82,0xc0,
0xe9,0x81,0x28,0xd0,0x3b,0x15,0x17,0xaa,0x2a,0x29,0x64,0xd5,0xd2,0x5a,0xaa,0x2a,
0xcb,0x93,0x3a,0xcf,0x55,0xbd,0x0c,0x39,0xf7,0xf0,0x0e,0x61,0xa6,0x69,0x8c,0x19,
0x10,0x20,0xe7,0xf9,0x70,0x55,0x2f,0x4f,0xf9,0x0e,0x76,0xcd,0x5b,0x81,0x9c,0x7b,
0xa8,0x63,0x93,0x69,0x18,0x47,0x0c,0x74,0x50,0xf2,0x8a,0x70,0x56,0x25,0x56,0x77,
0xac,0xa4,0xa4,0x88,0xa5,0x0b,0x6a,0x38,0xe3,0xd8,0x29,0xab,0x53,0xd6,0x9b,0xa9,
0x04,0x76,0x64,0x20,0x81,0x83,0x40,0xd9,0x64,0x2f,0x74,0xe1,0xda,0x63,0xa9,0xa9,
0x2a,0xc7,0xe1,0x48,0xbc,0x8b,0xe4,0x9c,0x02,0x9c,0x73,0xc7,0x9e,0xfa,0x75,0x06,
0x76,0xb2,0xf3,0xb9,0x67,0xe8,0xde,0xd1,0x84,0x24,0xc9,0x14,0x2f,0x5e,0x4a,0xed,
0x29,0xa7,0xe1,0xab,0xac,0x1a,0xfe,0x8e,0x73,0xae,0x9f,0x78,0xc7,0x6e,0x8c,0xc1,
0xd4,0x94,0x37,0xd9,0xeb,0xc3,0x59,0xa6,0x8e,0xfa,0xac,0x7d,0xe7,0x76,0x76,0x3d,
0xf7,0x34,0xc1,0x9d,0xdb,0x91,0x14,0x85,0xd2,0x25,0xcb,0xa9,0x3d,0xe5,0x34,0x0a,
0xca,0x2b,0x0e,0x25,0x7f,0xf9,0x02,0xf4,0x8e,0xdd,0x18,0xe1,0xfe,0x71,0xd7,0xc3,
0x15,0xe5,0x73,0x38,0xfd,0xf8,0xe5,0x3c,0xf5,0xc6,0xd6,0xa9,0x78,0xf4,0x9e,0x4c,
0x25,0x70,0x46,0x19,0xb1,0x82,0x3d,0x3d,0xa6,0xcf,0xe7,0xbb,0x1c,0xa8,0x99,0xd4,
0xa8,0xa6,0x28,0x5c,0x75,0xc1,0x69,0xd4,0x2d,0xf4,0x27,0xe1,0xe2,0x67,0xe2,0xf2,
0x1f,0x8b,0x9c,0x93,0x77,0x88,0x66,0x7a,0xe7,0xe1,0xbf,0xf2,0xda,0x8d,0x3f,0xa3,
0x67,0xc7,0x56,0xa2,0xdd,0x9d,0x44,0xba,0x3a,0x08,0x6e,0xdb,0x42,0xe0,0xa9,0xc7,
0x51,0x0a,0x8b,0x29,0x99,0xbf,0x60,0x48,0x72,0x91,0x1c,0x6e,0xf4,0xee,0xe6,0x94,
0xec,0x5f,0xb7,0xff,0x98,0xe1,0xf6,0x99,0x86,0xce,0x5b,0x0f,0xdc,0xcb,0xa6,0x9b,
0x7f,0x49,0xef,0xce,0x6d,0xc3,0xed,0xea,0x6e,0x7a,0x97,0x5d,0xff,0x7c,0x1c,0x57,
0xe9,0x1c,0x8a,0xe7,0xf9,0x0f,0x66,0x26,0x92,0xd3,0x8d,0xde,0xbd,0x8f,0xf1,0x02,
0xe1,0x5c,0x2e,0x17,0x4e,0x09,0x5e,0x78,0xb3,0x91,0xde,0x50,0x78,0xb2,0x8f,0xfe,
0xa3,0x60,0x4f,0x4f,0x46,0x6a,0xe1,0x4c,0xcc,0xc8,0xb1,0x7b,0xb2,0x17,0x58,0xbd,
0x58,0x65,0xa1,0x5a,0x85,0x2c,0x27,0xde,0x3d,0x92,0x2b,0x17,0x87,0xef,0x50,0xc5,
0xbf,0xe5,0xf1,0x47,0xd8,0x7a,0xe7,0x6d,0x63,0x4e,0x2f,0x4d,0x5d,0x67,0xf3,0xad,
0xbf,0x61,0xc7,0x0b,0xcf,0x1e,0x18,0x3c,0x8a,0xe6,0x22,0x39,0x3d,0x29,0xd7,0xa9,
0x92,0xcb,0x8b,0x52,0x78,0x20,0xd4,0xfa,0xed,0x87,0xfe,0xca,0xf6,0x7b,0xff,0x7c,
0x98,0x76,0xc5,0x79,0xe3,0xb7,0xbf,0x22,0xf0,0xca,0x4b,0x87,0x0e,0x8e,0xbe,0xf2,
0xe1,0xfd,0xe2,0xf1,0x50,0x56,0x56,0xc2,0xd9,0xab,0x27,0x9d,0x60,0xc5,0x10,0x6b,
0xe0,0xf4,0xc2,0xae,0xc9,0x5e,0xe0,0xf8,0xc5,0x7e,0x7c,0xbe,0xe4,0x02,0x58,0x1c,
0x25,0x55,0x87,0x18,0x69,0x3a,0x03,0x3b,0x69,0xfc,0xd3,0xad,0x54,0x6d,0x38,0x87,
0xaa,0x0d,0x67,0x23,0x8d,0x35,0x20,0x48,0x12,0x6f,0xde,0x72,0x23,0xbd,0xad,0x2d,
0xc3,0x46,0x22,0x47,0x49,0xea,0x25,0xd5,0x74,0x94,0x54,0x0f,0x1b,0xd9,0xda,0xb6,
0x35,0xd1,0x74,0xd7,0x6d,0x98,0xa6,0x41,0xbe,0xbf,0x16,0x67,0x6e,0xde,0x98,0xe7,
0x6c,0xfa,0xed,0xaf,0x19,0xe8,0xec,0x38,0x48,0xe2,0x64,0x1c,0xc5,0x55,0x09,0xdd,
0xb3,0x20,0x3f,0x8f,0xc5,0xfe,0x2a,0xe2,0xfa,0xa4,0xb6,0xd8,0x7a,0xc8,0xd0,0x6c,
0x1c,0x99,0x4a,0xe0,0x6d,0x93,0xbd,0xc0,0x22,0xb5,0x2a,0xa9,0x6d,0x23,0x30,0x51,
0x0a,0xe7,0x1e,0xf2,0xe9,0xe6,0xbb,0xef,0x60,0xf5,0xb5,0xdf,0xe6,0xc4,0xfa,0xab,
0x39,0xf1,0xaa,0xab,0x59,0xfd,0xe5,0x6f,0x1d,0x56,0x63,0xbd,0xfb,0xd0,0x03,0x07,
0xd6,0x35,0x63,0x5c,0x6b,0xd6,0xd7,0x5a,0xbe,0x03,0xcf,0xb4,0xf9,0xae,0xff,0xc3,
0x04,0x56,0x7f,0xf9,0xdb,0x9c,0xf5,0xbd,0x9f,0xf0,0x9e,0x5f,0xdc,0x8c,0x6f,0xc9,
0xa1,0x55,0x5c,0x8d,0x68,0x84,0x2d,0x8f,0x3e,0x74,0x98,0x6b,0x8d,0x6f,0x61,0x96,
0x24,0x89,0x25,0x0b,0xe6,0x11,0x8a,0x4f,0xca,0x95,0xb9,0x0b,0xb1,0x8d,0x94,0x56,
0xd8,0x32,0x99,0x93,0xe3,0x86,0x81,0xbf,0xba,0x22,0xc9,0x5e,0x74,0x22,0x7b,0x47,
0x6f,0xab,0x04,0xf7,0xed,0x25,0xd8,0xf4,0x0e,0x73,0xeb,0x16,0x0f,0x7f,0x56,0x5e,
0xb7,0x18,0x87,0x37,0x77,0xcc,0x4b,0xec,0x7b,0xea,0x31,0x06,0x83,0xdd,0x96,0x80,
0xe7,0xf9,0x52,0xab,0x47,0x25,0x09,0xc5,0xb6,0x3c,0x77,0x06,0x76,0x11,0x6c,0x7c,
0x1b,0x87,0x27,0x87,0xea,0xa3,0x57,0x22,0xc9,0x32,0x2e,0xaf,0x97,0x79,0xeb,0x36,
0x8c,0x79,0xaa,0xf6,0xe8,0x5f,0x89,0xf4,0xf5,0x8d,0xee,0x2e,0x6f,0x01,0xc8,0x89,
0x19,0x07,0x8b,0x7d,0x05,0xac,0x5d,0xa2,0x4e,0xe6,0xe9,0x5b,0x02,0x9a,0xa6,0x0b,
0x02,0xa7,0x0f,0x76,0x02,0x13,0xb6,0x7a,0xe8,0x86,0x49,0x59,0x51,0x72,0x04,0x92,
0x5d,0x39,0x48,0xca,0x68,0x2f,0xad,0x96,0x2d,0xef,0xa0,0x87,0xc3,0x0c,0x74,0x75,
0x0d,0x7f,0xd6,0xdf,0xd5,0x45,0x3c,0x3c,0x78,0x58,0x92,0xb4,0x34,0xda,0x63,0x8f,
0xac,0x20,0x7b,0x52,0x27,0x4c,0x51,0xce,0x29,0x1c,0x5e,0x1e,0xec,0x7f,0x77,0x33,
0x48,0x12,0xf1,0xc1,0x41,0x7a,0xdb,0x5a,0x0f,0x2c,0x17,0xb6,0x1f,0x3e,0x08,0xa1,
0x75,0xdb,0x68,0x4b,0xb2,0xe4,0x70,0x25,0xbc,0xce,0xcf,0xcb,0xf5,0x52,0x9c,0xe7,
0x9d,0x55,0x9b,0x48,0x2a,0x23,0xe3,0xe2,0xe1,0x02,0x9a,0xd6,0xe6,0x57,0xd5,0x56,
0x60,0x42,0xc3,0x76,0x81,0xd7,0x93,0xe4,0xf4,0x19,0xa4,0x31,0x9c,0x1a,0xda,0x36,
0xbf,0x01,0xc0,0x4b,0xbf,0xbe,0x81,0x25,0xef,0xfb,0x20,0x00,0x8d,0xf7,0xff,0xe5,
0x88,0x7b,0xa5,0x9d,0xdb,0x9b,0x98,0x7f,0xe2,0xc9,0x07,0xae,0x19,0xee,0x4b,0x11,
0x02,0x1f,0x68,0x5f,0xdb,0x1b,0xaf,0x5b,0xcf,0xa7,0x28,0x3c,0xf7,0xa3,0x7f,0x47,
0x3d,0xeb,0x7c,0x7a,0xf7,0xee,0xa6,0xed,0x95,0xe7,0x0f,0xdf,0xae,0x9d,0x3b,0x98,
0x77,0xdc,0xe8,0x74,0xdd,0xb2,0x27,0x0f,0x3d,0x32,0x30,0xfe,0xd4,0x5d,0x51,0x28,
0x4e,0xc6,0x91,0x66,0xec,0x01,0x5d,0x10,0x38,0xcd,0xf0,0xaf,0xc9,0x10,0x38,0xd9,
0x38,0xdf,0xa1,0x28,0xa3,0x91,0xe8,0xdb,0xbb,0x07,0x80,0xc1,0x96,0x7d,0x6c,0xba,
0xe9,0x17,0x09,0x5d,0x27,0xb8,0xe3,0x80,0x16,0x4b,0x25,0x4b,0xf4,0x90,0x1b,0xa4,
0xa9,0xeb,0x0c,0xb4,0x1e,0xd8,0xe2,0x8a,0xf5,0xf5,0xb0,0xfd,0xbe,0x3f,0x8f,0x6f,
0x45,0xda,0xd1,0x94,0x50,0x9f,0x1d,0x6e,0x1d,0x5c,0x90,0x9f,0x37,0x99,0xc7,0xdf,
0x9a,0xc9,0x04,0xce,0xd4,0xe2,0x66,0x2f,0x4e,0xf4,0xc4,0xde,0x81,0x70,0xd2,0xb1,
0xbe,0x92,0x3c,0xfa,0xfb,0x7a,0x24,0x82,0x3e,0x38,0x90,0xf4,0xbd,0x23,0xfd,0x7d,
0x23,0xae,0x99,0x42,0xaf,0xc6,0x5e,0xaf,0xc6,0x23,0x61,0x8c,0xc1,0xe4,0xdd,0xcd,
0xc3,0x3d,0xc1,0x31,0xfa,0xcc,0x91,0x30,0x81,0xcd,0xc9,0x85,0x5e,0xbe,0x2b,0x08,
0x9c,0x7e,0x78,0x7a,0xa2,0x27,0xf6,0x84,0xc2,0x30,0x49,0x1f,0x5c,0xd3,0x34,0x27,
0x16,0x5d,0x64,0xa4,0x6a,0x8c,0xb0,0x39,0xdc,0x2e,0x73,0x02,0x7d,0x63,0x4e,0x32,
0x34,0x30,0x36,0x71,0x2b,0x74,0x08,0xd8,0x21,0x08,0x9c,0x7e,0xeb,0xe0,0x37,0x81,
0x8e,0x89,0x0a,0x6b,0x28,0x92,0xdc,0xb6,0xa1,0xa9,0x8f,0x0e,0x37,0x55,0x5c,0x2e,
0x24,0x77,0xf2,0x53,0x60,0x47,0x4e,0xce,0x08,0xa1,0x4f,0x21,0xc3,0xa9,0xfd,0x2c,
0x8a,0xd3,0x85,0xec,0x72,0x27,0x7d,0xba,0x2b,0x37,0x77,0x0c,0x52,0x27,0x16,0xa2,
0x6b,0x9a,0x26,0xe1,0xc8,0x84,0xb7,0x71,0xf7,0x04,0x34,0x2d,0x28,0x08,0x9c,0x9e,
0x78,0x64,0x22,0x27,0x39,0x15,0x99,0xbe,0x81,0xe4,0xa6,0x89,0x66,0x74,0xf0,0xa0,
0xe9,0xa1,0x8c,0xb7,0x24,0xf9,0x02,0x11,0xf9,0x55,0x07,0x3c,0x40,0xcd,0x58,0xea,
0x6c,0x5d,0x0e,0x3d,0x8b,0xe2,0x72,0xe1,0x2e,0x2a,0x49,0xbe,0x5d,0x35,0xfe,0x43,
0xaf,0x19,0x49,0xac,0x8f,0x75,0xc3,0xa0,0xa5,0x73,0xc2,0x1c,0x7c,0x91,0x0c,0x47,
0x26,0x13,0xf8,0x81,0x09,0x75,0x88,0x24,0x33,0x30,0x98,0x1c,0x79,0xcc,0x31,0xac,
0xc5,0xa5,0x2b,0x92,0x2f,0x8a,0x57,0x52,0xb7,0xf4,0xc0,0x35,0x53,0x28,0xa0,0x61,
0x64,0x70,0xc5,0x44,0xda,0x55,0xbc,0x60,0xe1,0xa1,0xd7,0x0c,0x27,0xe6,0xdd,0xa8,
0xeb,0x06,0x3b,0xf6,0x4d,0x38,0x77,0xf4,0x73,0x99,0x4e,0xe0,0x59,0xb7,0x42,0xfb,
0x55,0x55,0xb1,0x9f,0x43,0xb1,0x07,0x14,0x05,0x2b,0x0d,0x68,0x0e,0x56,0x51,0x2a,
0x97,0x7d,0x38,0xed,0xff,0x1f,0xfc,0xcc,0x06,0x56,0xd6,0xc1,0x18,0x96,0xc7,0x4d,
0x04,0x6b,0x1f,0x78,0xb3,0xbd,0x06,0x4a,0x6a,0x13,0x51,0x92,0xa0,0x33,0xd8,0xcb,
0xfc,0xaa,0xc4,0xbd,0xa1,0x8c,0xe8,0x20,0x66,0x3c,0x86,0xe4,0x38,0xb0,0x17,0x3c,
0x77,0xe9,0x32,0xb6,0x27,0xb7,0x70,0x66,0x8e,0xed,0xf4,0x61,0x1a,0xf1,0x84,0x05,
0x7c,0x46,0x08,0x1c,0xee,0x03,0xc3,0x00,0x59,0xa6,0x7c,0xf9,0x51,0x04,0x1e,0xbe,
0x6f,0x42,0xed,0x1a,0xa9,0xd1,0xcd,0x78,0x62,0x83,0xa4,0x6e,0x18,0xbc,0xb2,0x63,
0x3f,0xfe,0xe2,0xdc,0x89,0x3c,0xfa,0x6b,0x7e,0x55,0x2d,0xb1,0x65,0x29,0x07,0x2b,
0x6f,0xb8,0xdb,0x96,0xa1,0x21,0x99,0x3b,0x64,0xc9,0x6d,0x1f,0xf1,0x11,0xb2,0x14,
0x06,0x06,0x6d,0x39,0x1b,0x3a,0xe2,0x80,0x1e,0xd0,0x34,0x33,0xe3,0x08,0xec,0x57,
0x55,0x07,0x50,0x6c,0x1f,0xe5,0x07,0x1d,0x65,0x58,0x05,0xc8,0x4a,0x46,0x90,0x52,
0x1a,0x71,0x30,0xa2,0xc3,0x06,0xed,0x4e,0x8c,0x8e,0xe8,0xd4,0x83,0x2d,0x22,0x92,
0x7d,0x1d,0x87,0x4d,0x74,0xcf,0x88,0xa3,0x2b,0x59,0x02,0x03,0x34,0xb7,0x77,0x02,
0x8b,0x92,0x90,0xf0,0x38,0xc6,0x60,0x2f,0x4a,0xfe,0x81,0xe9,0xe5,0x9c,0x85,0x75,
0x78,0x4a,0xe7,0x12,0xee,0x68,0x4d,0xe8,0x12,0x05,0x8b,0x96,0x52,0x54,0x6d,0x4d,
0xa1,0x8d,0xfe,0x14,0x5b,0xb6,0x99,0x26,0xfa,0x40,0x10,0x25,0xbf,0x98,0xf2,0xc5,
0x4b,0x71,0x16,0xf8,0x88,0xf5,0x26,0xf6,0x8c,0xc5,0x47,0x1d,0x7b,0x48,0x68,0xa1,
0x11,0xea,0x05,0x23,0x4e,0x22,0xa5,0xb9,0x3a,0xba,0x7b,0x29,0xf4,0x4c,0x28,0x68,
0xae,0x0f,0xb8,0xdd,0x96,0x9b,0x41,0x7b,0x30,0x0f,0xdb,0xb2,0x14,0x1d,0x41,0xc4,
0x43,0x56,0x51,0xb6,0x2c,0x39,0x0f,0x92,0x25,0xaf,0x4d,0x78,0xd3,0x3e,0x0c,0xc0,
0xf4,0xab,0xaa,0x81,0x15,0xc2,0xda,0x01,0xb4,0x03,0x2d,0x40,0xab,0xfd,0x73,0xbf,
0xfd,0x79,0x57,0x40,0xd3,0x06,0x52,0x8a,0xc0,0x76,0xcd,0xd5,0x85,0x40,0x9d,0xfd,
0x73,0x3e,0x56,0x69,0xcf,0x5a,0xbb,0x81,0x9d,0x36,0x81,0x5a,0x46,0x1c,0xaf,0xda,
0x8d,0xec,0xb0,0xff,0x17,0x1e,0x39,0xe2,0x4d,0xb5,0xcb,0x9b,0x5f,0x55,0x37,0x00,
0x4f,0x25,0x7b,0xde,0xa6,0xc6,0x9d,0x5c,0x7c,0xda,0x49,0x49,0x64,0x84,0x90,0x88,
0x77,0xb7,0x8e,0x22,0xb0,0xec,0x70,0xb0,0xfc,0xf2,0x8f,0xf2,0xda,0x7f,0xdf,0x30,
0x6e,0xa6,0x0d,0xd3,0xd0,0x59,0x71,0xe9,0x87,0x0f,0x54,0x29,0x0c,0xb6,0xa4,0xdc,
0x54,0x4d,0x0f,0xb6,0xa2,0xe4,0x17,0xa3,0xb8,0x5c,0x2c,0xbb,0xfc,0x63,0xbc,0xf9,
0xdb,0x5f,0x8d,0xdf,0x2e,0x5d,0x67,0xf9,0xfb,0x3f,0x78,0xc8,0xe7,0x56,0xfb,0x12,
0x0b,0xd3,0xec,0xec,0xe9,0xa5,0x30,0xc7,0x3d,0x91,0x47,0xfe,0x4d,0x40,0xd3,0xbe,
0x39,0x0d,0xca,0x49,0x3a,0x88,0xe4,0x2e,0xa0,0x00,0xab,0xfe,0x52,0x99,0xad,0xa4,
0x2a,0x80,0x95,0x40,0x95,0xad,0xa8,0x8a,0xfd,0xaa,0x5a,0x08,0xec,0xc3,0xb2,0x8a,
0xef,0x04,0xb6,0xdb,0xc7,0xb6,0x80,0xa6,0x75,0x4c,0x0b,0x81,0x17,0xd6,0xd6,0x4a,
0xf1,0x78,0xdc,0x03,0x54,0x03,0xc7,0x03,0x47,0x03,0xcb,0x6c,0xc2,0xe6,0x62,0x6d,
0x92,0x6f,0xc5,0x0a,0x20,0x78,0x18,0x2b,0x12,0x28,0x10,0xd0,0xb4,0xc1,0x54,0x10,
0xba,0x80,0xa6,0x3d,0xed,0x57,0xd5,0x46,0x20,0xa9,0xd4,0x0e,0xaf,0xbe,0xbb,0x9d,
0x70,0x34,0x86,0x2b,0x09,0x87,0x0e,0xbd,0x6b,0x2f,0x54,0x2f,0x81,0x11,0xfb,0xb7,
0xea,0xea,0x35,0xec,0x5e,0xbd,0x96,0xf6,0x57,0x8f,0x6c,0x4b,0x99,0x77,0xd6,0x05,
0x94,0x2f,0xb5,0xb3,0x71,0x18,0x3a,0x7a,0xd7,0xbe,0x94,0x23,0x70,0xbc,0x73,0x0f,
0xae,0xea,0xc5,0x20,0xc9,0x2c,0x38,0x79,0x1d,0x7b,0x5f,0x7e,0x81,0xce,0xb7,0x5e,
0x3b,0xe2,0x39,0xf3,0xdf,0xfb,0x01,0xe6,0x2c,0xac,0x3b,0x68,0xb6,0xa2,0xa3,0x77,
0x25,0x1e,0xef,0xbc,0x6b,0x6f,0xcb,0x44,0x93,0xdb,0xdd,0x33,0x4d,0x32,0x65,0x8e,
0xd0,0xe2,0x43,0x68,0x67,0x9c,0xed,0x2a,0xbb,0x76,0x75,0xa5,0xad,0xe8,0xe6,0xdb,
0x8a,0xef,0x7c,0x60,0x89,0x5f,0x55,0x8b,0xec,0xf3,0x9b,0x80,0xb7,0x81,0xd7,0xb0,
0xf6,0xaf,0xfb,0xc7,0x53,0x6a,0x47,0x94,0xd0,0x78,0x3c,0x7e,0x39,0xf0,0x2d,0xfb,
0x01,0x5f,0x01,0xde,0x04,0xfe,0x02,0xec,0x0c,0x68,0x5a,0xba,0x04,0x48,0xff,0x12,
0xb8,0x39,0x99,0x13,0x1a,0xf7,0xb4,0xb2,0xaf,0xad,0x33,0xa9,0x75,0xb0,0x19,0x1b,
0x24,0x1e,0x6c,0xc1,0x51,0x5c,0x79,0x40,0x2f,0xcb,0x0a,0x6b,0xae,0xba,0x9a,0xe7,
0x07,0xfa,0x09,0x6e,0x79,0x6b,0xec,0xf5,0xe1,0x09,0xeb,0x38,0xee,0x43,0x1f,0x19,
0x4e,0x1c,0x10,0xef,0x6e,0x49,0x29,0x0b,0xf4,0x81,0xf6,0x85,0x89,0x77,0xb7,0xe2,
0x28,0xae,0x40,0x56,0x1c,0x9c,0x78,0xf5,0xe7,0x79,0xee,0x17,0x3f,0xa1,0x77,0xfb,
0x96,0x31,0xdb,0x55,0xbe,0xf6,0x34,0x56,0x5e,0x72,0xf9,0x21,0x5a,0x3a,0xde,0xb5,
0x3f,0xe1,0xf5,0x2f,0xc0,0xdb,0xdb,0xb5,0x89,0x3c,0xee,0x56,0x5b,0x56,0x53,0x06,
0x01,0x4d,0x33,0x80,0xbd,0xf6,0xf1,0xdc,0x18,0xe4,0x9e,0x6f,0xaf,0xdb,0x56,0x00,
0x5f,0x02,0x96,0xda,0x0a,0xf1,0xa2,0x23,0xcf,0xfd,0xc6,0x9f,0x26,0x9b,0x01,0x4d,
0x8b,0x91,0x66,0xf0,0xab,0xaa,0xd7,0x9e,0x25,0x14,0x01,0x1b,0xed,0x69,0x4e,0xc2,
0xf8,0xe1,0xbf,0x7d,0x88,0x8b,0x4e,0x3f,0x29,0xa9,0x7b,0x4a,0xee,0x3c,0xbc,0x47,
0x6d,0x38,0x24,0x2e,0x38,0x1e,0x8d,0xd0,0xf4,0x8f,0x27,0xd8,0x76,0xdf,0x1d,0xc4,
0x42,0x03,0x80,0x89,0xdb,0x57,0xcc,0xe2,0x4b,0xae,0x60,0xe1,0xfa,0x0d,0xc8,0x43,
0x69,0x7b,0x0c,0x83,0xd0,0xdb,0x4f,0x61,0x46,0x06,0x52,0xb2,0x4f,0x65,0x4f,0x3e,
0x39,0x2b,0x4e,0x1d,0x6e,0x5f,0x3c,0x1c,0xa6,0xf1,0xc9,0xc7,0xd8,0x7e,0xff,0x9d,
0x76,0x90,0x86,0x89,0xa7,0x78,0x0e,0x4b,0x2e,0xbd,0x82,0x05,0x6b,0xd7,0x23,0x1f,
0xec,0xd1,0x66,0x18,0x84,0x36,0xff,0x33,0xe1,0xc4,0xef,0xd1,0x58,0x9c,0x13,0x3e,
0xfa,0x35,0xe2,0x7a,0xd2,0x2b,0xab,0xdf,0x02,0x37,0xd8,0xeb,0xde,0x10,0x10,0x4a,
0x57,0x19,0x0e,0x68,0x5a,0x68,0xc2,0x04,0x9e,0xe5,0x87,0x97,0x46,0xac,0x33,0x8a,
0xec,0x75,0x45,0xe5,0x08,0x43,0x58,0xa9,0x7d,0x14,0x8e,0x38,0xf2,0x6d,0x63,0x43,
0x1c,0x18,0x18,0x71,0x38,0x81,0x13,0x93,0xb9,0xff,0x9a,0xe5,0xb5,0xfc,0xee,0x3b,
0x9f,0x4f,0x3a,0x91,0xbb,0xb3,0x6a,0x29,0xae,0xca,0x45,0x87,0xb1,0x75,0xc5,0x19,
0xe8,0x6c,0x07,0x49,0x26,0xaf,0xb4,0xec,0x10,0x77,0xc9,0x68,0xf3,0x36,0x62,0xfb,
0xb6,0x4c,0x49,0xff,0x85,0x07,0x42,0x44,0x07,0xc3,0xe4,0x15,0x15,0x1e,0x4a,0xa4,
0x49,0xc0,0x55,0xbd,0x1c,0x67,0x45,0xed,0xa1,0xed,0xea,0x68,0x47,0x92,0x65,0x72,
0xc7,0x68,0xd7,0x70,0xfb,0xf6,0x6d,0x25,0xd6,0x9c,0xb8,0x6b,0xf2,0x96,0x5d,0x7b,
0xb8,0xe4,0xba,0x1b,0x92,0x15,0xd2,0x28,0xf0,0xb8,0x3d,0x78,0x7b,0xed,0x63,0xe8,
0xf7,0x18,0x56,0x76,0x8e,0x1e,0xac,0x44,0x77,0x3d,0xb6,0xad,0x66,0xc8,0x00,0x35,
0x64,0x7c,0x6a,0xb6,0x7f,0x8f,0x4c,0x87,0x6d,0x26,0x25,0x8c,0x58,0x53,0x44,0x52,
0x07,0x96,0x45,0xba,0x7c,0x84,0x01,0xcc,0x6f,0x4f,0x27,0x7c,0x1c,0xd8,0x42,0x0a,
0xda,0x53,0x8f,0xfd,0x23,0x8e,0xcd,0x76,0xc7,0x0f,0xbd,0x8c,0x3e,0x7b,0xcd,0x10,
0x1f,0xe3,0x3e,0x4e,0xe0,0xad,0x64,0xd6,0xc2,0x4f,0xbd,0xde,0xc8,0xf6,0x3d,0xcd,
0x2c,0xf6,0x27,0x97,0x1d,0x23,0xd6,0xdc,0x88,0x92,0x57,0x8c,0x52,0x70,0xa8,0xc3,
0x83,0xec,0x70,0x90,0x3f,0x77,0xec,0x58,0x63,0xbd,0xb7,0x83,0xd8,0xbe,0xc6,0x29,
0xe9,0xd7,0xed,0xaf,0xbd,0xcd,0xb6,0xe7,0x36,0x02,0x26,0xde,0x12,0x1f,0xab,0x2e,
0x3a,0x9b,0xdc,0x82,0xbc,0x29,0xb9,0x76,0x74,0xdf,0xbb,0xc8,0x79,0x45,0x56,0x25,
0x86,0x91,0xed,0x2a,0x3f,0x72,0x0c,0xb5,0xde,0xd3,0x4e,0x6c,0x7f,0xe2,0x75,0x8f,
0x24,0x09,0x36,0xbe,0xdd,0x34,0x11,0x0d,0xf3,0xc7,0x80,0xa6,0x5d,0x75,0x04,0x99,
0xcb,0xb5,0x07,0xfa,0x7c,0x7b,0xd0,0x2f,0xb6,0x0d,0x4d,0x65,0xb6,0x8d,0xe7,0x1c,
0xdb,0xe6,0x53,0x8e,0x65,0x8c,0x8d,0xf9,0x55,0x35,0x04,0xec,0x01,0x02,0x23,0x8c,
0x50,0xbb,0x81,0xf6,0x80,0xa6,0xcd,0x6a,0xc8,0x98,0x34,0x43,0x44,0x75,0xda,0x8b,
0xf6,0xa5,0xb6,0x11,0x6c,0xe8,0xa7,0x87,0x03,0xa6,0xf7,0x1d,0xf6,0xb1,0x0b,0xd0,
0xec,0x91,0x71,0x20,0xa0,0x69,0xe1,0x29,0x7a,0x86,0x73,0x6d,0x43,0x5b,0xc2,0x6d,
0xfe,0xf0,0x39,0x6b,0xf9,0x76,0xfd,0x07,0x93,0x76,0xa5,0x97,0x14,0x27,0x9e,0xc5,
0x27,0x1d,0x31,0xbd,0xec,0x28,0xe1,0xee,0xef,0x26,0xdc,0xf4,0x32,0xe8,0x93,0x9f,
0xe5,0xf5,0x75,0xf7,0xf0,0xc2,0xed,0xf7,0x8f,0x6a,0x65,0xf9,0xb2,0x85,0xac,0x3c,
0x73,0xdd,0xd4,0x09,0x8d,0xe2,0xc4,0xb3,0xf8,0xe4,0x31,0xd3,0xcb,0x1e,0xae,0x7d,
0x91,0xa6,0x97,0x0e,0x71,0x39,0x3d,0x12,0x22,0xd1,0x18,0x97,0x7c,0xf5,0x3f,0xd9,
0xb5,0x3f,0x29,0x03,0xad,0x0e,0xd4,0x05,0x34,0x6d,0xe7,0x14,0xc9,0x8c,0xc3,0xd6,
0xde,0xf9,0x36,0xa9,0xfd,0x23,0x14,0x4d,0x8d,0x4d,0xfa,0x3c,0x2c,0x6b,0xf2,0xbb,
0xf6,0xd1,0x08,0x6c,0x09,0x68,0x5a,0x67,0xda,0x11,0xd8,0x76,0xca,0xc8,0x07,0x8e,
0xc3,0xb2,0x5a,0x1f,0x03,0x2c,0xb7,0x47,0xb9,0x77,0x0f,0x3a,0x1a,0x81,0xe0,0x4c,
0x6e,0x84,0xfb,0x55,0xf5,0x2e,0xe0,0xb2,0x44,0xbf,0x6f,0x98,0x26,0x7f,0xfb,0xaf,
0x6f,0x51,0x5b,0x53,0x91,0xfc,0xcd,0x64,0x19,0xb7,0xba,0x12,0x47,0x69,0xd5,0x11,
0xba,0xd9,0x24,0xde,0xb1,0x97,0x88,0xf6,0xa6,0xe5,0x28,0x31,0x05,0x68,0xdb,0xd3,
0xcc,0xeb,0xf7,0x3f,0x3e,0xea,0xb3,0xfc,0x8a,0x32,0xd6,0x5e,0x72,0xde,0xd4,0x26,
0x8e,0x97,0x15,0xdc,0xfe,0x63,0xac,0x5c,0x60,0x87,0x6b,0x9f,0x69,0x12,0xeb,0xd8,
0x43,0x54,0x7b,0x2b,0xe9,0xe0,0x8e,0x8d,0x6f,0x37,0xf1,0xb1,0xef,0xfe,0x1a,0x25,
0xb9,0xa8,0xac,0x9b,0x02,0x9a,0x76,0xcd,0x0c,0x2f,0xf3,0x9c,0xc0,0x02,0x5b,0x21,
0x0d,0x29,0xa7,0x15,0x36,0x0f,0xb6,0xd8,0x33,0xc5,0x4d,0x58,0x21,0xae,0xcd,0x01,
0x4d,0x8b,0xa6,0x0c,0x81,0xfd,0xaa,0x5a,0x60,0x3f,0xf0,0x5a,0x60,0x9d,0x3d,0x42,
0x39,0xb0,0xcc,0xe0,0xaf,0xda,0xd3,0xd6,0xc6,0x80,0xa6,0xa5,0x44,0x05,0x2f,0xdb,
0x2b,0xe7,0x6d,0x7b,0x7a,0x94,0x10,0x2e,0x5c,0x7f,0x1c,0x3f,0xf8,0xdc,0xc7,0x92,
0xca,0x50,0x39,0x4a,0xce,0xf3,0x8a,0x87,0x8b,0x7f,0x0d,0x65,0xed,0x30,0xe3,0x31,
0xf4,0xfe,0x2e,0x62,0x2d,0x3b,0x31,0x06,0x3a,0xa7,0x74,0x1c,0x8d,0x84,0xc2,0x3c,
0xf3,0xfb,0xbb,0x31,0x46,0x18,0x7e,0xfc,0x6b,0x56,0xb2,0x64,0xcd,0xca,0x69,0xe8,
0x51,0x13,0x39,0xaf,0x64,0xec,0xf6,0xf5,0x75,0x11,0x6b,0xdd,0x81,0x31,0xd0,0x9d,
0xf4,0x55,0x0d,0xc3,0xe0,0xda,0x1b,0x6e,0xe1,0xc9,0x57,0xdf,0x49,0xe6,0xb4,0x6e,
0x60,0x49,0x40,0xd3,0xda,0x52,0x44,0xd6,0x5c,0xf6,0xac,0x73,0x85,0xad,0xd0,0x4e,
0xb4,0x6d,0x39,0x1d,0x58,0x3b,0x3a,0xcf,0x03,0x9b,0x02,0x9a,0xb6,0x77,0xc6,0x08,
0x6c,0x13,0xf6,0x64,0xe0,0x54,0xe0,0x2c,0x7b,0xf4,0x69,0x02,0x5e,0xb0,0x1f,0x68,
0x7b,0xaa,0x47,0x7f,0xf8,0x55,0xf5,0x4c,0xe0,0x51,0x12,0xcc,0x89,0xad,0x1b,0x26,
0x37,0x7d,0xe3,0x53,0x6c,0x58,0x7d,0xf4,0x24,0x87,0x4a,0xe9,0x80,0x80,0xeb,0xb1,
0x49,0x87,0x2c,0x1e,0x09,0x9d,0xfb,0x5a,0xd9,0xf2,0xec,0x2b,0x84,0x7b,0x7a,0x29,
0x5f,0xbe,0x88,0x25,0x27,0x1e,0x87,0x63,0x5a,0x8b,0x91,0xdb,0xe5,0x45,0xa7,0xa8,
0x7d,0xaf,0x6f,0xd9,0xce,0x07,0xbf,0xf9,0x5f,0xb8,0x9d,0x49,0x19,0xdf,0x3e,0x13,
0xd0,0xb4,0xdf,0xa5,0xb8,0xec,0xb9,0xb1,0x0c,0xb1,0x6b,0x6c,0x85,0xb7,0xd2,0x9e,
0x86,0xbf,0x8c,0x15,0x02,0xfb,0x5c,0x40,0xd3,0xb6,0x4f,0x19,0x81,0xe7,0xfb,0xfd,
0xb2,0x69,0x9a,0xab,0x81,0xf7,0xd8,0x84,0x9d,0x0b,0x3c,0x6b,0xdf,0xec,0x9f,0xc0,
0x7e,0x7b,0x7f,0x2b,0xad,0xe0,0x57,0xd5,0xeb,0x81,0xef,0x27,0xfa,0xfd,0xc2,0xdc,
0x1c,0xee,0xbe,0xe1,0x3a,0x2a,0xcb,0x4a,0xd2,0xaa,0x9d,0xa6,0x69,0x26,0x91,0x98,
0x3e,0x35,0x10,0x8e,0x46,0xf9,0xe4,0xbf,0xff,0x8a,0xb7,0x76,0xec,0x49,0xe6,0xb4,
0xc7,0x81,0xf7,0xcc,0xb6,0x5f,0xf2,0x04,0xa7,0xe0,0x39,0xc0,0x49,0xc0,0x06,0xfb,
0xa8,0xc0,0xf2,0x1e,0x7c,0x0c,0x78,0x7c,0x3c,0x7f,0x8b,0xf1,0xf6,0x81,0x0b,0xb0,
0x9c,0x20,0x9e,0x06,0xfe,0x99,0xec,0xe8,0x90,0xe2,0x1d,0xf7,0x47,0xe0,0xc3,0x89,
0x9e,0xb3,0x66,0xd9,0x02,0x7e,0xf9,0xf5,0xcf,0x90,0xef,0xcd,0x41,0x60,0xfa,0xf0,
0xc7,0x87,0xfe,0xc9,0x8f,0xff,0x90,0x54,0x20,0x59,0x0b,0xb0,0x32,0xa0,0x69,0xad,
0x19,0x22,0x9b,0xf9,0xc0,0x7a,0x2c,0x6b,0xf8,0x73,0x01,0x4d,0xbb,0x67,0xc6,0x8c,
0x58,0x69,0xd6,0x51,0x2e,0xe0,0x6f,0xc0,0xd9,0x89,0xaf,0x87,0x8f,0xe7,0x3b,0x9f,
0xbe,0x9c,0x1c,0x8f,0x3b,0xa5,0xda,0x12,0x8f,0xc5,0x90,0x24,0x09,0x25,0x81,0x3a,
0x4e,0x91,0xd0,0x20,0xee,0x14,0x1d,0x84,0x5e,0xdf,0xb2,0x83,0x8f,0x7f,0xf7,0xd7,
0xc9,0x64,0xfd,0x88,0x00,0x67,0x04,0x34,0xed,0x85,0x6c,0x95,0x63,0x25,0x5b,0x1b,
0x1e,0xec,0xe9,0xd1,0x7d,0x3e,0xdf,0x7d,0xf6,0x9a,0x3e,0xa1,0x62,0xb4,0x5b,0x77,
0xef,0xa7,0xbd,0xab,0x9b,0x35,0x47,0x2d,0x4e,0xca,0x4f,0x7a,0x3a,0x21,0x49,0x12,
0xff,0xba,0xff,0x31,0x5a,0x76,0xec,0xa6,0x6a,0x49,0xed,0x11,0xbf,0xdb,0xb1,0xaf,
0x85,0x17,0xff,0xf8,0x00,0x25,0xf3,0x6b,0xc8,0x99,0x5c,0xaa,0xd6,0x29,0x87,0xb6,
0xbf,0x8d,0xab,0x7f,0xf0,0x3f,0xc9,0x64,0x43,0xd1,0x81,0x2b,0x03,0x9a,0xf6,0x70,
0x36,0xcf,0x58,0xe4,0x6c,0x6e,0xbc,0xed,0xa6,0x76,0x3e,0xf0,0x50,0xa2,0xe7,0x3c,
0xf0,0xcc,0xab,0x7c,0xe5,0x67,0x0d,0xb4,0x76,0xa6,0x86,0xad,0xce,0xc4,0xa4,0x70,
0x6e,0x19,0x5d,0xda,0x3e,0xda,0xf6,0x1c,0x3e,0x48,0xc0,0xd0,0x75,0x9a,0x5e,0x7c,
0x1d,0xd9,0xe1,0xc0,0x9b,0x9f,0x9b,0x52,0xef,0x61,0x4f,0x4b,0x3b,0x9f,0xfd,0xd1,
0x4d,0x74,0xf6,0x26,0xec,0x42,0x6a,0x00,0x5f,0x08,0x68,0xda,0x9f,0xb2,0x7d,0xc9,
0xa1,0x64,0x7b,0x07,0x04,0x7b,0x7a,0xe2,0x3e,0x9f,0xef,0x6e,0x2c,0xb7,0xcc,0xd5,
0x89,0x9c,0xb3,0xbb,0xb5,0x93,0x27,0x5f,0xde,0xc4,0x62,0x7f,0x25,0x55,0x73,0x4a,
0x67,0xbd,0x0d,0x05,0xa5,0x45,0xec,0xdb,0xb2,0x83,0xd6,0xa6,0x5d,0x14,0x54,0x94,
0x91,0x5b,0x38,0x3a,0x4f,0x75,0x3c,0x1a,0xe3,0xad,0xa7,0x5e,0xa2,0x6b,0xd7,0x1e,
0x16,0xae,0x5f,0x4d,0x59,0x4d,0x65,0xca,0xf4,0xff,0x96,0x9d,0xbb,0xf9,0xec,0x7f,
0xfe,0x96,0xdd,0x6d,0x5d,0xc9,0x68,0xde,0x94,0xb7,0x38,0x0b,0x02,0xcf,0x2c,0x89,
0x0d,0x9f,0xcf,0xf7,0x88,0x6d,0x10,0x39,0x3b,0x91,0x7e,0xe9,0x0b,0x85,0x79,0xf0,
0x99,0x8d,0x44,0x22,0x61,0x96,0xcc,0xaf,0x21,0x27,0xc9,0x64,0xf0,0x53,0x09,0x87,
0xd3,0x49,0x71,0x4d,0x05,0xcd,0x5b,0x77,0xb2,0xf7,0xed,0x26,0x82,0xed,0x9d,0xc4,
0x62,0x71,0x06,0x7a,0xfa,0x68,0xde,0x1e,0x60,0xf3,0xe3,0xcf,0xd1,0xdb,0xd2,0x4e,
0xf5,0xca,0x65,0x2c,0x3e,0x61,0x65,0x4a,0x58,0xa6,0x0d,0xc3,0xe4,0x91,0x17,0x5e,
0xe5,0xdf,0x7e,0xf4,0x3b,0x7a,0x06,0x12,0x8e,0x3e,0xed,0x07,0x2e,0x0d,0x68,0xda,
0x5d,0x42,0x6a,0xed,0x25,0x94,0xe8,0x82,0xd1,0xf0,0xab,0xea,0xf1,0xc0,0x9f,0x80,
0xc5,0x89,0x9e,0x93,0xef,0xf5,0xf0,0xad,0x4f,0x7e,0x80,0xd3,0x4f,0x38,0x86,0xbc,
0x1c,0x0f,0xb3,0xb5,0x97,0x31,0xd8,0x3f,0x40,0xd3,0x2b,0x6f,0xd2,0xda,0xb8,0x13,
0x3d,0x1a,0xb5,0x5f,0xaf,0x49,0xde,0x9c,0x52,0x6a,0xd7,0x1c,0x43,0x65,0xad,0x9a,
0x12,0x7d,0xbc,0xaf,0xad,0x93,0x9b,0xee,0x7a,0x98,0xfb,0x9f,0xd9,0x98,0xcc,0x60,
0xd2,0x08,0x5c,0x12,0xd0,0xb4,0x77,0x84,0x94,0x0a,0x02,0x8f,0x47,0xe2,0x5c,0xe0,
0x07,0xc0,0x17,0x12,0xb5,0x13,0x98,0xa6,0x89,0x5a,0x5e,0x42,0xfd,0xfb,0xce,0xe2,
0x94,0xe3,0x8f,0xa2,0xac,0xa8,0x70,0x42,0x39,0x94,0x27,0xff,0x46,0x25,0xa2,0x83,
0x61,0x06,0xfb,0xfa,0xd1,0xe3,0x3a,0x9e,0x5c,0x2f,0x39,0x79,0xb9,0x48,0xf2,0xec,
0xbe,0x6a,0x49,0x92,0x68,0xef,0xee,0xe1,0xe1,0x67,0x5e,0xe1,0x57,0x77,0x3e,0x4c,
0x34,0xb9,0x5c,0xcf,0xbf,0x03,0xbe,0x12,0xd0,0xb4,0x7e,0x21,0x9d,0x82,0xc0,0xc9,
0x6a,0xe3,0xff,0x01,0x4e,0x48,0xe6,0x3c,0x8f,0xcb,0xc9,0xa5,0x67,0x9c,0xc8,0xd9,
0x27,0x1f,0xc7,0xb2,0x05,0xf3,0x70,0xbb,0x9c,0x59,0xdb,0x87,0xa6,0x69,0x12,0x68,
0x6e,0xe5,0xb1,0x17,0x5e,0xe7,0xf7,0x7f,0xfb,0x27,0x03,0xe1,0xa4,0x5c,0x81,0x77,
0x02,0x57,0x07,0x34,0xed,0x09,0x21,0x8d,0x82,0xc0,0x13,0x25,0xb1,0x84,0xe5,0xf0,
0xf1,0x3d,0xac,0x28,0x94,0xa4,0x84,0xd7,0xeb,0x71,0xf3,0x89,0xf7,0x9e,0xca,0xaa,
0xe5,0x75,0x2c,0x9a,0x57,0x49,0x61,0x7e,0x2e,0x0e,0x45,0x99,0x1d,0xed,0x3c,0x43,
0x9a,0x36,0x1a,0x8b,0xd1,0xd2,0x11,0xe4,0xad,0xa6,0x9d,0x3c,0xf0,0xd4,0xcb,0x3c,
0xf3,0xc6,0x56,0x5c,0x8e,0xa4,0xcc,0x2d,0x3d,0x58,0x01,0xf9,0x3f,0x0b,0x68,0x5a,
0x44,0x48,0xa1,0x20,0xf0,0x54,0x10,0xd9,0x6d,0x13,0xf9,0xeb,0xc9,0xac,0x8f,0x87,
0x60,0x98,0x26,0xbd,0xe1,0x18,0xe7,0x9f,0xb0,0x9c,0xe3,0x97,0x2d,0x64,0xe9,0x82,
0x1a,0xe6,0x55,0xcc,0xa1,0x28,0x3f,0x0f,0x5f,0x7e,0xae,0x95,0xea,0x30,0xcd,0x48,
0x2d,0x49,0x12,0x92,0x24,0xd1,0x1f,0x1a,0xa4,0x33,0xd8,0x4b,0xa0,0xb9,0x95,0xb7,
0x9a,0x76,0xf1,0xc2,0x1b,0x5b,0x78,0x7a,0xf3,0x0e,0x8a,0xbd,0x49,0x3b,0xbc,0xf4,
0xd9,0x33,0x9e,0x9f,0xa7,0x4a,0x00,0x8c,0x20,0x70,0xe6,0x11,0x59,0xc1,0xda,0x3b,
0xfe,0x12,0x96,0xef,0xea,0x84,0xfa,0xd0,0x34,0x2d,0x52,0xfb,0xf2,0x3c,0xd4,0xcc,
0x29,0xe1,0xe8,0x45,0x7e,0x96,0xcc,0xaf,0xc2,0x57,0x90,0x4f,0x45,0x69,0x11,0x5e,
0x8f,0x87,0xfc,0xdc,0x1c,0x7c,0xf9,0xb9,0x76,0x48,0x9d,0xc4,0x4c,0x1b,0x8f,0xcd,
0xa1,0x07,0x05,0xfa,0x07,0xc3,0xf4,0xf4,0x0d,0x10,0x0a,0x47,0xe8,0xe8,0xee,0xa1,
0xad,0xab,0x87,0xbd,0xad,0x1d,0xbc,0xf2,0xce,0x36,0x02,0xcd,0x6d,0xb4,0xf7,0x0c,
0x20,0x4b,0x13,0x7e,0xc6,0xbd,0xc0,0x8d,0xc0,0x6f,0x33,0xbd,0x14,0x8a,0x20,0xf0,
0x68,0x32,0x39,0xec,0x69,0x6d,0x1d,0x56,0xe0,0x75,0x08,0x3b,0x21,0xc0,0x4c,0x24,
0xdd,0xf3,0xab,0xea,0x62,0xe0,0x13,0xc0,0x87,0x98,0x60,0x39,0xd3,0xc3,0x41,0x37,
0x0c,0x42,0xd1,0x38,0xdd,0xe1,0x38,0x0b,0xe7,0xf8,0x58,0x58,0x59,0x46,0xd5,0x9c,
0x22,0x2a,0x4a,0x8b,0x28,0xc8,0xf5,0xa2,0x28,0x0a,0x4e,0x87,0x03,0xa7,0x43,0xb1,
0x0f,0x07,0x8a,0xa2,0xe0,0x50,0x64,0xe4,0xc3,0x18,0xac,0x4c,0x13,0xe2,0xba,0x8e,
0x61,0x18,0xc4,0x75,0x03,0xdd,0x30,0xd0,0x75,0x83,0xb8,0xae,0x13,0x8f,0xeb,0xe8,
0xba,0x4e,0x5c,0xd7,0x19,0x8c,0x44,0x69,0xeb,0xea,0x61,0x5f,0x7b,0x17,0x7b,0xda,
0xba,0x68,0xdc,0xd7,0x8e,0x69,0x98,0x14,0x78,0x9c,0x38,0x15,0x79,0xaa,0xb6,0xa1,
0x06,0x80,0x27,0x80,0x5b,0x81,0xbf,0xa7,0x63,0x50,0x8c,0x20,0xf0,0xe4,0xc8,0xb3,
0x06,0xf8,0x3d,0x56,0x3c,0xf2,0xc1,0xe8,0xc5,0x8a,0xb9,0xfc,0x33,0x70,0xd7,0x78,
0x89,0xc1,0xa6,0x48,0x2b,0x9f,0x08,0x5c,0x62,0x6b,0xe7,0x45,0x42,0xb4,0x0e,0x3b,
0x45,0x7e,0x0a,0x2b,0xe5,0xeb,0xdf,0x67,0x2a,0x6b,0x85,0x20,0x70,0x6a,0x12,0xf8,
0x11,0xac,0x30,0xc7,0xf1,0xd0,0x01,0xfc,0x04,0xf8,0xf5,0x54,0x67,0x43,0x38,0x02,
0x99,0x6b,0x81,0xf3,0xb0,0x42,0x30,0x4f,0xc1,0x4a,0xbb,0x92,0x8d,0x30,0xb0,0x92,
0x3a,0x3c,0x89,0x15,0xf2,0xf7,0xc2,0x74,0x0f,0xa6,0x82,0xc0,0xe9,0x43,0xe0,0xcf,
0x70,0x84,0x7c,0xcf,0x4b,0x4e,0x3f,0x9f,0xd3,0x3f,0x7e,0x0d,0xdb,0x5f,0x7b,0x89,
0xc7,0x7f,0xfd,0x7d,0x40,0xda,0x8a,0xe5,0xfc,0xfe,0xd2,0x0c,0x3f,0xa7,0x0c,0x1c,
0x6b,0x6b,0xe8,0x13,0xb1,0xdc,0x35,0xab,0xed,0x29,0x7f,0x26,0x21,0x6c,0x0f,0x96,
0x6f,0xd8,0xb3,0x9f,0x57,0x80,0x97,0xd2,0x28,0x7f,0xb8,0x20,0xf0,0x2c,0x90,0xf8,
0x7a,0xac,0xed,0x9d,0x43,0x9c,0x2d,0xaa,0x8e,0x5e,0xcd,0xa5,0xdf,0xfe,0x31,0x00,
0xbf,0x78,0xff,0x7a,0x64,0xa7,0x0b,0xac,0xb4,0xa2,0xdf,0x0c,0x68,0xda,0xcf,0x67,
0xf9,0xb9,0x8b,0xb0,0xd2,0x0f,0xad,0xb0,0x97,0x00,0x8b,0xb1,0xf2,0x2a,0x55,0x61,
0x65,0x68,0x48,0x65,0xb4,0x61,0x65,0x05,0x0d,0x60,0x55,0xe4,0xd8,0x0a,0xbc,0x03,
0xec,0x0a,0x68,0x5a,0x8b,0xa0,0x94,0x20,0x70,0x52,0x58,0xf3,0x9e,0x0b,0x37,0xb4,
0xbc,0xb3,0xe9,0x57,0x92,0x2c,0x1f,0x92,0xf3,0xc6,0xe9,0xcd,0x45,0x71,0x79,0x08,
0x07,0x3b,0x29,0xa8,0xa8,0xc6,0x57,0x5e,0xcd,0xee,0x4d,0x2f,0x83,0x65,0xf1,0xfc,
0x62,0xaa,0x19,0x4e,0xfc,0xaa,0xea,0x0e,0x06,0x83,0x4b,0x06,0xc3,0xe1,0xfb,0x24,
0x58,0x20,0xcb,0x32,0xb2,0x2c,0x23,0x0d,0xfd,0x94,0x24,0xab,0x02,0xdc,0x90,0x11,
0xc9,0xfe,0x7b,0xe8,0xf7,0x23,0xbd,0xd0,0x51,0x1b,0x54,0x23,0xb6,0xab,0x46,0x5a,
0x9a,0x87,0x7e,0x37,0x4d,0x13,0xc3,0x30,0x30,0xec,0x9f,0xa6,0x69,0xea,0x1e,0xb7,
0xfb,0x9b,0x3e,0x9f,0xef,0x66,0xd3,0x34,0xa3,0x62,0x6f,0x56,0x60,0xca,0xd0,0xd0,
0x14,0xfc,0x22,0x20,0xf9,0x55,0xf5,0xa3,0x7e,0x55,0xdd,0xe1,0x57,0x55,0xf3,0xe0,
0x43,0xad,0xa9,0x36,0xaf,0xbf,0xf7,0x9f,0xe6,0xad,0xdb,0x7a,0xcc,0xcf,0xfd,0xe6,
0x8f,0xa6,0x5a,0x53,0x63,0xfa,0x55,0xf5,0x46,0xdb,0x49,0x23,0x65,0x20,0xcb,0xf2,
0xc9,0x92,0x55,0xf4,0xcd,0x9c,0xc8,0x21,0x49,0x52,0x42,0xc7,0x04,0xaf,0x6f,0x28,
0x8a,0xf2,0x1f,0x05,0x79,0x79,0x62,0xeb,0x31,0x85,0xe0,0xc8,0x80,0x36,0x7c,0xa6,
0xa1,0x29,0xf8,0x64,0x7d,0x9d,0xef,0xff,0xfc,0xaa,0x7a,0x37,0xf0,0x35,0xe0,0x7a,
0xac,0x84,0xf0,0x96,0x56,0x92,0x15,0x76,0xbc,0xf6,0x32,0xf3,0x96,0x1d,0xc3,0xc2,
0x55,0x27,0x11,0xe9,0xd8,0x83,0x67,0x8e,0xfa,0x59,0x7b,0x2a,0xf8,0xc3,0x14,0x21,
0xef,0xa9,0x86,0x61,0xfc,0x1d,0xbb,0x1c,0xaa,0x2c,0xcb,0xb8,0x9c,0x4e,0x1c,0x4e,
0x27,0x0e,0x87,0x03,0x87,0xa2,0x1c,0xd0,0xc6,0xb6,0x03,0xc5,0x90,0x56,0x66,0x84,
0x16,0x4e,0x84,0x5d,0x43,0x0e,0x23,0x86,0x61,0xa0,0xdb,0xdb,0x4a,0xb1,0x78,0x9c,
0x58,0x34,0x4a,0x38,0x1c,0x3e,0x5c,0x29,0x13,0x49,0xd7,0xf5,0xef,0x0e,0x0c,0x0e,
0xfa,0xb0,0xf6,0xc0,0x05,0xc4,0x14,0x7a,0xd2,0xda,0x77,0x3e,0x96,0xbf,0xec,0xb5,
0xf5,0x75,0xbe,0xff,0x1a,0x31,0x15,0x5d,0x05,0xdc,0x87,0x95,0x7c,0xdb,0x12,0x5a,
0xc3,0xa0,0x72,0xc5,0x71,0x98,0xa6,0x49,0xcb,0x96,0xe1,0xba,0x57,0x71,0xe0,0xbd,
0x01,0x4d,0x7b,0x6c,0x56,0x47,0x51,0x87,0xe3,0x28,0xd3,0x34,0x5f,0xcc,0xcf,0xcb,
0xcb,0xf3,0x78,0x3c,0x38,0x9d,0xce,0x43,0xc9,0x39,0x43,0x18,0x9a,0x3e,0x47,0x22,
0x11,0xfa,0x07,0x06,0x08,0x85,0x42,0x63,0x3d,0xef,0xf7,0xe2,0xf1,0xf8,0x7f,0x08,
0xfa,0x08,0x02,0x4f,0x96,0xc0,0x9f,0xb5,0xd7,0xb3,0x4f,0xd6,0xd7,0xf9,0xce,0x3a,
0x68,0x3d,0x59,0x81,0xb5,0x75,0xb1,0x62,0xac,0x73,0x4b,0x17,0x2c,0x21,0x1a,0x0e,
0xd1,0xdb,0xbc,0xbb,0x19,0x58,0x3e,0x5b,0x1e,0x40,0x15,0xe5,0xe5,0x1e,0xd3,0x34,
0x37,0xb9,0xdd,0xee,0x25,0xa9,0x98,0x41,0x52,0xd7,0x75,0xfa,0xfb,0xfb,0x09,0xf6,
0xf4,0x8c,0x74,0xf5,0x34,0x9c,0x4e,0xe7,0x45,0xb1,0x58,0xec,0x21,0x41,0xa1,0x59,
0x9e,0xb9,0xa5,0xf9,0xf3,0x9f,0x6f,0xff,0x3c,0xa9,0xa1,0x29,0x38,0xaa,0xfa,0x60,
0x40,0xd3,0xf6,0x03,0x67,0x60,0x59,0x4a,0x47,0x1b,0xb7,0xdc,0x1e,0xae,0xfc,0xaf,
0xff,0xe5,0xea,0x9b,0xef,0x62,0xf1,0x86,0x73,0x2b,0x81,0x1f,0xcf,0x56,0x03,0xdc,
0x6e,0xf7,0xf5,0x1e,0x8f,0x67,0x49,0xaa,0xa6,0x7f,0x55,0x14,0x85,0xc2,0xc2,0x42,
0xaa,0xab,0xaa,0xc8,0xcb,0x1d,0xde,0xf9,0x92,0xe3,0xf1,0xf8,0xad,0x1e,0x8f,0xa7,
0x54,0x50,0x48,0x10,0x78,0xa2,0xda,0x37,0x17,0xab,0x22,0x04,0x58,0x7b,0xaa,0x87,
0x14,0xff,0xb1,0xb3,0xf4,0xbf,0x17,0xcb,0x33,0x6b,0x18,0xb1,0xc1,0x7e,0x4c,0xc3,
0xc0,0x95,0xe3,0xe5,0x84,0x8b,0x3e,0x88,0xa9,0xc7,0x3f,0xed,0x57,0xd5,0x75,0x33,
0xdd,0x06,0xdb,0x15,0xf3,0xba,0x74,0xe8,0x6f,0x45,0x51,0x28,0x2d,0x2d,0xa5,0xac,
0xb4,0x74,0x68,0xaa,0x3d,0x27,0x1a,0x8d,0xfe,0x50,0x50,0x48,0x10,0x78,0xa2,0x58,
0xc1,0xe8,0x9a,0xbf,0xeb,0xc7,0xfa,0x52,0x40,0xd3,0x9a,0x80,0xfa,0xd1,0xad,0x76,
0xf0,0xfc,0xdd,0xb7,0x13,0x1e,0xe8,0xa7,0xbf,0xbb,0x13,0x3b,0xda,0xfd,0x36,0x3b,
0x27,0xef,0x4c,0xe2,0x87,0x58,0xd5,0x2d,0xd2,0x06,0xb9,0xb9,0xb9,0x94,0xcf,0xb5,
0x0a,0x9f,0x1b,0x86,0xf1,0x29,0x97,0xd3,0x59,0x27,0x68,0x24,0x08,0x3c,0x11,0xf4,
0x33,0x7a,0x7b,0xf3,0xb0,0x55,0x0c,0x03,0x9a,0x76,0x37,0x70,0xc7,0xc8,0xcf,0x5e,
0xfe,0xf3,0xef,0xf8,0xf1,0xe9,0x75,0xdc,0xf3,0xed,0x6b,0x86,0xea,0xd9,0xd6,0x02,
0xbf,0x9b,0xa9,0xad,0x25,0xbf,0xaa,0x2e,0x62,0x9c,0xea,0x96,0xd4,0x45,0xe1,0x00,
0x00,0x11,0x68,0x49,0x44,0x41,0x54,0xeb,0xa9,0x0a,0x8f,0xc7,0xc3,0x9c,0xb2,0x32,
0x00,0x29,0xae,0xeb,0xdf,0x14,0x34,0x12,0x04,0x4e,0x1a,0xf5,0x75,0xbe,0x77,0x80,
0xdf,0xd8,0x7f,0x6e,0x05,0xfe,0x77,0x9c,0x53,0xbe,0x8c,0x55,0x00,0x6b,0x18,0x8e,
0x82,0x32,0x14,0xb7,0x95,0xe4,0xbc,0xb0,0x72,0x1e,0xee,0xbc,0x82,0xcb,0x81,0x7f,
0x9f,0xa1,0x26,0x5c,0x45,0x1a,0x6f,0xe3,0x79,0xbd,0x5e,0x7c,0x85,0x85,0x98,0xa6,
0x79,0xa9,0xc7,0xe3,0x29,0x12,0x54,0x9a,0x1d,0xa4,0xfd,0xa6,0x7c,0x43,0x53,0xd0,
0x55,0x5f,0xe7,0x4b,0x28,0x48,0xc1,0xaf,0xaa,0x5f,0x00,0x7e,0x75,0xf0,0xe7,0xbe,
0x2a,0x3f,0xd7,0x34,0xdc,0x8b,0x1e,0x8f,0xf1,0xd8,0x2d,0xbf,0xe4,0x8d,0xbf,0xde,
0xf9,0xd5,0xe9,0x74,0xb7,0xb4,0xc3,0x20,0x1b,0x49,0x32,0xc3,0x47,0xaa,0xc1,0x34,
0x4d,0x9a,0xf7,0xef,0x47,0xd7,0xf5,0x8f,0x1a,0x86,0xf1,0x47,0x41,0x27,0xa1,0x81,
0x27,0xa2,0x89,0x93,0x89,0x30,0xfa,0x1f,0xac,0x9a,0xad,0xa3,0x10,0x0b,0x87,0x30,
0x31,0x71,0x7a,0x72,0x58,0x77,0xe9,0xc7,0x31,0x0d,0xfd,0x67,0x7e,0x55,0xfd,0x89,
0x1d,0x59,0x34,0x1d,0x58,0x94,0xee,0xe4,0x05,0xcb,0xa5,0xb3,0xb4,0xa4,0x04,0xd3,
0x34,0x2f,0x14,0x54,0x12,0x04,0x9e,0x76,0x04,0x34,0x2d,0x0e,0x5c,0x7b,0xf0,0xe7,
0x03,0x9d,0x6d,0x3c,0xff,0x97,0x3f,0x10,0x8b,0x84,0x89,0x86,0x43,0x43,0x13,0x93,
0xeb,0x80,0x47,0xfd,0xaa,0x3a,0x1d,0x59,0xd0,0xcf,0x9e,0x81,0xe6,0x76,0x03,0xb7,
0xd9,0x9a,0x7e,0xda,0xe0,0x76,0xbb,0xf1,0x7a,0xbd,0x6b,0x72,0x73,0x73,0x9d,0x82,
0x4e,0x62,0x0a,0x3d,0xed,0xb0,0x8d,0x54,0x0f,0x03,0xe7,0x1e,0xd2,0x19,0xb2,0x6c,
0x39,0x2b,0x0c,0x39,0x2c,0x98,0x26,0x48,0x52,0x2f,0xf0,0x5d,0xac,0x74,0x2f,0x83,
0x93,0xb8,0xaf,0x02,0xac,0x0a,0x87,0xc3,0xd7,0x9a,0xa6,0x79,0x59,0x4e,0xce,0xb4,
0x17,0x18,0xfb,0x44,0x40,0xd3,0xfe,0xe0,0x57,0xd5,0x52,0x40,0xc3,0x76,0xd1,0x9c,
0x0e,0x44,0x22,0x11,0xda,0xda,0xdb,0xe7,0xe8,0xba,0x2e,0xf2,0x58,0x09,0x02,0xcf,
0x08,0x89,0x97,0x00,0x9b,0x00,0xcf,0xe1,0xbe,0x53,0xec,0x5f,0xc4,0x69,0x57,0x7e,
0x8e,0x70,0x5f,0x2f,0xcf,0xdc,0x7e,0x13,0xfd,0x6d,0xcd,0xcd,0xc0,0x2d,0xc0,0x1d,
0x01,0x4d,0xdb,0x9a,0xe0,0x7d,0x5c,0x58,0x45,0x9c,0x2f,0xc0,0x34,0x3f,0x60,0x44,
0x42,0x4b,0xfb,0x07,0x23,0xe4,0xe4,0xe5,0xe3,0x74,0x4e,0xbb,0xc2,0x3a,0x2f,0xa0,
0x69,0x8f,0xd8,0xeb,0xed,0xed,0x4c,0x71,0xca,0x9f,0x83,0xd7,0xc2,0x91,0x48,0x64,
0x5d,0x4b,0x6b,0xeb,0x0b,0x82,0x52,0x33,0x0b,0x47,0x36,0x36,0x3a,0xa0,0x69,0x8d,
0x7e,0x55,0xfd,0x29,0x47,0xb0,0x38,0x1f,0x7d,0xd6,0x05,0x2c,0x5d,0x7b,0x1a,0x98,
0x26,0x55,0x8b,0x97,0x71,0xcb,0x67,0x2e,0xad,0x34,0x0d,0xe3,0xbb,0xc0,0xf5,0x7e,
0x55,0x0d,0x00,0x2f,0x62,0xc5,0xc1,0xee,0xc5,0x4a,0x83,0x6a,0x60,0x65,0xde,0x98,
0x8b,0x15,0xdb,0x7b,0x0c,0x70,0x34,0x50,0x02,0x70,0x4a,0xfd,0x97,0x39,0xe1,0xbd,
0x97,0xf0,0xf8,0x6d,0x37,0xf1,0xfa,0x7d,0xb7,0x27,0xfb,0xc8,0x3a,0x70,0x17,0x49,
0xd4,0x33,0x3e,0x68,0x70,0x4e,0x26,0xdd,0x65,0x2b,0xe0,0x03,0x12,0x4e,0x29,0x29,
0x49,0x12,0x1e,0x8f,0xa7,0x5a,0xd0,0x49,0x10,0x78,0x26,0xf1,0x7d,0x2c,0x2f,0xad,
0xe3,0xc6,0xfa,0xe7,0xa6,0xbf,0xdf,0xc7,0xb2,0x75,0xa7,0x53,0x5c,0x51,0x4d,0x5e,
0x51,0x09,0xae,0xbc,0x02,0x22,0xbd,0x41,0x00,0x65,0xed,0xc7,0xae,0xa9,0x2d,0xae,
0xa8,0xae,0xdd,0xfe,0xea,0x8b,0x6c,0xf9,0xc7,0x43,0x23,0x55,0x11,0xb5,0x6b,0xcf,
0x44,0x3d,0xfa,0x78,0x1a,0x5f,0xf8,0x07,0xcd,0x9b,0x5f,0x1b,0xfe,0x7c,0xd9,0xda,
0xd3,0xf0,0x16,0x14,0xd2,0xaa,0xed,0x44,0x4e,0xde,0x6d,0xf2,0x07,0xc0,0xbd,0x49,
0x12,0x78,0xa2,0xb8,0x17,0xd8,0x0c,0xdc,0x94,0xe4,0x79,0x15,0x82,0x4e,0x82,0xc0,
0x33,0xa9,0x85,0xe3,0x7e,0x55,0xbd,0x0c,0xd8,0x08,0x1c,0xb2,0x8f,0xd9,0xb3,0x2f,
0xc0,0x6f,0xae,0x38,0x9b,0xe5,0xe7,0x5d,0x46,0x47,0x60,0xfb,0x10,0x79,0x59,0xf1,
0x9e,0xf7,0x73,0xda,0x47,0xaf,0x06,0x4c,0x8e,0x3e,0xe3,0x5c,0xee,0x35,0x0d,0x1a,
0xff,0xf9,0x77,0x00,0x8e,0xff,0xc0,0xc7,0x38,0xf7,0xea,0xaf,0x80,0x24,0xb1,0xe6,
0xa2,0x0f,0x72,0xfb,0x75,0x9f,0x66,0xdf,0xe6,0xd7,0x40,0x92,0x78,0xe4,0xa6,0x1b,
0x58,0x7d,0xc1,0x65,0x16,0x81,0xe5,0xa4,0x6c,0x87,0xcd,0xc0,0x8f,0x80,0x25,0x33,
0xd8,0x3d,0xbf,0xc5,0xda,0xa7,0x5e,0x95,0xc4,0x39,0x25,0x82,0x4e,0x33,0x8f,0x6c,
0xaf,0x0f,0xbc,0x03,0xb8,0x14,0x18,0x73,0x2b,0x4a,0x72,0xb8,0x78,0xf7,0xf1,0x07,
0x68,0x6b,0x7a,0x7b,0xf8,0xb3,0x9d,0xaf,0x3c,0x47,0x73,0x93,0x55,0x5f,0x2b,0x1a,
0x0a,0x11,0x19,0x38,0x50,0xd3,0x76,0xa0,0xbb,0x8b,0x68,0x24,0x8c,0x24,0xc9,0x84,
0xfb,0x7a,0x19,0x08,0x1e,0x28,0x99,0xa9,0x6d,0x7c,0x9e,0xbb,0xbf,0xf3,0x79,0xf6,
0x0e,0x69,0xe5,0xc4,0x71,0xeb,0x4c,0x24,0xe3,0x3b,0xa8,0x5f,0x4c,0xe0,0x67,0x49,
0x9e,0x96,0x23,0xe8,0x24,0x34,0xf0,0x6c,0x90,0xf8,0x1f,0x7e,0x55,0xfd,0x28,0x56,
0x0a,0xda,0x71,0xf7,0x7d,0x43,0x5d,0xed,0xfc,0xef,0xe7,0x3e,0x8c,0x3b,0xaf,0x80,
0x78,0x78,0x10,0x3d,0x76,0x80,0x5b,0x8d,0x4f,0x3d,0xcc,0xae,0x8d,0xcf,0x51,0x54,
0xed,0xa7,0x7d,0xe7,0x56,0xf4,0x68,0x64,0xac,0x05,0x63,0xb2,0x8f,0x78,0xcf,0x2c,
0x75,0xcd,0x03,0xc0,0x60,0x12,0xc4,0x74,0x08,0x3a,0x09,0x0d,0x3c,0x5b,0x24,0xfe,
0x8b,0xad,0x89,0x13,0xdb,0x26,0x32,0x4d,0x22,0x7d,0x3d,0xa3,0xc8,0x3b,0x84,0x48,
0x7f,0x2f,0x2d,0x8d,0x6f,0x8d,0x4d,0x5e,0x48,0x36,0x48,0xbf,0x93,0x31,0xc2,0x21,
0x67,0xa8,0x4f,0x22,0xc0,0x33,0x42,0x3a,0x04,0x81,0xd3,0x85,0xc4,0xf7,0x63,0x95,
0x4a,0xd9,0x3b,0x9d,0xf7,0x49,0x52,0xff,0x6e,0x9f,0xcc,0xde,0xf3,0x14,0xe0,0x5f,
0x42,0x32,0x04,0x81,0xd3,0x89,0xc4,0xaf,0x60,0x6d,0xfd,0xdc,0x09,0xd3,0x54,0xa7,
0x3b,0x39,0x0d,0xbc,0x6b,0x96,0xbb,0xe4,0x5d,0x21,0x15,0x82,0xc0,0xe9,0x46,0xe2,
0xee,0x80,0xa6,0x7d,0x08,0x38,0x07,0x78,0x6d,0x6a,0xb9,0x2b,0x25,0xbb,0x85,0xb4,
0x7f,0x8a,0x94,0xfe,0x44,0xdf,0xf3,0x2e,0x21,0x11,0x82,0xc0,0xe9,0x4a,0xe4,0x27,
0xb0,0x0a,0x7b,0x9f,0x03,0xfc,0x0d,0xcb,0x99,0x62,0xf2,0x1d,0x9e,0xdc,0x16,0x52,
0xcf,0x2c,0x13,0x58,0x24,0x6a,0x4f,0x71,0x08,0xcb,0xe1,0x91,0x49,0x6c,0x60,0x25,
0xc6,0x7b,0xdc,0xaf,0xaa,0x25,0xc0,0x05,0x58,0xf5,0x8e,0xd6,0x01,0x95,0x58,0x56,
0xeb,0x23,0xa9,0x54,0xd3,0x26,0x7e,0x1f,0xf0,0x36,0xf0,0x7a,0x4e,0x4e,0x4e,0x17,
0x56,0x35,0x89,0x44,0x10,0x9f,0xe5,0x2e,0x18,0x10,0x52,0x20,0x08,0x9c,0x29,0x64,
0xee,0xc4,0x8a,0xee,0xb9,0x0d,0xc0,0xaf,0xaa,0x3e,0x60,0x3e,0x96,0x07,0x52,0x09,
0xd6,0x76,0x8b,0x03,0x6b,0x4f,0xb9,0x1f,0x2b,0x41,0x7b,0x2b,0xb0,0x2f,0xa0,0x69,
0x1d,0x43,0xd7,0xf1,0xab,0xea,0xf2,0x24,0x08,0x2c,0x20,0x20,0x08,0x3c,0x4d,0x84,
0x0e,0x62,0x05,0x44,0x6c,0x12,0xbd,0x21,0x20,0xd6,0xc0,0x02,0x02,0x02,0x82,0xc0,
0x02,0x02,0x82,0xc0,0x02,0x02,0x02,0x82,0xc0,0x02,0xb3,0x8a,0xb8,0xe8,0x02,0x41,
0x60,0x81,0xf4,0x85,0x29,0xba,0x40,0x10,0x58,0x40,0x40,0x40,0x10,0x58,0x40,0x40,
0x40,0x10,0x58,0x40,0x40,0x40,0x10,0x58,0x40,0x40,0x10,0x58,0x40,0x40,0x40,0x10,
0x58,0x20,0x31,0xec,0xb5,0x02,0x2b,0x12,0x82,0x69,0x9a,0x9c,0xfd,0x85,0xef,0xac,
0x6c,0x68,0x0a,0x9e,0x7d,0xdd,0x5f,0x5f,0x3a,0xcb,0x9d,0x5f,0xe8,0x49,0x58,0x20,
0x1c,0xce,0xe1,0xe0,0x8c,0x40,0x12,0xf7,0x14,0x98,0x1d,0x08,0x5f,0xe8,0x14,0xc6,
0xe9,0x57,0x5f,0xb7,0xe1,0xe4,0x0f,0x5c,0x51,0x06,0xcc,0xed,0x6e,0xd9,0xe7,0xff,
0xf5,0x07,0x4f,0x47,0x71,0x8d,0xcf,0x45,0x33,0x16,0x45,0x5d,0x7e,0xcc,0x4f,0x01,
0x14,0xa7,0x8b,0xc2,0xf2,0x6a,0xda,0xfa,0x12,0x8b,0x4c,0x3c,0xf3,0x9a,0xaf,0x5f,
0x71,0xc2,0x05,0x97,0x9e,0x02,0x74,0x44,0x42,0x03,0x3d,0x3f,0x3c,0xc5,0x8f,0xab,
0xa8,0x52,0xbc,0x0c,0x41,0x60,0x01,0xb0,0x82,0xfa,0x4d,0x33,0xb1,0x2d,0xda,0xe2,
0xaa,0x9a,0x33,0x81,0x33,0x01,0x1c,0x4e,0x17,0xe8,0x09,0xfa,0x66,0x48,0x60,0x8e,
0xda,0x06,0x4e,0x7c,0x4b,0x58,0x71,0xba,0x0a,0x80,0xe5,0x00,0xb2,0xa2,0x10,0xef,
0x8d,0xe1,0x4a,0xa0,0x78,0xe8,0x92,0xd3,0xce,0x9f,0x7f,0xfd,0xb7,0x7e,0xb4,0x0c,
0x68,0xaa,0xaf,0xf3,0x09,0x27,0x12,0x41,0xe0,0xf4,0x47,0x43,0x53,0x30,0x1f,0xab,
0x0a,0xe1,0x1a,0xac,0x1c,0xcb,0x47,0x77,0xef,0xdf,0x7b,0xd4,0x8d,0x1f,0x39,0x77,
0xa8,0xa8,0x78,0xc6,0x40,0x3d,0xea,0xd8,0x0b,0x81,0x0b,0x81,0x78,0x43,0x53,0xf0,
0x5d,0xe0,0x4d,0xe0,0x75,0xac,0xbc,0x5a,0x5b,0xea,0xeb,0x7c,0x41,0x21,0x11,0x82,
0xc0,0xa9,0x4e,0xd8,0x32,0xac,0x2c,0x1e,0x1b,0x80,0xb5,0xb6,0x26,0x2b,0x38,0x58,
0x03,0x67,0x81,0x4c,0x1d,0x6d,0x1f,0x1f,0xb5,0x3f,0x0b,0x37,0x34,0x05,0xb7,0x00,
0x2f,0x61,0x65,0xba,0x7c,0xb1,0xbe,0xce,0xb7,0x57,0x48,0x8c,0x20,0xf0,0x6c,0x13,
0x56,0x06,0x4e,0xc2,0xaa,0x74,0x78,0x1e,0xb0,0x94,0x23,0x14,0x4c,0xcb,0x62,0x78,
0x80,0x63,0xed,0xe3,0x1a,0x20,0xd6,0xd0,0x14,0xdc,0x09,0x3c,0x02,0x3c,0x0a,0x3c,
0x95,0x64,0x9d,0x67,0x01,0x41,0xe0,0x09,0x93,0xd6,0x0b,0x9c,0x0a,0x5c,0x86,0x55,
0x5b,0xa9,0x54,0xf4,0x4a,0xd2,0x70,0x02,0x8b,0xed,0xe3,0x4b,0xc0,0x40,0x43,0x53,
0xf0,0x51,0xac,0x24,0xf6,0x8f,0x8a,0xe9,0xb6,0x20,0xf0,0x54,0x93,0x56,0x02,0x4e,
0x01,0x3e,0x06,0x5c,0x84,0xa8,0x03,0x34,0xd5,0xc8,0x05,0x3e,0x60,0x1f,0x43,0x64,
0xfe,0x03,0xf0,0x98,0xd0,0xcc,0x82,0xc0,0x93,0x21,0x6e,0x11,0x50,0x0f,0x7c,0x0a,
0x58,0x34,0x15,0xd7,0x34,0x33,0x34,0x46,0xc8,0x9c,0xba,0x86,0x8d,0x24,0xf3,0xfe,
0x86,0xa6,0xe0,0xef,0x81,0x9b,0xeb,0xeb,0x7c,0x7b,0x84,0x44,0x0a,0x02,0x27,0x4a,
0x5c,0x3f,0xf0,0x55,0xe0,0x93,0x4c,0x71,0xd1,0x2e,0x43,0x8f,0x27,0x6c,0xc8,0x4a,
0x05,0x83,0x97,0xc3,0x9b,0xd8,0xf7,0xfa,0xba,0x3a,0xa6,0xe3,0xf6,0x15,0xc0,0xb7,
0x80,0xaf,0x37,0x34,0x05,0xff,0x02,0xfc,0xa4,0xbe,0xce,0xf7,0xa6,0x90,0xd0,0x03,
0x10,0x9e,0x58,0xa3,0x89,0x5b,0xd3,0xd0,0x14,0x6c,0x00,0xb6,0x02,0x9f,0x65,0x1a,
0x2a,0xee,0x85,0xfa,0x7a,0x13,0xaa,0xce,0x60,0x9a,0x06,0x0e,0x87,0x73,0x56,0xfb,
0x43,0x92,0x24,0x72,0xab,0xeb,0x12,0xfa,0xee,0xe6,0xc7,0x1e,0xc0,0x34,0xa6,0xcd,
0x71,0x4b,0x01,0x3e,0x04,0x6c,0x6a,0x68,0x0a,0xde,0xdf,0xd0,0x14,0x3c,0x4a,0x48,
0xab,0x20,0xf0,0x48,0xe2,0x7a,0x1a,0x9a,0x82,0xdf,0x07,0x1a,0xb1,0xea,0xe2,0xba,
0xa6,0xeb,0x5e,0xfb,0xb7,0x6f,0x49,0x4c,0x53,0xc7,0x62,0xe4,0x15,0xcf,0xae,0x7d,
0x4c,0x71,0x38,0xa9,0x3a,0xfa,0x84,0x84,0xbe,0xdb,0xdf,0xde,0x42,0x6b,0x60,0xfb,
0xb4,0x8f,0x29,0xc0,0xc5,0xc0,0xeb,0x0d,0x4d,0xc1,0x5b,0x1a,0x9a,0x82,0xc5,0x82,
0xc0,0x82,0xbc,0x1b,0x80,0x77,0x80,0xeb,0x01,0xef,0x74,0xde,0x2b,0x1e,0x8d,0xf2,
0xda,0x43,0x89,0x55,0x0b,0xcd,0x29,0x2a,0xa5,0xa0,0x74,0xce,0xec,0x6a,0x60,0x45,
0xa1,0x6a,0x69,0x82,0xca,0x4e,0x92,0xd8,0xfc,0xd4,0xa3,0x13,0x29,0x9f,0x3a,0xd1,
0xa5,0x5f,0x3d,0xd0,0xd4,0xd0,0x14,0xbc,0xdc,0x36,0x32,0x0a,0x02,0x67,0x19,0x71,
0x1d,0x0d,0x4d,0xc1,0xff,0x04,0xfe,0x01,0x2c,0x98,0x89,0x7b,0x36,0x6d,0x7c,0x9e,
0x8e,0xed,0x89,0xd5,0x0b,0xab,0x5b,0x77,0x26,0xde,0x02,0xdf,0xec,0x76,0x92,0x69,
0xb2,0xe0,0xd8,0x13,0x30,0x13,0x74,0xe1,0xdc,0x78,0xf7,0x1f,0x68,0x0f,0xec,0x98,
0xc9,0x27,0x2c,0x01,0xee,0x00,0x6e,0x6f,0x68,0x0a,0xe6,0x09,0x02,0x67,0x0f,0x79,
0x0b,0x80,0x87,0x81,0x6f,0xcc,0x54,0x1f,0x74,0x35,0xef,0xe1,0xe1,0x9f,0xff,0x07,
0x92,0xac,0x24,0xf4,0xfd,0x95,0x67,0x5f,0x80,0x69,0x4e,0xc5,0x9a,0xd2,0x1c,0xb3,
0x8e,0x71,0xa2,0xa8,0x5a,0xb4,0x8c,0x92,0xda,0xa5,0x89,0x4d,0xfb,0xf5,0x38,0x8f,
0xde,0xfc,0x73,0xa2,0xe1,0x19,0xaf,0x88,0xfa,0x11,0xe0,0x85,0x86,0xa6,0x60,0xb5,
0x20,0x70,0xe6,0x93,0xd7,0x67,0x6b,0xdd,0xb3,0x67,0xea,0x9e,0x5d,0xcd,0x7b,0xb8,
0xf3,0xbb,0x5f,0x26,0x92,0x60,0x44,0x50,0xdd,0x29,0xe7,0xa0,0xae,0x38,0x76,0xea,
0x14,0xa9,0x91,0xf8,0x16,0x8f,0x24,0x8f,0x9e,0x8d,0x3a,0xdc,0x6e,0xce,0xfc,0xd4,
0x97,0x12,0xde,0xff,0xd2,0x5e,0x7d,0x9e,0x27,0x6e,0xf9,0x15,0xb1,0x48,0x64,0xa6,
0x5f,0xed,0xd1,0xc0,0x8b,0x0d,0x4d,0xc1,0xf9,0x82,0xc0,0x99,0x4b,0x5e,0x17,0xf0,
0x20,0x56,0x60,0xc1,0xb4,0x43,0x8f,0xc5,0xd8,0xf2,0xc2,0x53,0x34,0x5c,0x73,0x39,
0x5d,0x81,0x6d,0x09,0xaf,0x7d,0xcf,0xfe,0xf4,0x97,0x27,0x15,0xec,0x60,0x9a,0x13,
0xdf,0x82,0x1a,0xeb,0xac,0x45,0xab,0x4e,0xe6,0xf8,0x0f,0x7c,0x2c,0xe1,0x6b,0x6c,
0xfa,0xeb,0x1d,0xdc,0xf7,0x93,0xeb,0x09,0xb6,0xee,0x9f,0xa9,0x35,0xf1,0x10,0x6a,
0x80,0x27,0x1a,0x9a,0x82,0xa5,0x82,0xc0,0x99,0x89,0x1b,0xb0,0x3c,0xaa,0xa6,0x15,
0xb1,0xf0,0x20,0x8d,0x2f,0x3d,0xc3,0xed,0x5f,0xbf,0x9a,0x7b,0xbe,0xf3,0x39,0xa2,
0x03,0xfd,0x09,0x9d,0xe7,0xce,0x2f,0xe4,0x8a,0xff,0xbc,0x09,0xdf,0xdc,0x8a,0xc9,
0x3d,0x80,0xa1,0xe3,0x70,0xb9,0x87,0x29,0xe9,0x70,0xbb,0x13,0x1f,0x74,0xe2,0xf1,
0x31,0xb4,0xb2,0xcc,0x99,0x57,0x7e,0x8e,0xe5,0xe7,0x5c,0x9c,0xf0,0x75,0xb6,0x3d,
0xf7,0x38,0xbf,0xfd,0xf4,0x25,0x3c,0x7f,0xd7,0x6d,0xf4,0x75,0xb6,0xcf,0xe4,0x3b,
0xae,0x05,0x6e,0xb3,0xfd,0xd4,0x05,0x81,0x33,0x48,0xfb,0xae,0xc6,0xda,0xdb,0x9d,
0x56,0xf4,0x77,0x77,0x71,0xdb,0xd7,0x3e,0xcd,0x3d,0xff,0xfe,0x05,0xf6,0x6d,0x7e,
0x15,0x49,0x19,0xdf,0x57,0xc6,0x34,0x4d,0xaa,0x57,0xae,0xe1,0xaa,0x1b,0xff,0x44,
0x79,0xed,0xd8,0xfb,0xae,0x86,0x61,0x24,0xec,0xed,0x24,0x29,0x0e,0x5c,0x39,0x96,
0x41,0x5d,0x96,0x65,0xf2,0x4a,0xcb,0x13,0x7e,0xfe,0xee,0xe6,0xbd,0x63,0x6a,0x6f,
0xa7,0xc7,0xc3,0x05,0x5f,0xf8,0x36,0xeb,0xaf,0xfc,0x42,0xc2,0xda,0x3d,0x16,0xea,
0xe7,0xe9,0x5b,0x7e,0xc1,0xad,0x9f,0xff,0x08,0xdd,0x2d,0xcd,0x33,0xf9,0xba,0xcf,
0x07,0x2e,0x15,0x04,0xce,0x2c,0x5c,0x8f,0xe5,0x10,0x30,0xad,0x78,0xe3,0x89,0xbf,
0xd1,0xda,0xf8,0x56,0x82,0x53,0x5d,0x83,0x82,0x8a,0x6a,0x2e,0xfc,0xe6,0x8f,0xf9,
0xc8,0x0f,0xfe,0x9b,0xe2,0xca,0x9a,0xc3,0x7e,0x37,0x12,0xea,0x47,0x4a,0xd0,0xb1,
0xa3,0xb0,0x7a,0x3e,0x1e,0xaf,0x65,0x94,0x95,0x15,0x85,0x92,0xea,0x79,0x09,0x3f,
0x7f,0xcb,0x8e,0xc6,0xc3,0x4e,0x7b,0x1d,0x2e,0x17,0xa7,0x5e,0x51,0xcf,0x95,0xbf,
0xb9,0x83,0xc5,0x1b,0xce,0x45,0x0f,0x27,0x56,0x3e,0xb8,0xbf,0xbd,0x85,0x97,0xee,
0xbb,0x63,0xa6,0xdf,0x77,0x56,0x94,0x70,0xcd,0x0a,0x57,0x4a,0x7b,0x4d,0x74,0xee,
0x4c,0xdc,0x4b,0x92,0x8e,0x3c,0x26,0x9a,0x86,0x8e,0x24,0x41,0xed,0x69,0x97,0x53,
0xb3,0x72,0x1d,0x8b,0x8e,0x3d,0x96,0xb2,0xf2,0x42,0xc6,0x5b,0xf2,0xf6,0x77,0x75,
0x22,0x3b,0x12,0xf3,0x2f,0x99,0x7f,0xfc,0x49,0xb8,0xbc,0x5e,0x4c,0x5b,0x6b,0xd7,
0x2c,0x3b,0x9a,0x8d,0xd6,0xc2,0x78,0xdc,0x73,0x5b,0xb7,0x6d,0x61,0xb0,0xaf,0x07,
0x4f,0x6e,0xfe,0x61,0x17,0xd8,0x95,0x8b,0x96,0x72,0xe1,0x57,0x7e,0xc0,0xb2,0x73,
0x3e,0xce,0xae,0xd7,0x5f,0x66,0xfb,0xb3,0x0f,0xd0,0xbb,0x77,0x0b,0xb2,0x33,0xe7,
0xb0,0xe7,0x78,0x0a,0x8a,0x66,0xfa,0xb5,0x2f,0x6e,0x68,0x0a,0xae,0xa9,0xaf,0xf3,
0xfd,0x4b,0x10,0x38,0xfd,0xb1,0x0a,0x2b,0x84,0x6d,0xda,0x71,0xc2,0x05,0x97,0x92,
0x5b,0x3c,0x97,0xc0,0x96,0x9d,0x44,0x06,0x7a,0x50,0x9c,0x6e,0x3c,0x05,0x45,0xb8,
0x3c,0x5e,0xbc,0xbe,0x52,0xf2,0x4a,0xe6,0x92,0x5f,0x5a,0x89,0xe2,0xb4,0xc8,0x38,
0x18,0x85,0xbd,0x7b,0x43,0x14,0x15,0xb9,0xc8,0xcf,0x3f,0xdc,0xeb,0x90,0xd8,0xbf,
0x7d,0x6b,0xc2,0x86,0xad,0x65,0xeb,0xcf,0x1c,0xe5,0xd6,0x58,0xbd,0xe4,0x28,0x14,
0x97,0x0b,0x3d,0x16,0x1b,0xf7,0xdc,0x50,0x67,0x2b,0x1d,0xbb,0x03,0x54,0x1f,0xc6,
0x81,0x43,0xd7,0x4d,0xba,0xbb,0x63,0xf4,0xf7,0xc7,0xc9,0x2d,0x55,0x59,0x71,0xb6,
0xca,0x8a,0xb3,0x2e,0x63,0xa0,0xbb,0x9d,0xfe,0xee,0x36,0xfa,0x3b,0xf6,0x13,0x19,
0x1c,0x20,0xd2,0x17,0x24,0x36,0xd8,0x8f,0xec,0x70,0x52,0xb1,0x68,0x05,0xab,0xce,
0x3a,0x75,0x36,0xde,0xfb,0x7a,0xac,0x8c,0x20,0x82,0xc0,0x69,0x8e,0x9a,0x99,0xba,
0x91,0xd3,0xe3,0x61,0xe5,0x19,0x67,0xb3,0x74,0x9d,0x41,0x6f,0x6f,0x9c,0x81,0x90,
0x3e,0xee,0x16,0x8c,0x61,0x40,0x67,0x67,0x94,0x50,0x48,0xa7,0xac,0xcc,0x85,0x7c,
0xd0,0x56,0x4e,0x74,0x70,0x80,0xd7,0x1f,0xfa,0x4b,0x42,0xf7,0x2f,0x9a,0x57,0x8b,
0x7a,0xd4,0x71,0xa3,0xa7,0xd4,0x65,0x73,0x59,0x7d,0xc9,0x27,0x78,0xf9,0x8e,0x5b,
0xc6,0x5f,0x53,0x39,0x9c,0x6c,0x7e,0xfa,0xd1,0x31,0x09,0x1c,0x0e,0xeb,0xb4,0xb7,
0x47,0xd1,0x75,0xf3,0xe0,0x69,0x07,0xb9,0xc5,0x73,0xc8,0x2d,0x9e,0xc3,0xdc,0xda,
0x15,0xc3,0x83,0x8e,0x2c,0x43,0x41,0x81,0x83,0xfc,0x7c,0x07,0x8a,0x32,0x2b,0xce,
0x52,0x55,0x62,0x0d,0x9c,0x19,0x88,0xcd,0xf4,0x0d,0xdd,0x6e,0x99,0xb2,0x32,0x17,
0x73,0xca,0x5c,0xc8,0x09,0xca,0xee,0xe0,0xa0,0x4e,0x4b,0x4b,0x04,0xe3,0xa0,0x7d,
0xdb,0x57,0xfe,0x76,0x37,0x3d,0xcd,0xda,0xb8,0xe7,0xeb,0xd1,0x30,0xe7,0x7e,0xee,
0x1b,0x38,0x0f,0xb2,0x3a,0x9b,0xa6,0xc9,0x89,0xef,0xfb,0x30,0x39,0x45,0x89,0x85,
0x31,0x6f,0xbc,0xf3,0x56,0x9a,0x9b,0x46,0x7b,0x8c,0x85,0x42,0x3a,0xad,0xad,0x91,
0x43,0xc9,0x7b,0xd8,0xf6,0x4b,0x54,0x56,0x7a,0xf0,0xf9,0x9c,0xb3,0x45,0xde,0x59,
0x79,0xef,0x82,0xc0,0xd3,0x83,0xc6,0xd9,0xba,0xb1,0xd7,0xab,0x50,0x5e,0xee,0x49,
0x78,0x3b,0x34,0x1a,0x35,0x68,0x6f,0x8b,0xda,0x9a,0x77,0x90,0xe7,0xee,0xfc,0x3d,
0x4f,0xdf,0xf2,0x0b,0xc6,0xde,0xa1,0x1d,0xbd,0xce,0x3c,0xa5,0xfe,0x5a,0xe6,0xaf,
0x1c,0x7b,0x8b,0x3b,0xaf,0xa8,0x98,0xcb,0xbe,0xf7,0xcb,0xc4,0x84,0xc2,0xe5,0xe6,
0xae,0xef,0x7e,0x69,0x38,0x38,0x21,0x12,0x31,0x68,0x6f,0x8f,0x24,0x1c,0xcb,0x9c,
0x93,0x63,0xb5,0xd9,0xe1,0x98,0x75,0x17,0xe5,0x6d,0x82,0xc0,0x99,0x81,0x37,0x81,
0xce,0xd9,0xba,0xb9,0xcb,0x2d,0x53,0x56,0x9a,0xf8,0x5e,0xec,0x60,0x58,0x67,0xef,
0xce,0xfd,0xdc,0xf6,0xd5,0x7a,0x9e,0xb9,0x35,0x01,0xd2,0x99,0x26,0xab,0x2e,0xf9,
0x38,0xa7,0x5c,0x7e,0xe5,0x11,0x8d,0x68,0x35,0x4b,0x8f,0xe6,0xc3,0x3f,0xbd,0x25,
0xa1,0x7d,0xe1,0x81,0x8e,0x56,0x7e,0x77,0xd5,0xc5,0xbc,0xf1,0xe4,0xdf,0x93,0x22,
0xaf,0xd3,0x69,0xcd,0x3c,0x52,0x24,0x77,0xdf,0x13,0x82,0xc0,0x19,0x80,0xfa,0x3a,
0xdf,0x20,0xf0,0x7f,0xb3,0xf9,0x0c,0xde,0x5c,0x05,0xaf,0x37,0xf1,0x5d,0xac,0x17,
0xef,0xf9,0x23,0x6d,0x4d,0x6f,0x8f,0xfb,0x3d,0x23,0x36,0xc8,0xb1,0x1f,0xfa,0x2a,
0xab,0x2f,0xb9,0x66,0xd8,0x30,0x76,0x24,0xf8,0x8f,0x39,0x81,0xf3,0xbe,0xfd,0xbf,
0x14,0xaa,0xcb,0xc7,0xfd,0xae,0x24,0x2b,0xfc,0xf5,0x07,0x5f,0xb4,0x3c,0xaa,0x12,
0x44,0x69,0xe9,0xa1,0x6b,0xf8,0x59,0xc2,0xa3,0xf5,0x75,0xbe,0x80,0x20,0x70,0xe6,
0xe0,0xc7,0xc0,0xac,0x26,0x4b,0xf3,0xf9,0x12,0x34,0x84,0x4b,0x12,0x3b,0x9f,0xb9,
0x7b,0x3c,0xb5,0xcb,0x9c,0x65,0x27,0x71,0xfe,0xf7,0xef,0x66,0xf9,0x19,0x97,0xd0,
0xd7,0x6f,0x12,0x0e,0xeb,0xe3,0x5e,0xba,0xa3,0x23,0x42,0x41,0xc5,0x02,0xce,0xfd,
0xda,0x7f,0x73,0xfc,0x15,0xd7,0xe1,0xf0,0x1c,0x39,0x88,0x47,0x72,0x78,0x08,0xf5,
0x24,0x36,0x79,0xf1,0xe6,0x28,0xb8,0xdd,0x29,0x21,0x52,0x71,0xac,0x4c,0x1e,0x19,
0x8f,0xac,0x49,0xa9,0x53,0x5f,0xe7,0x6b,0x6d,0x68,0x0a,0x5e,0x03,0xfc,0x79,0xd6,
0xa6,0xd2,0x2e,0x19,0xb7,0x5b,0x26,0x12,0x31,0xc6,0x9d,0x12,0xcf,0x3d,0x6a,0x3d,
0xfb,0x5e,0x7b,0x72,0xf4,0xc7,0x86,0x81,0xac,0x28,0xf8,0xd7,0xbf,0x8f,0x85,0x27,
0xbd,0x87,0x39,0x0b,0x96,0x8d,0x8a,0x6e,0xea,0xec,0x8c,0x51,0x59,0xa9,0x1c,0x76,
0xfa,0x1a,0x0a,0xe9,0x84,0x42,0x16,0xc9,0x1d,0xee,0x1c,0x96,0x6e,0x78,0x3f,0xf3,
0x57,0x9d,0xce,0x9e,0xb7,0x5e,0x62,0xdb,0xb3,0x0f,0xd2,0xf1,0xee,0xf3,0xc8,0xee,
0xd1,0x84,0xce,0xaf,0xa8,0xc5,0x57,0xae,0x26,0xd4,0xbe,0xfc,0x82,0x94,0x11,0xa7,
0x1f,0xd6,0xd7,0xf9,0x36,0x65,0x83,0x5c,0x67,0x5d,0x20,0x74,0x43,0x53,0xf0,0x87,
0xb3,0x39,0x3a,0xf7,0xf4,0xc4,0xe8,0xee,0x1e,0xdf,0x38,0x3a,0xd8,0xd3,0xc5,0xee,
0x57,0x1f,0xa1,0xb7,0x65,0x07,0xb2,0xa7,0x08,0x77,0xfe,0x1c,0x4a,0xd4,0x3a,0x8a,
0xaa,0x16,0xe0,0xc9,0x2b,0x3c,0xec,0x79,0x65,0x65,0x2e,0x72,0x73,0xc7,0x26,0x52,
0xf3,0xbe,0x30,0xd1,0xd8,0xd8,0x83,0x87,0xa1,0xc7,0xe9,0xef,0x68,0xa1,0x73,0xcf,
0x36,0xba,0xf6,0xec,0x20,0xbf,0x40,0xa6,0xb8,0xa2,0x8a,0xfc,0x9a,0x13,0x70,0xe7,
0x8f,0xef,0x84,0x21,0x49,0x30,0x6f,0x9e,0x37,0x15,0xd6,0xbe,0xf7,0x02,0x1f,0xac,
0xaf,0xf3,0xe9,0x82,0xc0,0x99,0x49,0x60,0x19,0x2b,0xa8,0xe1,0xda,0xd9,0xb8,0x7f,
0x38,0x6c,0x6d,0x15,0x25,0x82,0xe2,0x62,0x27,0xf9,0xf9,0x0e,0x42,0x21,0x6b,0xff,
0x35,0x11,0x78,0x3c,0x32,0xe5,0xe5,0x9e,0x49,0xdd,0xd7,0xe9,0x94,0xa9,0xaa,0xf2,
0x60,0x9a,0xb0,0x7b,0x77,0x28,0x21,0x03,0x56,0x4e,0x8e,0xcc,0xdc,0xb9,0xb3,0x9e,
0xd3,0xfe,0x41,0xe0,0xb2,0x6c,0x4a,0x45,0x9b,0x75,0xf1,0xc0,0xf5,0x75,0x3e,0xa3,
0xbe,0xce,0xf7,0x15,0xac,0xac,0x93,0x33,0x5e,0x84,0x2b,0xa9,0x3d,0x51,0x3b,0x2c,
0x30,0x27,0x47,0x49,0x58,0xb3,0x85,0xc3,0xc6,0x98,0x7b,0xb5,0x03,0x03,0x89,0x2b,
0x24,0xaf,0x57,0x9e,0x40,0xbb,0x66,0x5d,0x94,0x6e,0x04,0x3e,0x90,0x6d,0x79,0xa4,
0xb3,0x36,0xa5,0x4e,0x7d,0x9d,0xef,0xe7,0xc0,0x59,0xc0,0x8c,0xd6,0xe8,0x49,0x2a,
0x7d,0xb2,0x4d,0x5a,0x59,0x96,0x70,0xb9,0x12,0x7f,0x55,0xe1,0xc1,0x43,0xc9,0x3a,
0x38,0x98,0x38,0x81,0x3d,0x1e,0x25,0x9d,0x5e,0x65,0x2f,0x70,0x45,0x7d,0x9d,0xef,
0xf3,0xd9,0x32,0x6d,0x16,0x04,0x3e,0x40,0xe2,0xa7,0x81,0x15,0x40,0x03,0xc9,0xd4,
0xe0,0x9c,0x05,0x24,0x63,0xdd,0x0d,0x1f,0x64,0x24,0x8b,0xc7,0xcd,0x84,0x3d,0xa8,
0x24,0x89,0xa4,0x06,0x8b,0x59,0xc6,0xdf,0x81,0x15,0xf5,0x75,0xbe,0x3f,0x67,0xab,
0x0c,0x67,0x7d,0x56,0xca,0xfa,0x3a,0x5f,0x4f,0x7d,0x9d,0xef,0x53,0x58,0xd5,0x04,
0x5f,0x4c,0xd5,0xe7,0x74,0x39,0x13,0x7f,0x55,0xd1,0xe8,0x41,0x04,0x8e,0x19,0x09,
0x6b,0x7e,0x59,0x96,0x26,0xe8,0xfa,0x38,0xa3,0xe3,0x5f,0x23,0x70,0x71,0x7d,0x9d,
0xef,0xfc,0x6c,0xaf,0xd8,0x20,0xf2,0x42,0x1f,0x20,0xf2,0x4b,0xc0,0x3a,0xe0,0x7d,
0xc0,0x6b,0xa9,0xf6,0x7c,0xc9,0xb8,0x25,0xc6,0xe3,0xe6,0x11,0xff,0x4e,0xe6,0x3e,
0x29,0x56,0x0e,0x75,0x27,0x56,0x3a,0xd9,0x63,0xea,0xeb,0x7c,0x0f,0x0a,0xa9,0x15,
0xa5,0x55,0x0e,0x26,0xb1,0x09,0x3c,0xd0,0xd0,0x14,0xfc,0x1b,0x70,0x06,0xf0,0x75,
0xe0,0x34,0x52,0xc0,0x5a,0x2f,0x27,0xa1,0x15,0x4d,0x73,0x28,0x2f,0x96,0xf5,0xb7,
0x6e,0x98,0xd3,0x32,0x50,0xcc,0x20,0xde,0x00,0x7e,0x0a,0xdc,0x53,0x5f,0xe7,0x8b,
0x09,0x49,0x15,0x04,0x1e,0x8f,0xc8,0x3a,0xf0,0x38,0xf0,0x78,0x43,0x53,0x70,0x19,
0xf0,0x19,0xac,0xd2,0x1e,0x65,0xb3,0xf5,0x4c,0xc9,0x28,0x42,0xd3,0x34,0x31,0x4d,
0x73,0x58,0x7b,0x1a,0xc9,0x64,0xa5,0x4c,0x9d,0xd7,0xd0,0x8b,0xb5,0x2d,0x74,0x73,
0x7d,0x9d,0xef,0x45,0x21,0x95,0x82,0xc0,0x13,0x25,0xf3,0xbb,0xc0,0x17,0x1b,0x9a,
0x82,0xdf,0xc0,0x4a,0x45,0xfb,0x11,0xac,0xec,0x1e,0xb9,0x33,0x40,0xdb,0x29,0x59,
0x62,0xa6,0x51,0x45,0xc4,0x18,0xf0,0x14,0x96,0xb7,0xdc,0x83,0xa2,0x4e,0xb0,0x20,
0xf0,0x54,0x12,0x79,0xd0,0xd6,0x08,0x0f,0xda,0x55,0x00,0xce,0xc1,0xaa,0xd3,0xf3,
0x5e,0x60,0x5a,0x4a,0x28,0x4c,0x66,0xf9,0x39,0x51,0xd2,0x9a,0x33,0x3f,0x48,0x84,
0xec,0xd9,0xce,0x83,0xc0,0x43,0xf5,0x75,0xbe,0x0e,0x21,0x6d,0x82,0xc0,0xd3,0x4d,
0xe6,0x7e,0x2c,0x97,0xbd,0x7b,0xed,0xba,0x3c,0x27,0xda,0xda,0xf9,0x2c,0xac,0x04,
0xe3,0xf9,0xa2,0x97,0x0e,0x8b,0x41,0xac,0xea,0x8f,0x4f,0xd8,0xc4,0x7d,0x56,0x14,
0xf1,0x16,0x04,0x9e,0x4d,0x32,0x9b,0xc0,0x4b,0xf6,0xf1,0x3d,0xbb,0x6c,0xcb,0x4a,
0xac,0x6d,0xa9,0x93,0xed,0xdf,0x27,0x5d,0xf2,0x23,0x8d,0xeb,0x82,0xb7,0x03,0x6f,
0x61,0x6d,0xd1,0xbd,0x00,0xbc,0x26,0xb4,0xac,0x20,0x70,0x2a,0x13,0xba,0x17,0x78,
0xd6,0x3e,0x68,0x68,0x0a,0x3a,0xb1,0x8c,0x5f,0xab,0x80,0x95,0xa6,0x61,0x1e,0x27,
0xcb,0xd2,0x29,0x86,0x61,0xce,0x58,0x9a,0xc6,0x99,0x58,0x03,0xcb,0xd6,0x7c,0x7f,
0x8f,0x4d,0xd6,0x37,0xed,0xe3,0x15,0x60,0x7f,0x7d,0x9d,0x2f,0x22,0x24,0x43,0x10,
0x38,0x5d,0x09,0x1d,0x03,0x9a,0x81,0xbf,0xda,0x07,0x00,0x37,0xfc,0xab,0xbd,0x20,
0x12,0xd1,0x57,0xc6,0x62,0xe6,0x3c,0x49,0x62,0x85,0xae,0x9b,0x95,0xb2,0x2c,0x1d,
0x6d,0x18,0xe6,0x5c,0x7b,0x0a,0xee,0x65,0x16,0x8c,0xc2,0x63,0x91,0x7d,0xc8,0x98,
0x0d,0x0c,0x28,0x8a,0xd4,0x27,0x4b,0xd2,0x5e,0x24,0xb6,0x28,0x8a,0xa4,0x29,0x8a,
0xb4,0x25,0x37,0x57,0xd9,0x59,0x50,0xe0,0x7c,0xfb,0xe3,0xf3,0x0b,0x42,0xe2,0x8d,
0x0b,0x02,0x67,0x05,0xbe,0xb6,0xa6,0x6c,0x48,0x53,0x1f,0x82,0x9f,0x6f,0x6c,0xf7,
0x85,0xc3,0x46,0x99,0x2c,0xe3,0xb1,0xb5,0xf7,0x5c,0xd3,0x64,0xae,0x24,0x51,0x25,
0xcb,0x52,0x0d,0x50,0x62,0x9a,0xe4,0x9a,0xa6,0xe9,0xb0,0x89,0x5e,0x20,0x49,0x92,
0x17,0x70,0x03,0x4e,0x49,0xc2,0x01,0x0c,0xd8,0x03,0x80,0x64,0x9a,0xe4,0x8d,0x20,
0x22,0x58,0x41,0x1c,0x11,0x7b,0x3d,0xda,0x63,0x9a,0xf4,0x4a,0x12,0x51,0x59,0x96,
0x06,0x24,0x89,0x56,0x40,0xb3,0xa7,0xbe,0xed,0x1e,0x8f,0xdc,0x63,0x18,0x68,0x1e,
0x8f,0xdc,0x5f,0x5c,0xec,0x6a,0xfd,0xe4,0xc2,0xc2,0x7e,0xf1,0xf6,0x52,0x07,0x92,
0xe8,0x82,0xf4,0xc6,0xff,0xed,0xee,0x97,0x3a,0xda,0xc3,0x8e,0x78,0xdc,0x54,0x0c,
0xc3,0x54,0x4c,0x13,0xc9,0x34,0x91,0x8a,0x8b,0x9d,0xba,0xed,0x12,0x29,0xb5,0xb5,
0x46,0x94,0xc1,0xb0,0x2e,0xcb,0xb2,0x64,0xca,0x32,0xc8,0xb2,0x64,0xc8,0x32,0x86,
0x24,0x49,0xba,0x2c,0x4b,0xb1,0x6f,0x9c,0x3c,0x47,0x17,0x3d,0x29,0x20,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x90,0x05,0xf8,0xff,0xbd,0xee,0x3d,0x8e,0x97,
0x10,0x8f,0xe6,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82};
@@ -1,163 +0,0 @@
#include <bb_spi_lcd.h>
#include <PNGdec.h>
#include "lodepng.h"
// sample images
#include "zoidberg_320x240_24b.h"
#include "zoidberg_320x240_4b.h"
#include "zebra.h"
#include "stackoverflow.h"
#include "snoopy_128x128.h"
#include "snoopy_128x128_4b.h"
#include "octocat_4bpp.h"
#include "arduino_screen.h"
static uint8_t u8GFXBuf[4096];
int bDisplay;
PNG *png;
BB_SPI_LCD lcd;
uint16_t u16LodeColor, u16PNGColor;
uint16_t __attribute__((aligned (16))) usPixels[480];
void DecodeTest(int bLode, const uint8_t *pData, size_t data_size, const char *szName)
{
unsigned int width, height;
int rc;
uint8_t *image;
long l;
char szTemp[64];
lcd.setFont(FONT_8x8);
if (bDisplay && !bLode) {
lcd.fillScreen(TFT_BLACK);
}
if (bLode) {
lcd.setTextColor(u16LodeColor, TFT_BLACK);
l = micros();
lodepng_decode32(&image, &width, &height, pData, data_size);
l = micros() - l;
if (image) {
if (!bDisplay) { sprintf(szTemp, "LodePNG decoded in %d us\n", (int)l); lcd.print(szTemp); }
free(image);
} else {
if (!bDisplay) lcd.println("LodePNG decode failed");
}
} else {
lcd.setTextColor(u16PNGColor, TFT_BLACK);
l = micros();
png = (PNG *)malloc(sizeof(PNG));
rc = png->openFLASH((uint8_t *)pData, data_size, PNGDraw);
if (rc == PNG_SUCCESS) {
rc = png->decode(NULL, PNG_FAST_PALETTE);
if (rc == PNG_SUCCESS) {
l = micros() - l;
sprintf(szTemp, "PNGdec decode in %d us\n", (int)l);
if (bDisplay) {
Serial.print(szTemp);
} else {
lcd.print(szTemp);
}
} else {
if (!bDisplay) lcd.println("PNGdec decode failed");
}
} else {
if (!bDisplay) lcd.println("PNGdec open failed");
}
free(png);
}
if (bLode == 1) {
lcd.setTextColor(TFT_MAGENTA, TFT_BLACK);
if (bDisplay)
lcd.setCursor(0, 224);
else
Serial.println(szName);
lcd.println(szName);
}
} /* DecodeTest() */
int PNGDraw(PNGDRAW *pDraw)
{
if (bDisplay) {
if (pDraw->y == 0) {
lcd.setAddrWindow(0, 0, pDraw->iWidth, 240);
}
png->getLineAsRGB565(pDraw, usPixels, PNG_RGB565_BIG_ENDIAN, 0xffffffff);
lcd.pushPixels(usPixels, pDraw->iWidth, DRAW_TO_LCD | DRAW_WITH_DMA);
}
return 1;
} /* PNGDraw() */
void setup() {
Serial.begin(115200);
spilcdSetTXBuffer(u8GFXBuf, 4096);
// lcd.begin(DISPLAY_CYD);
// lcd.begin(DISPLAY_TUFTY2040);
lcd.begin(DISPLAY_T_DISPLAY_S3_PRO);
//lcd.begin(LCD_ILI9341, FLAGS_NONE, 60000000, 10, 9, 8, -1, 12, 11, 13); // Teensy 4.x + ILI9341
lcd.setRotation(270);// lcd.begin(DISPLAY_CYD); //DISPLAY_CYD_22C);
lcd.fillScreen(TFT_BLACK);
lcd.setFont(FONT_12x16);
u16PNGColor = TFT_YELLOW;
u16LodeColor = TFT_GREEN;
lcd.setTextColor(u16LodeColor, TFT_BLACK);
lcd.print("LodePNG");
lcd.setTextColor(TFT_WHITE, TFT_BLACK);
lcd.print(" vs. ");
lcd.setTextColor(u16PNGColor, TFT_BLACK);
lcd.println("PNGdec");
} /* setup() */
void loop() {
char szTemp[64];
for (bDisplay = 0; bDisplay < 2; bDisplay++) { // first pass no display, second pass with display
DecodeTest(0, arduino_screen, sizeof(arduino_screen), "Arduino IDE 480x222x32-bpp");
DecodeTest(1, arduino_screen, sizeof(arduino_screen), "Arduino IDE 480x222x32-bpp");
if (bDisplay) delay(3000);
DecodeTest(0, stackoverflow, sizeof(stackoverflow), "stackoverflow 320x84x32-bpp");
DecodeTest(1, stackoverflow, sizeof(stackoverflow), "stackoverflow 320x84x32-bpp");
if (bDisplay) delay(3000);
DecodeTest(0, zoidberg_320x240_24b, sizeof(zoidberg_320x240_24b), "zoidberg 320x240x24-bpp");
DecodeTest(1, zoidberg_320x240_24b, sizeof(zoidberg_320x240_24b), "zoidberg 320x240x24-bpp");
if (bDisplay) delay(3000);
DecodeTest(0, zoidberg_320x240_4b, sizeof(zoidberg_320x240_4b), "zoidberg 320x240x4-bpp");
DecodeTest(1, zoidberg_320x240_4b, sizeof(zoidberg_320x240_4b), "zoidberg 320x240x4-bpp");
if (bDisplay) delay(3000);
DecodeTest(0, snoopy_128x128, sizeof(snoopy_128x128), "snoopy 128x128x32-bpp");
DecodeTest(1, snoopy_128x128, sizeof(snoopy_128x128), "snoopy 128x128x32-bpp");
if (bDisplay) delay(3000);
DecodeTest(0, octocat_4bpp, sizeof(octocat_4bpp), "octocat 240x200x4-bpp");
DecodeTest(1, octocat_4bpp, sizeof(octocat_4bpp), "octocat 240x200x4-bpp");
if (bDisplay) delay(3000);
DecodeTest(0, zebra, sizeof(zebra), "zebra 320x240x24-bpp");
DecodeTest(1, zebra, sizeof(zebra), "zebra 320x240x24-bpp");
if (bDisplay) delay(3000);
DecodeTest(0, snoopy_128x128_4b, sizeof(snoopy_128x128_4b), "snoopy 128x128x4-bpp");
DecodeTest(1, snoopy_128x128_4b, sizeof(snoopy_128x128_4b), "snoopy 128x128x4-bpp");
if (bDisplay == 0) {
lcd.setFont(FONT_12x16);
lcd.setTextColor(TFT_WHITE, TFT_BLACK);
lcd.println("Now to show the images...");
delay(5000);
lcd.fillScreen(TFT_BLACK);
}
} // for bDisplay
delay(5000);
lcd.fillScreen(TFT_BLACK);
lcd.setCursor(0,0);
lcd.setFont(FONT_12x16);
lcd.setTextColor(TFT_WHITE, TFT_BLACK);
lcd.println("Q: Why did LodePNG fail?");
lcd.println("A: It uses too much RAM\n");
lcd.println("It wasn't designed to run");
lcd.println("on embedded devices, but");
lcd.println("PNGdec is written for MCUs");
sprintf(szTemp, "It only needs %d bytes\n\r", sizeof(PNG));
lcd.print(szTemp);
lcd.println("(and it's much faster!)");
while (1) {
delay(1000);
};
}
@@ -1,508 +0,0 @@
// Created with image_to_c
// https://github.com/bitbank2/image_to_c
//
// snoopy_128x128
// Data size = 7914 bytes
//
// PNG, Compression=Flate, Size: 128 x 128, 32-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t snoopy_128x128[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x08,0x06,0x00,0x00,0x00,0xc3,0x3e,0x61,
0xcb,0x00,0x00,0x1e,0xb1,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x79,0x7c,0x5d,
0x55,0xd5,0xf7,0xbf,0x6b,0x9f,0x3b,0x64,0x1e,0x9b,0xb1,0x53,0xee,0xcd,0xd8,0xa6,
0x03,0x2d,0x50,0xa6,0xa2,0x2d,0x45,0x45,0x04,0x45,0x65,0x50,0x1c,0x10,0x05,0x47,
0x10,0x44,0x5e,0x1c,0x1e,0x2d,0xa2,0x3e,0x3c,0x3e,0x8a,0xb3,0xe2,0xa3,0x38,0xbd,
0xfa,0x11,0xe5,0xf1,0x11,0x5f,0x41,0x11,0x10,0x05,0x54,0x64,0x2c,0x3c,0x14,0x3a,
0x97,0x74,0x1e,0xd2,0xa4,0xcd,0x9c,0xdc,0xe1,0x9c,0xbd,0xde,0x3f,0xce,0x49,0x9b,
0x86,0x14,0x9a,0xb4,0x85,0x26,0xb9,0xbf,0xcf,0x27,0x9f,0x7b,0x73,0xee,0x3d,0xe7,
0xdc,0xb3,0xd7,0x6f,0xaf,0xbd,0xf6,0x5a,0x6b,0xaf,0x0d,0x19,0x64,0x90,0x41,0x06,
0x19,0x64,0x90,0xc1,0x64,0x84,0x64,0x9a,0x60,0xf4,0xb8,0x29,0x3e,0x3b,0xba,0x5e,
0xd3,0xa7,0xe4,0x20,0x7b,0x8b,0xc4,0x59,0xff,0xb5,0x96,0x35,0xe9,0xf1,0xfa,0x2c,
0x4e,0x46,0x9c,0xa3,0xc3,0x8d,0xf1,0xd9,0xe1,0x7f,0xd8,0xc4,0x5d,0x79,0xa7,0x9c,
0xfc,0xe5,0xd3,0xde,0x79,0xc9,0x87,0xb6,0x38,0x7c,0xb0,0xaa,0xb3,0xd7,0x5d,0xdf,
0xd5,0xf1,0x78,0x86,0x00,0x93,0x00,0x79,0x85,0x05,0xef,0xde,0xa8,0xf6,0xfa,0x90,
0xe3,0x60,0x42,0x8e,0x79,0xef,0xfb,0x2f,0xcf,0xdf,0xda,0xd9,0x71,0xea,0xa5,0xdd,
0xa9,0x1f,0xdc,0xdb,0xb1,0x27,0x39,0xde,0x9e,0x27,0x94,0x11,0xe9,0xe8,0xb0,0x4f,
0xed,0x3b,0x01,0x36,0x6f,0xd9,0xc2,0xe6,0x2d,0x5b,0x38,0xe5,0x94,0x53,0x98,0x52,
0x5e,0x9e,0xdd,0x87,0x46,0x33,0x36,0xc0,0x04,0xc7,0xf2,0xf8,0x6c,0xf3,0xa4,0x4d,
0xfe,0x74,0xbd,0x7a,0x97,0x89,0x08,0xaa,0xca,0x94,0xd2,0x52,0xb2,0xfb,0x07,0xfe,
0xf6,0xd0,0xda,0xd5,0xcb,0x32,0x43,0xc0,0x04,0xc6,0x7b,0x6b,0x1a,0x4e,0x7c,0xd6,
0x1d,0xf8,0xfd,0xc2,0xb7,0xbf,0xf5,0xdc,0x4f,0x7f,0xf6,0x33,0xf2,0xb1,0xab,0xaf,
0xe6,0xd4,0xd3,0x4e,0x25,0x12,0x09,0xd3,0xb2,0x66,0xad,0x99,0x9d,0x57,0x90,0x73,
0x6e,0x71,0xc5,0x93,0x8f,0x77,0xb6,0xbb,0x99,0xd6,0x9a,0x60,0x78,0x6b,0x4d,0xdd,
0xc5,0x6f,0x79,0xdd,0xeb,0x7b,0x9f,0x7a,0xfc,0x09,0x75,0x5d,0x57,0x87,0xc2,0x5a,
0xab,0xed,0x6d,0x6d,0xfa,0x8d,0xaf,0x7e,0x55,0x17,0xd7,0xc4,0x9f,0xbe,0x3c,0xd6,
0xd0,0x9c,0x69,0xb1,0x09,0x84,0xf7,0xc7,0x1a,0x9a,0x2f,0x39,0xff,0xcd,0xbd,0xad,
0xbb,0x76,0xeb,0x4b,0xc1,0xf3,0x3c,0x7d,0xe0,0xbe,0xfb,0xf5,0xb4,0x59,0xb3,0x5b,
0xaf,0x8f,0x35,0x15,0x65,0x5a,0x6e,0x02,0xe0,0xae,0xfa,0x85,0x66,0x69,0xac,0xee,
0x9e,0xff,0x7d,0xfa,0x69,0x3d,0x1c,0x58,0x6b,0xf5,0xcb,0x37,0x7e,0x41,0xcf,0xa9,
0xa9,0xfd,0x74,0xa6,0xf5,0x26,0x00,0xde,0x13,0xab,0x6f,0xfa,0xc4,0xc7,0x3e,0xe6,
0x7a,0xc3,0xd4,0xfe,0x4b,0x61,0xf5,0xf3,0xcf,0xeb,0x19,0xb1,0xda,0x75,0x3f,0xad,
0x9b,0x1f,0x1e,0x0f,0xcf,0x68,0x32,0x62,0x3e,0x34,0x7a,0xad,0x7d,0xeb,0x85,0x97,
0x5c,0xe2,0x18,0xe7,0xf0,0x6d,0xe5,0xfa,0x86,0x06,0x0a,0xe2,0x35,0x75,0xf7,0xbb,
0xfd,0x8d,0x19,0x02,0x8c,0x73,0xec,0x89,0x86,0xdf,0x38,0x7b,0xce,0x9c,0xd1,0x39,
0x56,0xc2,0x61,0xce,0x5a,0x76,0xb6,0x49,0xa3,0xcd,0x19,0x02,0x8c,0x63,0xdc,0x1c,
0x9f,0x9d,0x15,0x6b,0x6c,0x58,0x90,0x9b,0x97,0x37,0xea,0x73,0xab,0xa7,0x56,0xb3,
0x07,0x3b,0x2b,0x43,0x80,0x71,0x8c,0x0e,0xb4,0xbc,0xb8,0xba,0x3a,0x27,0x14,0x1a,
0xbd,0xb3,0xb4,0x26,0x16,0xa7,0x07,0x9d,0x92,0x21,0xc0,0x38,0xc6,0x4e,0xeb,0x96,
0x56,0x54,0x57,0x8b,0xc8,0xe8,0x9d,0xa5,0xc6,0x31,0x84,0x55,0xb2,0x32,0x04,0x38,
0x86,0xd8,0xd1,0xb4,0xf8,0x98,0xba,0xb1,0x37,0xe1,0xe5,0xe4,0xe6,0xe6,0x8c,0xe9,
0x1e,0x6e,0x3a,0x4d,0x3f,0xda,0x39,0x1e,0xda,0x71,0xdc,0x05,0x83,0x7e,0x52,0x3b,
0x2f,0xef,0xb7,0x5e,0xdf,0x4d,0x17,0xf4,0x6e,0x5d,0xb4,0x78,0xfa,0xcc,0x35,0xb5,
0xa1,0xc8,0x9d,0x6f,0x0d,0xe5,0xdf,0x7f,0xc1,0x86,0xa7,0xed,0xd1,0xbc,0x4f,0x11,
0x52,0x59,0x51,0x51,0x31,0xb6,0x5e,0xe5,0x38,0x44,0x21,0x92,0xd1,0x00,0x47,0x19,
0x1f,0x8b,0x35,0x4e,0xfb,0x99,0xdb,0xf3,0xe4,0xc9,0xef,0xbc,0xf8,0xba,0x3f,0x3e,
0xf9,0xc4,0xe2,0x5f,0xff,0xf3,0xef,0x57,0xce,0xfa,0xc0,0x65,0xf7,0x7c,0x2b,0xdd,
0xf9,0x8f,0x6b,0x62,0x8d,0x35,0x47,0xb9,0x61,0x4a,0xca,0xc6,0x48,0x00,0x01,0x72,
0x45,0x32,0x7e,0x80,0xa3,0x89,0x1b,0xe3,0xb3,0x43,0x2b,0x6d,0xea,0x8e,0x8f,0x7c,
0xe9,0xa6,0xa6,0xcf,0xdf,0x74,0x13,0xe5,0x95,0x15,0x4c,0x9b,0x31,0x83,0x8f,0x5e,
0x75,0xb5,0x78,0x55,0x95,0xa7,0xaf,0xd4,0xf4,0xcf,0x36,0x36,0x9d,0x71,0xd4,0x86,
0x85,0x08,0x52,0x9c,0x9b,0x93,0x33,0xa6,0x73,0xd3,0xae,0x87,0x64,0x34,0xc0,0xd1,
0xc5,0x0a,0x9b,0xbc,0xd1,0x54,0x57,0x9d,0xfe,0xda,0x25,0x4b,0xf0,0xdc,0x03,0x01,
0xb7,0xfc,0xc2,0x02,0x16,0x9f,0x7e,0x3a,0xa6,0xbc,0xfc,0xf4,0x6f,0x26,0xdb,0x0b,
0x8f,0xd6,0xfd,0x5c,0x34,0x3f,0x12,0x1d,0x5b,0x88,0x3f,0x2b,0x1a,0xa1,0x57,0xd5,
0xcb,0x10,0xe0,0x28,0xe1,0xe3,0xb1,0xc6,0x8a,0x54,0x75,0xe5,0x27,0x7e,0x70,0xdb,
0x8f,0xd8,0xb7,0x6f,0x1f,0xeb,0xd6,0xae,0x45,0x55,0xf7,0x7f,0x5e,0x39,0x6d,0x2a,
0x4b,0x5e,0xff,0xba,0x48,0x54,0xa4,0xe2,0xe8,0x11,0x80,0x31,0x67,0xf7,0xe4,0x64,
0xe7,0x90,0x23,0x32,0x23,0x63,0x04,0x1e,0x25,0xac,0x51,0xf7,0xfa,0x2b,0xae,0xba,
0x2a,0x77,0x56,0xf3,0xc8,0xce,0xb5,0x54,0x22,0x49,0x34,0x2b,0x8b,0xb4,0x8e,0x2c,
0xb4,0xdb,0xeb,0x16,0x98,0xd5,0x36,0x51,0xb9,0xda,0xba,0x0b,0x7b,0xac,0x5b,0x54,
0x6c,0x9c,0xce,0x3a,0x13,0x7e,0xe8,0xe6,0x96,0x35,0xbd,0x87,0xba,0x67,0xab,0xf5,
0x4a,0xf3,0x72,0x73,0xc7,0xf4,0x7b,0xcb,0x2a,0x2b,0xe8,0x4b,0x26,0xeb,0x96,0xc7,
0x67,0x9b,0x2f,0xb6,0xac,0xb6,0x19,0x02,0x1c,0x01,0x6e,0x88,0xcf,0xca,0x7a,0x32,
0x2f,0xf2,0x9e,0xb3,0xce,0x3e,0x44,0xc2,0x8d,0x2a,0x5e,0x3a,0x85,0x7a,0xb6,0x57,
0xa0,0x6d,0xe8,0x47,0xff,0x55,0x3b,0xcf,0xdc,0xeb,0xf5,0x5f,0x76,0x47,0x79,0xce,
0xb5,0x4b,0x2e,0xb8,0x74,0xd6,0x07,0x1a,0x1b,0xc3,0x65,0x95,0x15,0x24,0x13,0x09,
0xfe,0xf5,0xf0,0xc3,0x6d,0x6f,0xbd,0xe3,0xb7,0x3f,0x8d,0x0f,0xa4,0xbf,0xf6,0xf5,
0x96,0xb5,0x7b,0x5f,0x34,0x0b,0x10,0x59,0x58,0x54,0x34,0xb6,0xa8,0x6e,0x61,0x61,
0x21,0x95,0x4d,0x8d,0x35,0xed,0x9b,0x77,0x34,0x03,0xcf,0x65,0xbc,0x2a,0x47,0x80,
0xf3,0x6b,0x6a,0xdf,0x7b,0xce,0xb2,0x65,0x7a,0xd7,0xef,0x7f,0xaf,0x7f,0xbe,0xfb,
0x6e,0x4d,0x26,0x12,0x07,0x45,0xdf,0xfa,0xfb,0xfa,0xf4,0xe7,0x3f,0xfe,0xb1,0x5e,
0xfb,0xfe,0xf7,0x3f,0xf5,0x68,0xe3,0xa2,0x83,0x8c,0xc0,0xb3,0x67,0xc6,0xbf,0xf4,
0xa3,0x1f,0xfc,0x40,0xf7,0xed,0xdd,0x3b,0x62,0xe8,0x76,0xd3,0x0b,0x2f,0xe8,0xa7,
0x3e,0x76,0xd5,0x86,0x6b,0xe2,0x4d,0x2f,0x1a,0x3a,0xde,0x78,0xd2,0xc9,0xcf,0xf7,
0xf5,0xf6,0xea,0x58,0x71,0xc7,0xed,0xb7,0xeb,0xb2,0x9a,0xf8,0x6d,0x19,0x09,0x1e,
0x21,0x96,0xc6,0xea,0xee,0x7f,0xe6,0xc9,0xa7,0x34,0xd1,0xdf,0xaf,0xbb,0x77,0xee,
0xd4,0x74,0x3a,0x7d,0x50,0x43,0xbf,0xb0,0x61,0x83,0xde,0xfe,0x8b,0x5f,0xe8,0xeb,
0xea,0x1a,0xbe,0x3e,0xf4,0xbc,0x8b,0x6b,0xea,0xde,0x7f,0xc7,0xaf,0x6e,0xb7,0x2f,
0x17,0xca,0xdd,0xb5,0x73,0xa7,0xbe,0x6b,0xd9,0xd9,0xf7,0x7d,0xb3,0x76,0xee,0xfe,
0x90,0xdf,0x65,0xb1,0x86,0xdc,0xcb,0x2e,0xbc,0xa8,0xdb,0xf3,0xbc,0xc3,0x16,0x78,
0x3a,0x95,0xd2,0xa7,0x9f,0x5a,0xa1,0xbf,0xfd,0xcd,0x6f,0xd4,0xf3,0x3c,0xdd,0xb3,
0x7b,0xb7,0x2e,0xaa,0xad,0xdb,0x7b,0x43,0xac,0xa9,0x2a,0x63,0x04,0x8e,0x11,0x57,
0xc7,0x1a,0x1b,0xaa,0x17,0xcc,0x5f,0x32,0xf7,0x84,0xf9,0x44,0xb3,0xb3,0xa9,0xa8,
0xaa,0x62,0xb8,0x6f,0x7e,0xfd,0xfa,0xf5,0xb8,0xa9,0x34,0x59,0x69,0xef,0x81,0xc1,
0x63,0xcb,0xe3,0xb3,0xf3,0x66,0xbc,0xe1,0xec,0xe5,0x6f,0xbb,0xe8,0x42,0x79,0xb9,
0x50,0x6e,0x65,0x55,0x15,0xef,0xfb,0x3f,0xd7,0xbf,0xfe,0x9f,0xde,0xc0,0x55,0x43,
0x0e,0xcf,0x98,0x7b,0xd2,0x49,0x79,0xc6,0x1c,0x5e,0xf3,0xac,0x7a,0xee,0x39,0xbe,
0x78,0xe3,0x8d,0x74,0x75,0x75,0xf2,0xa6,0x37,0xbf,0x19,0x63,0x0c,0x53,0xca,0xcb,
0x79,0xdf,0xb5,0xd7,0x94,0xac,0xd0,0xd4,0x67,0x33,0x04,0x18,0x23,0x56,0x69,0x7a,
0xe9,0x05,0x17,0x5f,0x14,0x76,0x0e,0x11,0x90,0x51,0x55,0x9e,0x7d,0xfa,0x69,0xda,
0x5b,0x77,0xf7,0x2e,0x70,0xa2,0x2b,0x06,0x8f,0xaf,0x74,0x13,0x57,0x5e,0x7a,0xe5,
0x15,0x33,0x43,0xe1,0xc3,0xf3,0xc5,0x2c,0x5d,0xb6,0x8c,0xa6,0x0b,0x2f,0xf8,0xd2,
0x35,0xb1,0xc6,0xea,0x5b,0x6b,0xe7,0x65,0xb5,0xa9,0xb7,0xe4,0x84,0x05,0x27,0x1c,
0xb6,0x4f,0xa1,0xa4,0xb4,0x94,0x1b,0x3e,0xf3,0x19,0x96,0x9c,0x75,0x16,0xd9,0xd9,
0xd9,0xbe,0x33,0x48,0x84,0x25,0x4b,0x97,0xb2,0xcf,0xf3,0x2e,0xba,0xb9,0x76,0x4e,
0x34,0x43,0x80,0x51,0xe2,0xf6,0xba,0x85,0xe2,0xc1,0x3b,0x4f,0x39,0xf5,0xd4,0x43,
0x7e,0xa7,0xab,0xb3,0x93,0xfe,0xde,0x3e,0x9e,0xfa,0xfb,0x3f,0xee,0xff,0x62,0xcb,
0xea,0x3d,0x00,0x5f,0x8a,0xcf,0xce,0x8f,0x9d,0x73,0xf6,0xb5,0x73,0xe6,0xcd,0x3b,
0xec,0x7b,0x39,0xa1,0x10,0x17,0x5c,0x74,0x71,0xfe,0x4a,0x9b,0xfa,0xf7,0xdf,0x79,
0xbd,0x2b,0x74,0x6a,0xd5,0x0d,0x0b,0x4f,0x3a,0xe9,0xb0,0xcf,0xaf,0xaa,0xae,0x26,
0x2f,0x3f,0xff,0x45,0xc7,0x6b,0xeb,0xeb,0x89,0x9d,0x30,0xaf,0x62,0x8d,0x4d,0x9e,
0x91,0x21,0xc0,0x28,0xf1,0x98,0xd7,0x57,0x7e,0xf2,0x9b,0xce,0x3d,0x63,0xda,0x8c,
0x43,0x4f,0xa7,0x57,0x3c,0xf9,0x24,0x65,0xe5,0x65,0xa4,0x56,0xaf,0xff,0xed,0xe0,
0xb1,0xc7,0xdd,0xc4,0x0d,0xef,0xbe,0xf2,0xca,0x19,0xe1,0xf0,0xe8,0x3c,0xb1,0x0b,
0x4e,0x5c,0xc8,0xa5,0x9f,0xf9,0xd4,0xfb,0x36,0x79,0xee,0xec,0x1b,0x6e,0xfa,0x42,
0x4d,0x71,0x49,0xc9,0x11,0x3f,0x43,0x24,0x12,0xe1,0xbc,0x37,0xbf,0x85,0x3d,0x6a,
0xcf,0xcb,0x10,0x60,0x94,0x48,0xa2,0x0b,0x2a,0xa7,0x4f,0x0f,0x1d,0x2a,0x1c,0xdb,
0xdf,0xd7,0xc7,0xaf,0x7f,0x75,0x3b,0xdd,0x1d,0x9d,0x7d,0x27,0x44,0xb2,0xef,0x03,
0xb8,0xa5,0x76,0x4e,0x74,0xb7,0x4d,0x5f,0x5c,0x5b,0x5b,0x3b,0xea,0xfb,0x39,0x8e,
0xc3,0xdb,0xde,0x7e,0x21,0x15,0x15,0x15,0x9c,0x72,0xda,0x69,0x47,0xed,0x39,0x9a,
0xe7,0x34,0xd3,0xa7,0x3a,0xe7,0x78,0x6d,0xe7,0xe3,0xd6,0x0f,0xb0,0x55,0xbd,0x19,
0x17,0xcc,0x3d,0x74,0xbb,0x6d,0x7a,0xa1,0x05,0x01,0x1e,0x7e,0xf8,0xe1,0x48,0x59,
0x7c,0xda,0xef,0x3e,0x79,0xe6,0xa2,0xa2,0x4d,0xae,0x57,0xfe,0x9e,0x85,0x27,0x4c,
0xcd,0xca,0xc9,0xc1,0x7a,0x1e,0x3b,0xb6,0x6f,0xa7,0xad,0xbd,0x1d,0xeb,0x59,0xa2,
0xd1,0x08,0xed,0xed,0x7b,0xd9,0xb7,0x6f,0x2f,0x8e,0x08,0xe5,0x95,0x95,0x4c,0x29,
0x9d,0x42,0xc3,0xac,0xa6,0x03,0xbd,0x21,0xe4,0xd0,0x3c,0x7b,0x16,0xd1,0xac,0xa3,
0x17,0xca,0x2f,0x9d,0x32,0x85,0x84,0xf5,0x4a,0x33,0x04,0x18,0x25,0x06,0xac,0x3d,
0x33,0x1e,0x8f,0x1f,0xba,0x67,0xcd,0x9b,0xcb,0x0f,0x7f,0xfa,0x13,0x3c,0xd7,0x0d,
0x83,0x2c,0x35,0x21,0xdf,0xda,0x77,0x8c,0x61,0x53,0x4b,0x0b,0xff,0x79,0xf3,0xcd,
0x54,0x4f,0x9d,0xc6,0x6b,0x96,0xbc,0x96,0xdc,0x9c,0x5c,0xba,0xba,0xba,0x98,0x36,
0x6d,0x2a,0x4d,0x4d,0x8d,0xe4,0xe6,0xe5,0xe1,0xba,0x2e,0x39,0xc3,0x82,0x3d,0x3d,
0x9d,0x9d,0x4c,0x9b,0x59,0xc3,0xe1,0x5a,0xff,0x87,0xa7,0x62,0x05,0x07,0xfa,0x33,
0x04,0x18,0x25,0x5c,0x91,0xf9,0x25,0x2f,0x33,0x0e,0x1b,0xc7,0x61,0xf8,0x34,0xaf,
0xbf,0xaf,0x8f,0x4f,0x7c,0xfc,0x1a,0x3e,0xb7,0x7c,0x39,0x27,0x9d,0xb2,0x68,0x54,
0xf7,0x6c,0xdf,0xbb,0x97,0x48,0xe4,0xe8,0x46,0x71,0x93,0xa9,0x24,0x61,0x31,0xbd,
0x19,0x1b,0x60,0x14,0xf8,0x66,0xed,0x9c,0xc8,0xd4,0x59,0x4d,0x65,0x45,0xc5,0xc5,
0xa3,0x3e,0xf7,0xde,0x7b,0xee,0xe1,0x43,0x1f,0xf9,0xf0,0xa8,0x85,0x0f,0x90,0x4c,
0xa7,0x29,0x28,0x2c,0x3c,0xaa,0xcf,0xb2,0x65,0xcb,0x16,0x72,0x8d,0x79,0x22,0x43,
0x80,0x51,0x60,0xb3,0x4d,0xe7,0x15,0x94,0x14,0x57,0x3a,0xa3,0x4c,0xc8,0x4c,0xa7,
0xd3,0xfc,0xed,0xfe,0xbf,0xb0,0xe4,0xac,0xb3,0x50,0x3b,0xfa,0x18,0x8c,0x00,0xbd,
0x5d,0x5d,0x47,0x6f,0x18,0xeb,0xef,0xe7,0xae,0x3b,0x7f,0xdf,0x53,0x2f,0xa1,0x9f,
0x64,0x86,0x80,0x51,0xa0,0xcc,0x84,0x72,0x5a,0xf3,0x46,0x1f,0x89,0xdb,0xdb,0xd6,
0x46,0x59,0x45,0x05,0xd9,0x39,0x39,0xfc,0xe3,0xc1,0x87,0x38,0xfd,0xcc,0xc5,0x38,
0xa1,0x10,0xd6,0xda,0x83,0xc7,0x75,0x85,0x54,0x2a,0x49,0x67,0x47,0x27,0x03,0x03,
0xfd,0x14,0x16,0x15,0xd1,0xdb,0xd3,0xc3,0x8a,0x27,0x9e,0xe4,0xce,0x3b,0xef,0xe4,
0xc4,0x93,0x4f,0xa6,0x7a,0xea,0x54,0xa6,0x4f,0x9f,0x41,0x7e,0x61,0xc1,0xe8,0x1f,
0x40,0x95,0x1d,0xdb,0xb7,0xf3,0x8d,0xaf,0xdd,0xc2,0xa6,0x07,0xfe,0x76,0x77,0x02,
0x4e,0x5e,0x5a,0x53,0x7b,0x72,0x35,0x66,0x4f,0xa9,0x38,0xcf,0x7d,0x67,0xd3,0xda,
0xce,0x0c,0x01,0x86,0xe0,0xda,0x58,0xe3,0xec,0xdd,0x78,0x8d,0xa2,0x4c,0xb3,0xd0,
0xf3,0x80,0x37,0xb0,0x20,0xde,0xd7,0x8f,0xaa,0x72,0xa8,0x69,0xe0,0x60,0x3e,0x80,
0x5a,0xa5,0xbf,0xaf,0x97,0x64,0x3a,0x4d,0x6b,0x6b,0x2b,0xcf,0x3c,0xf3,0x34,0x9d,
0xfb,0xf6,0xd1,0xdd,0xd5,0x89,0x31,0x06,0x55,0xe5,0xb6,0x5b,0x6f,0xe5,0x8a,0x8f,
0x7c,0x84,0xc7,0x1f,0x7d,0x94,0xd5,0x2b,0x57,0xb2,0x63,0xf5,0x1a,0xba,0xd7,0xaf,
0x67,0xf3,0x0b,0x1b,0x69,0x4d,0xa6,0x88,0xe6,0xe6,0x52,0x93,0x4a,0xd2,0x0f,0x44,
0x14,0x3e,0xf9,0xd1,0xab,0xc8,0x49,0xa7,0x28,0x9c,0x5a,0xcd,0xb2,0xf3,0xcf,0x27,
0x5e,0x5f,0x4f,0xcd,0xcc,0x99,0x94,0x95,0x97,0x53,0x58,0x58,0x48,0x5e,0x7e,0x3e,
0xc3,0xb5,0x93,0xe7,0x79,0xb4,0xed,0xd9,0xc3,0xea,0x55,0xab,0x78,0xea,0xb1,0xc7,
0xf9,0xe7,0xaf,0x6f,0x67,0x41,0x62,0x80,0x73,0x1d,0x2e,0xed,0x57,0x2e,0xf5,0x80,
0x75,0xd6,0xb2,0x5d,0xdd,0xde,0xf3,0x6a,0xe2,0x6b,0x4a,0x70,0x3e,0xf3,0x8b,0xcd,
0x1b,0xfe,0xfa,0x6a,0xb7,0xfd,0xab,0x5e,0x20,0xe2,0xe6,0x78,0x73,0xf6,0x43,0xb6,
0xbf,0xe5,0xdd,0x21,0x2a,0x73,0x02,0xab,0x39,0x4b,0xe0,0x5b,0xa1,0x2c,0x6e,0xb9,
0xfd,0x57,0x14,0x15,0x15,0xb3,0x7b,0x4f,0x2b,0x9d,0x1d,0x1d,0xec,0xda,0xb9,0x93,
0xfe,0x8e,0x4e,0xba,0xf6,0xb4,0xd2,0xd1,0xd3,0x43,0x04,0x21,0xd5,0xde,0xc6,0x9e,
0x67,0x57,0xd2,0x98,0x4e,0x12,0x51,0xa5,0x0d,0x61,0xdd,0x9c,0xb9,0x58,0xb5,0x7c,
0xe7,0xbb,0xdf,0xa5,0x6a,0xea,0x34,0x6e,0xf9,0xca,0x57,0xf8,0xc0,0x15,0x57,0xf0,
0xbd,0x8f,0x7f,0x9c,0xcb,0x9f,0x5f,0x41,0xb6,0x1c,0x18,0xfb,0x6c,0xf0,0x37,0x68,
0x4a,0xa6,0x80,0x01,0x85,0x5c,0x01,0x57,0xa1,0x47,0xa1,0x5d,0x61,0x9b,0x55,0xf6,
0x59,0x65,0x2b,0x42,0x67,0x7d,0x03,0xf3,0xce,0x39,0x87,0x99,0x33,0x66,0x90,0x4a,
0xa6,0xd8,0xb9,0x6e,0x2d,0x3b,0x9e,0x7b,0x8e,0xf2,0x67,0x9f,0xa1,0x4e,0xa0,0xd1,
0x11,0x4a,0xcc,0xc8,0x8d,0x2b,0x40,0x9f,0xc2,0x57,0x92,0xda,0x1f,0x22,0x32,0xeb,
0xfb,0x9b,0xd6,0x6d,0x9d,0xd4,0x04,0xb8,0xa4,0xa6,0x7e,0x5a,0x8d,0xb8,0x2d,0xd7,
0x65,0x1d,0x9c,0x44,0xb9,0xc6,0x83,0xbf,0xba,0x4a,0x4c,0x94,0x26,0x23,0xe4,0x1a,
0x21,0x2a,0x90,0x03,0x38,0x02,0x9e,0x82,0x91,0x03,0x2a,0x4c,0x0e,0x68,0x77,0xd6,
0x7a,0xf0,0xcb,0xb4,0xb2,0xbe,0xbc,0x82,0xea,0xa9,0x53,0x69,0x6f,0x6f,0xa7,0xa0,
0x20,0x9f,0x4b,0xd7,0xae,0xe2,0x35,0xe1,0x23,0x7f,0xe4,0x34,0xf0,0xdd,0x84,0xf2,
0x3f,0x56,0xa9,0x07,0x6e,0xcb,0x31,0x84,0x46,0x69,0x50,0xdd,0x93,0x56,0xee,0x74,
0xcd,0xe7,0xef,0xde,0xfc,0xc2,0x97,0x27,0xf5,0x10,0x90,0x46,0x9b,0x6a,0x0c,0x2f,
0x9a,0x7b,0xcd,0x72,0x60,0x96,0x23,0x87,0xe4,0x68,0x48,0x0e,0xcd,0xe8,0x59,0x0e,
0x7c,0xd1,0x11,0xf6,0x76,0xee,0x21,0xd1,0xb9,0x87,0xb4,0x42,0x6e,0x2b,0x54,0x85,
0xe5,0xa8,0x35,0x5a,0x6b,0xf0,0x7e,0xce,0x5b,0xde,0x4c,0xe7,0x7d,0x7f,0xa4,0x7c,
0x94,0xe6,0xf4,0x22,0x47,0xf8,0xb1,0xab,0xf3,0x27,0xfd,0x2c,0x60,0xab,0x7a,0xf3,
0x8b,0x45,0x8e,0x09,0xb3,0x2b,0x0c,0xcc,0x34,0x50,0xe7,0x40,0xd5,0x51,0x7c,0x52,
0x0f,0xd8,0x1a,0xd8,0x20,0x77,0xdd,0xf3,0x67,0xc6,0x52,0x13,0x26,0xcb,0x1f,0x86,
0x66,0x7e,0xad,0x76,0x8e,0x4c,0x6a,0x02,0xe4,0x89,0xcc,0xa9,0x18,0x67,0xeb,0x93,
0xd2,0x0a,0x1d,0x41,0x4e,0xaa,0x97,0x4e,0xb3,0x73,0x0c,0x59,0x7f,0x61,0x20,0x1f,
0x9d,0xbf,0x4d,0xbd,0xa2,0x49,0x4b,0x80,0xeb,0x63,0x4d,0xd2,0xa1,0x7a,0xea,0x78,
0xab,0xaf,0xb6,0xc7,0x42,0xf7,0x90,0xff,0x57,0x78,0x3a,0xea,0x6b,0x44,0x05,0xe6,
0x09,0xe1,0xcd,0x9a,0x2e,0x9f,0xb4,0x04,0x28,0x36,0x4e,0x5e,0xa5,0x30,0xa3,0x6a,
0x9c,0x69,0x80,0xbe,0xe1,0xc2,0x1c,0xe3,0x75,0x4a,0x05,0xc9,0x56,0xe6,0x4d,0x5a,
0x02,0x3c,0xe2,0x25,0x5e,0xb3,0xc8,0x90,0x93,0x33,0xce,0xaa,0x15,0xee,0xb0,0x07,
0xf7,0xf8,0x81,0x31,0x5e,0x67,0x9a,0x81,0x2d,0xd8,0xc5,0x93,0x96,0x00,0x0a,0x67,
0x55,0x8d,0xc3,0x52,0x95,0xdb,0x86,0x8d,0xf9,0x0f,0x5b,0x65,0x2c,0xd5,0xa2,0x6b,
0x8c,0x20,0xaa,0x33,0x27,0x2d,0x01,0x3a,0xd4,0xce,0x9c,0x61,0xc6,0x1f,0x03,0x76,
0xeb,0x41,0x24,0x26,0x32,0x75,0x1a,0xc9,0xd1,0x9b,0x01,0xe4,0x0a,0xa4,0xe1,0xa4,
0x6f,0xd5,0xce,0x8d,0x4c,0x3a,0x02,0xdc,0x56,0x77,0x42,0xd8,0x41,0x4e,0x2e,0x1b,
0x67,0xf2,0x4f,0x03,0x4f,0x0c,0x19,0x02,0x04,0xe8,0xdf,0xb1,0x63,0x4c,0x2b,0x41,
0x8b,0x0d,0x4c,0x15,0xaa,0x9f,0xb3,0xc9,0x59,0x93,0x8e,0x00,0xdb,0x6d,0x3a,0x9c,
0x40,0xf3,0x22,0xe3,0x8c,0x00,0x06,0x28,0x1c,0xf6,0x9b,0xad,0xea,0x98,0xae,0x15,
0x01,0xce,0x72,0x90,0xbd,0x6a,0x2b,0x26,0x1d,0x01,0xd6,0xd8,0xd4,0x94,0x02,0xd1,
0xfc,0xf2,0x71,0x36,0x03,0x70,0x15,0xb6,0x0c,0x93,0x77,0xe3,0x99,0x67,0xd2,0x36,
0x36,0x0e,0x50,0x2a,0xd0,0x87,0x9e,0x3a,0xe9,0x08,0xe0,0xa1,0xaf,0x59,0x6c,0x24,
0x3c,0xde,0x4a,0x94,0xa4,0x81,0xe1,0xe9,0x3d,0xef,0xba,0xf4,0x52,0x76,0xb9,0x63,
0x5b,0x03,0x5a,0x26,0x42,0x37,0x7a,0xda,0xa4,0x23,0xc0,0x4e,0xb5,0xe5,0xb9,0x8c,
0x3f,0x64,0x0b,0x2c,0x18,0x36,0x04,0x24,0x53,0x29,0x0a,0x64,0x6c,0x2a,0x60,0x86,
0x01,0x47,0xb5,0xee,0x37,0xb5,0xf3,0x5f,0x15,0x59,0xbc,0x6a,0x1d,0x30,0x2c,0x54,
0xd6,0x1d,0x67,0xea,0x5f,0x81,0x94,0xfa,0xaf,0x82,0x1f,0x75,0x1c,0xde,0x40,0xc2,
0xc1,0xa5,0x3f,0x54,0x95,0x44,0x62,0x80,0xa8,0x8c,0xed,0x61,0x0a,0x0c,0xcc,0x14,
0x99,0xb2,0x1d,0xcf,0xe0,0x47,0xa6,0x27,0x07,0x01,0x1c,0x58,0x10,0x12,0x61,0x97,
0x85,0xa4,0x42,0xbb,0x2a,0x61,0x04,0xc5,0x8f,0xc1,0x47,0xc5,0xf7,0x97,0xf7,0xaa,
0xef,0x79,0x0b,0x05,0x0d,0x3f,0x34,0xbd,0x36,0xad,0x4a,0x56,0x10,0x22,0x2e,0x30,
0x42,0xa1,0x40,0xde,0x10,0xc1,0x85,0xc5,0x8f,0xf3,0x9b,0x40,0x70,0x1e,0x7e,0x2c,
0xbe,0x3f,0x88,0xf1,0xb7,0x5a,0x65,0x6f,0xf0,0xbe,0x57,0xfd,0x8a,0x10,0x83,0x61,
0xc9,0x76,0x55,0xda,0x80,0x0b,0x1c,0x21,0x57,0xa0,0x5b,0x7d,0xf5,0x9f,0x50,0xd8,
0x38,0xa4,0xb3,0x7b,0xd6,0xe2,0x26,0x53,0xfc,0x2c,0x65,0x79,0x93,0x1a,0xb2,0xf1,
0x23,0x95,0xd9,0xc3,0x02,0x5c,0x83,0xff,0xed,0xb1,0xca,0x1a,0x0b,0x6b,0xad,0x92,
0x27,0xc2,0x0d,0x51,0x21,0x2a,0x5a,0xd0,0x62,0x53,0x75,0xc0,0xda,0x49,0x41,0x80,
0x2b,0xe3,0xb3,0xe4,0x11,0x2f,0x31,0x75,0xaf,0x85,0x85,0x8e,0x10,0x36,0x30,0x13,
0x39,0x68,0x3c,0x3a,0x94,0x42,0x1d,0x6c,0x48,0x3f,0x91,0xc3,0x27,0x8c,0xc5,0x17,
0x6a,0x9f,0xc2,0x5e,0x55,0x7a,0xad,0x90,0xc6,0x0f,0xda,0xf4,0x00,0x09,0x55,0xd6,
0x59,0x68,0x51,0xdf,0x6d,0xdb,0x64,0x20,0x6e,0xa0,0x5c,0x84,0x59,0x0e,0x14,0x08,
0xfb,0x93,0x44,0xcc,0x7e,0x1b,0x45,0x78,0xd6,0x85,0x9d,0x56,0x71,0x80,0xe9,0x46,
0xc8,0x07,0x0a,0x0d,0xec,0x51,0xf8,0x43,0x30,0x15,0x0c,0x39,0x0e,0x9f,0x5d,0xbe,
0x9c,0x8b,0x1d,0xb3,0xbf,0x3a,0x85,0xa3,0x82,0x0c,0xb9,0x96,0x00,0x5d,0xaa,0xac,
0xb7,0xd0,0x68,0xe0,0x34,0x47,0xb8,0x24,0x2c,0x38,0x02,0xf9,0x02,0x27,0x1a,0xcc,
0x7d,0x9e,0xb7,0x78,0xd2,0x10,0x20,0x86,0x38,0xcf,0x43,0xe9,0x19,0x61,0x3f,0xc9,
0xe3,0xe5,0x84,0xce,0x08,0xc4,0x10,0x0e,0xde,0xee,0x24,0x22,0x50,0x24,0x43,0x29,
0x72,0x30,0x6d,0x06,0x14,0x12,0xc1,0x14,0xce,0x1c,0xc6,0xf5,0x0d,0xb0,0x20,0x04,
0x0b,0x46,0xb8,0xde,0x48,0x5e,0xbf,0x85,0x46,0x38,0xf3,0x25,0x33,0xca,0x85,0x25,
0x87,0xf8,0xa4,0xc1,0x08,0xff,0xed,0x69,0xfd,0xa4,0x31,0x02,0xbb,0xd1,0x78,0xad,
0xe8,0x94,0xc2,0x57,0xd0,0x07,0x90,0x2d,0x50,0x2c,0x47,0xe7,0x81,0x87,0xaf,0x1b,
0xba,0xe2,0xf2,0xcb,0x51,0x3b,0xf6,0x9a,0x50,0xc5,0x7e,0xfa,0x59,0xf3,0xa4,0x21,
0xc0,0x16,0x9b,0x5e,0x90,0x27,0x62,0xc6,0xeb,0x8e,0x55,0x67,0x0e,0xd3,0x9b,0xa5,
0x65,0x65,0x64,0x1d,0xc1,0x6a,0xa2,0x22,0x03,0x69,0x74,0xd1,0x95,0xb1,0xc6,0xe8,
0xa4,0x20,0x80,0x40,0x45,0x21,0xe3,0x77,0xcb,0xb2,0xa2,0x21,0x06,0x9e,0x67,0x2d,
0x7d,0x3d,0x3d,0x14,0x1e,0x01,0x9d,0x0b,0x05,0x16,0x19,0x4a,0xca,0x30,0x15,0x93,
0x82,0x00,0xbb,0xb0,0xf1,0xa6,0x71,0xbc,0x5f,0x59,0x83,0x03,0x57,0x38,0x42,0x56,
0x38,0x82,0x11,0xe1,0xee,0xbb,0xee,0x0a,0xec,0x8f,0xb1,0xa3,0x5a,0x30,0x6d,0x78,
0x65,0x93,0x82,0x00,0x69,0xa5,0xb9,0x50,0xc6,0xef,0x96,0x85,0x02,0x2c,0x0e,0x09,
0x89,0x54,0x92,0x0f,0x5e,0x79,0x25,0xb1,0xdd,0xbb,0x38,0xd2,0xb4,0xb6,0x32,0x41,
0x76,0xa8,0xb7,0x6c,0x52,0x10,0x20,0x5b,0xa8,0x0a,0xa1,0x8c,0x67,0xd4,0x3b,0xf0,
0xa5,0x88,0x61,0xdb,0x6d,0x3f,0xe2,0xca,0xa3,0x30,0x97,0x6a,0x72,0x84,0x5d,0x6a,
0x4f,0x9b,0xf0,0x04,0xb8,0xa3,0x7e,0x41,0xa4,0x47,0xb5,0xb8,0x5c,0xc6,0xf7,0xa6,
0xa5,0x02,0x2c,0x0b,0x0b,0xcb,0x73,0x43,0xd4,0x1c,0x85,0xe1,0x2c,0x66,0x60,0x9a,
0x48,0xf3,0xef,0xea,0x4f,0x34,0x13,0x9a,0x00,0x8f,0x78,0x89,0x5c,0x0f,0x4a,0x2b,
0x33,0x5b,0x55,0x1c,0x84,0x88,0x40,0x99,0x68,0xec,0x8f,0x6e,0xcf,0xf4,0x09,0x4d,
0x00,0x4f,0xed,0xfc,0xa8,0x68,0x34,0x2b,0xb3,0x6b,0xf1,0x8b,0x34,0xca,0x5c,0x43,
0xa8,0x4f,0xed,0xc2,0x09,0x4d,0x80,0x0e,0x6c,0xc9,0x34,0x24,0xb3,0x6b,0xf5,0x08,
0x38,0xc9,0x11,0xb6,0x60,0x9b,0x27,0x34,0x01,0xf6,0xa9,0xad,0x9c,0x9b,0x51,0xff,
0x23,0xa2,0x58,0x20,0x0b,0x66,0x4f,0x68,0x02,0xb8,0x68,0xfd,0xf4,0x09,0x4e,0x00,
0x19,0xf2,0x37,0x1a,0xe4,0x0b,0x18,0x74,0xf1,0xc7,0xe3,0x4d,0xaf,0x58,0x8c,0xe6,
0x15,0x0f,0x06,0x29,0x34,0xbc,0xdc,0x5a,0x40,0x7b,0xe0,0xbb,0x07,0x4d,0x16,0x07,
0xe3,0xf5,0x29,0xfc,0xd0,0x70,0x48,0xfc,0xa5,0xdc,0x1e,0x7e,0xaa,0x56,0x28,0xf0,
0xf5,0xbb,0xc1,0x49,0x39,0x7e,0xd6,0x2d,0x1a,0x3c,0x68,0x76,0x10,0x1e,0x1e,0x0c,
0x0d,0xa7,0xd5,0xcf,0xe9,0x4f,0xa8,0x1f,0xee,0xb5,0x28,0x69,0x15,0x06,0x50,0x3c,
0xfc,0x15,0xc8,0x16,0x3f,0x34,0x5d,0x20,0xc2,0x94,0xc1,0xeb,0xe3,0x5f,0x67,0x20,
0x48,0x1c,0xe8,0x53,0x68,0xb7,0x4a,0x97,0xfa,0x91,0xc2,0x16,0x55,0x42,0x40,0x0e,
0x42,0x89,0xc0,0x7c,0xc7,0xbf,0x4e,0x87,0xfa,0xe1,0xe6,0xb8,0x11,0xaa,0x8d,0xff,
0x1c,0x4e,0x60,0x00,0x4a,0x70,0x9f,0xd7,0x1a,0xa6,0x76,0x2b,0xd3,0x81,0x4d,0x13,
0x92,0x00,0xbd,0x4a,0x55,0xb5,0x81,0xf5,0x1e,0x3c,0xe5,0x29,0xdd,0x81,0xb0,0xb2,
0x03,0xc1,0x24,0xf1,0xe3,0xf3,0x65,0x81,0xb0,0x06,0x43,0xac,0x59,0x81,0x40,0x85,
0x03,0x09,0x1b,0xf9,0x01,0x8f,0x46,0x9a,0x85,0xa5,0xf1,0x05,0x13,0xc6,0x8f,0x02,
0x26,0x14,0xd6,0xe9,0x81,0xfb,0xac,0xb0,0x4a,0x91,0x40,0x95,0x08,0x4d,0x41,0x38,
0x38,0x5f,0x20,0x1b,0x25,0x2f,0xb8,0xb7,0xbf,0xef,0x8b,0xd0,0xad,0xca,0x5d,0xae,
0xd2,0x89,0x52,0x2d,0x42,0x2a,0xa8,0x1f,0x10,0xd9,0xdf,0x6b,0xfd,0xff,0x3d,0xfc,
0x95,0xc9,0x67,0x1b,0x43,0x16,0xbe,0x80,0x7b,0x14,0xfe,0x9c,0x56,0xb2,0x05,0x1a,
0x02,0xcd,0xf7,0xdb,0xb4,0xf2,0x94,0x55,0x0a,0x05,0x76,0x29,0x74,0x02,0x35,0x02,
0xd7,0x85,0x85,0xb9,0x46,0xcc,0x2f,0x5c,0x77,0xf1,0x84,0x24,0xc0,0xc7,0x62,0x8d,
0xe5,0x1b,0x35,0xd5,0x54,0x61,0x7c,0x23,0x70,0xa6,0x11,0x42,0x41,0xc3,0x39,0xc3,
0x54,0xe8,0xb1,0x18,0x25,0x5c,0x60,0x8d,0xeb,0x0b,0xed,0xba,0xa0,0xde,0x80,0x73,
0x58,0xaa,0x5a,0x38,0x23,0xec,0xbf,0x8e,0xc5,0x78,0x6d,0x72,0x0e,0x3e,0x6f,0x69,
0x18,0x5c,0xf5,0xf3,0x01,0x52,0x81,0x06,0xeb,0x57,0x3f,0x4d,0x7c,0xa7,0x85,0x6e,
0xd7,0x2e,0x03,0x7e,0x39,0xe1,0x08,0xb0,0x56,0xdd,0xfa,0x19,0x90,0x1d,0x0a,0x1a,
0x3d,0xf4,0x12,0x3d,0xf8,0x58,0x3d,0xec,0xdc,0x31,0x3e,0xf1,0x91,0xcc,0x5a,0x64,
0x04,0xc3,0x6b,0x30,0x1d,0x3e,0x3b,0x78,0xcd,0x0b,0x5e,0xa7,0x19,0x98,0x02,0x75,
0x13,0xd2,0x08,0xcc,0x83,0xb2,0x7a,0x43,0x66,0x0a,0xf8,0x12,0x70,0xfc,0xe1,0xa0,
0xfe,0x3f,0xe2,0xcd,0xd1,0x09,0x47,0x80,0x04,0x9c,0x58,0x97,0x99,0x02,0xbe,0x2c,
0xa6,0x88,0x96,0xae,0xd7,0xf4,0xd4,0x09,0x47,0x80,0x94,0xea,0x99,0x79,0x92,0xe9,
0xff,0x2f,0x87,0xb9,0x8e,0x38,0x03,0xaa,0xb3,0x26,0x14,0x01,0xfe,0xd6,0x70,0xb2,
0x93,0x66,0xfc,0xd5,0x02,0x78,0x35,0x50,0x66,0x60,0x2f,0x36,0x3e,0xa1,0x08,0xf0,
0x97,0x74,0x6f,0x41,0xb6,0x68,0x55,0x59,0x86,0x00,0x2f,0x8b,0x1c,0x20,0x89,0x9e,
0x38,0xa1,0x08,0xb0,0x5a,0x53,0xe7,0x56,0x42,0x56,0x28,0x23,0xdf,0x97,0x45,0xb1,
0x81,0xb9,0x42,0x6c,0x42,0x11,0x60,0x97,0x6a,0x45,0x3c,0x33,0x03,0x38,0xec,0x99,
0x40,0xad,0x61,0xc6,0x0d,0xf1,0xd9,0x66,0xc2,0x10,0x20,0x57,0xa8,0x9b,0x93,0x51,
0xff,0x87,0x8d,0x12,0x61,0x5a,0x14,0xa6,0x4c,0x08,0x02,0x7c,0x35,0x3e,0xd7,0x0c,
0xa8,0x9e,0x59,0xe3,0x64,0xfa,0xff,0xe1,0xa2,0x42,0x34,0xd4,0x62,0xd3,0xf3,0x26,
0x04,0x01,0x5e,0xd0,0x54,0x6d,0x1f,0x3a,0xbb,0x20,0x23,0xff,0xc3,0x46,0xb9,0x11,
0x3a,0xb0,0x0b,0x26,0x04,0x01,0xf6,0xaa,0xcd,0xa9,0x12,0x31,0x19,0x02,0x1c,0x3e,
0xaa,0x0c,0x4c,0xe5,0xd8,0xaf,0x16,0x7a,0x45,0x08,0xb0,0x5d,0x6d,0x6e,0x36,0x9a,
0x31,0x00,0x47,0x69,0x08,0xc6,0x8c,0x9e,0xf4,0x60,0xc3,0xc9,0x66,0xdc,0x13,0xa0,
0x44,0x88,0x14,0x66,0xc4,0x7f,0x58,0x50,0xfc,0x3c,0x83,0xa4,0x42,0xa1,0x10,0xfb,
0x53,0xba,0xe7,0x98,0xee,0x38,0xf6,0x8a,0x4c,0xcb,0x2d,0xf4,0x3c,0xa1,0xca,0x6f,
0x52,0xbe,0x93,0x03,0xfc,0x04,0x8c,0x14,0x7e,0x1a,0x54,0x12,0x3f,0x2c,0x1a,0x33,
0x90,0x2f,0x42,0xbb,0x2a,0xbb,0xad,0x3f,0x65,0x9c,0x6e,0x84,0x1c,0x81,0x4e,0x55,
0x7a,0xd5,0x67,0x6c,0x7e,0x90,0x08,0x32,0x58,0xa4,0xb9,0x4c,0x04,0x11,0x7f,0x19,
0x78,0x04,0xa1,0xcc,0xf8,0xe1,0xd5,0xed,0xaa,0x44,0xf0,0x97,0x81,0x1b,0xfc,0xd8,
0x7c,0x37,0x4a,0xa1,0x08,0xa5,0xc1,0x35,0x06,0xf0,0x73,0x04,0xa2,0xe2,0xaf,0xdd,
0xef,0xc5,0x5f,0xfa,0x95,0xc3,0x81,0x7b,0x2a,0x50,0x69,0x84,0x08,0xfe,0x6f,0xde,
0x15,0xe4,0x12,0x94,0x19,0xd9,0x9f,0x08,0xb2,0x2f,0xc8,0x11,0x98,0x61,0xfc,0x7b,
0xb5,0xa9,0xd2,0x61,0xfd,0xf3,0x7a,0x55,0x71,0xf1,0x23,0x7e,0x0a,0x3c,0xeb,0xc1,
0x0e,0x85,0x1a,0xe3,0xf7,0xf4,0xfe,0xa0,0x1e,0xc2,0x0e,0x0b,0xed,0x40,0x11,0xd0,
0x81,0xd2,0xa3,0xb2,0x7b,0xb1,0x23,0x7d,0xc7,0x52,0x36,0xaf,0x48,0xb7,0xfc,0x70,
0xac,0xa1,0xfc,0x29,0x9b,0x5e,0xd3,0x2c,0x94,0x9c,0x6f,0x0c,0x1e,0x7e,0xa2,0x86,
0xc1,0x2f,0xf8,0x10,0x06,0x72,0x11,0x5a,0x55,0xe9,0xc1,0xcf,0xa6,0xa9,0x0e,0x2a,
0x6e,0xb4,0xab,0xd2,0x87,0x52,0x22,0x42,0x19,0x42,0x12,0xbf,0xc1,0x1d,0x81,0x82,
0xe0,0x1a,0x3b,0x15,0x3c,0xfc,0x02,0x13,0x29,0x94,0xfe,0x80,0xd9,0xa5,0x08,0x16,
0xe8,0x41,0x49,0x02,0x79,0xf8,0x42,0xec,0x0d,0xfe,0x0f,0xe3,0x27,0x75,0x0c,0x04,
0x3d,0x2f,0x1f,0x21,0x5b,0xa0,0x5f,0x7d,0x22,0x64,0x03,0x95,0x22,0xb8,0xf8,0x75,
0x07,0xfa,0xf0,0x09,0x5c,0x26,0x42,0xa7,0x42,0x17,0x7e,0xed,0x80,0x72,0x11,0x8a,
0x11,0x3a,0x50,0x5a,0x55,0x49,0x01,0x65,0x43,0xee,0x15,0xc5,0xcf,0x3d,0x18,0x24,
0x70,0x85,0x40,0x89,0x08,0xfd,0x0a,0xfd,0x28,0xc5,0x22,0xa4,0x82,0xdf,0x1c,0x0e,
0x5e,0xff,0x65,0x2d,0x0f,0xab,0xb9,0xfa,0xff,0x6d,0xde,0xf8,0xbd,0x71,0x4f,0x00,
0x80,0x0f,0xd4,0x34,0x9c,0xde,0xaa,0xe9,0x87,0xae,0x0f,0x39,0xe1,0x9c,0x8c,0x9a,
0x7f,0xc9,0x86,0x4f,0x02,0xdf,0xf4,0xbc,0xce,0x12,0x89,0xc4,0x7e,0xbc,0x69,0x5d,
0xe7,0x84,0x20,0x00,0xc0,0x79,0x35,0xb5,0x5f,0x2b,0xc6,0x5e,0xff,0x16,0x63,0xf6,
0xa7,0x76,0x25,0xf1,0x55,0x37,0x40,0x44,0x84,0x54,0xf0,0x3e,0x14,0xf4,0xaa,0x3c,
0x39,0xd8,0x30,0x1a,0xcc,0xc9,0xd3,0xe0,0x7d,0x28,0x50,0xcb,0xfd,0x41,0xfe,0x5e,
0xae,0x1c,0x78,0xa8,0xae,0xa0,0xd7,0x3a,0x81,0x86,0x09,0x07,0xdf,0x4d,0xa1,0xd8,
0xe0,0xfc,0x81,0x40,0x5d,0x83,0x9f,0x1e,0x56,0x1c,0x9c,0xdd,0x8f,0xdf,0x93,0x0b,
0x83,0xf3,0x04,0xbf,0xc7,0x0f,0x6a,0x81,0x1c,0x84,0x04,0x4a,0x77,0xf0,0x5b,0x34,
0xd0,0x08,0x9b,0x54,0xd9,0x12,0xdc,0xb3,0x34,0x78,0xed,0x0b,0xce,0xcf,0x02,0xba,
0x21,0xb1,0x17,0xd2,0x11,0xc8,0xaa,0x42,0xd2,0x69,0x34,0x6c,0x40,0xf2,0x91,0x90,
0x87,0x32,0x00,0xde,0x5e,0xb0,0x49,0xcc,0xed,0xf7,0x6e,0x7e,0xe1,0x7d,0xc7,0x5a,
0x26,0xaf,0xa8,0x6b,0x7e,0xba,0x38,0xdf,0x7e,0x5e,0xb5,0xf4,0xdb,0x56,0x9b,0xf6,
0xaa,0x6e,0x73,0x40,0x8b,0x44,0xda,0xf2,0x91,0xcd,0x16,0x8a,0xf7,0x59,0x8d,0x47,
0x84,0x7e,0x81,0xed,0x46,0x35,0xd6,0xa6,0xf6,0x42,0x07,0xcd,0x79,0x9b,0x23,0x3c,
0xe0,0xf9,0x8d,0x1d,0x0e,0x86,0x0d,0x1b,0xbc,0x8f,0x06,0x0d,0x9c,0x00,0x9a,0x05,
0x16,0x18,0x21,0x3b,0xf8,0xfc,0x61,0xab,0x6c,0x0e,0xc6,0x70,0x3b,0xa4,0xe7,0x0d,
0xfe,0xe9,0x30,0x2b,0x58,0xf1,0xd3,0xb3,0x06,0xad,0xe3,0xc1,0xaa,0x4d,0x83,0x29,
0x6a,0xde,0x90,0x63,0x83,0x04,0x5a,0x1e,0x16,0xb2,0x83,0x7d,0x8e,0x1e,0x71,0x95,
0x87,0x86,0x15,0x8d,0xcc,0x05,0x2e,0x71,0x84,0x87,0xac,0xf9,0xf2,0x74,0x71,0x7e,
0x17,0x17,0x67,0x47,0x1c,0x92,0x59,0x98,0xc2,0x76,0xf5,0x3a,0x8b,0xc4,0x14,0x76,
0x63,0xc3,0x5d,0xd6,0x16,0xf7,0xa0,0xcc,0x33,0xe1,0xde,0xe9,0x90,0xcc,0x42,0x76,
0xde,0xfb,0x0a,0xc8,0xe4,0xb8,0x36,0xcd,0x97,0xd6,0xc4,0xff,0xa3,0x4b,0xed,0xa7,
0x97,0x18,0xe1,0xcf,0xd6,0xef,0x91,0x2f,0x85,0x5a,0x81,0xb8,0xf8,0xda,0xa0,0x15,
0x3f,0xb9,0x74,0x6f,0x30,0xce,0xe7,0x06,0x63,0xef,0x7c,0xf1,0xc7,0x79,0x37,0x38,
0x5e,0x16,0x14,0xa3,0x8a,0x06,0xc6,0xe8,0x14,0xf1,0x13,0x48,0x07,0xd3,0xb6,0xfa,
0x82,0x8d,0xa3,0xfa,0x81,0xfc,0xe0,0x7b,0x7b,0x03,0xa3,0x6f,0x20,0x30,0x34,0x53,
0x08,0x85,0x28,0x6b,0x15,0x76,0x05,0xbf,0xe5,0xf5,0xc6,0x37,0x34,0x4b,0x80,0x5a,
0x03,0x3f,0x77,0x9d,0x0f,0xdc,0xb5,0x79,0xe3,0x4f,0x8f,0xb7,0x36,0x3e,0xae,0x83,
0x73,0x11,0xa4,0x7b,0x71,0x50,0x78,0x41,0x81,0x06,0x11,0xe6,0x8b,0xbf,0x15,0x4c,
0x8d,0x81,0x28,0x12,0x64,0xff,0xea,0xfe,0xca,0x5f,0x4d,0xc6,0x1f,0x06,0x0c,0x7e,
0xe5,0xb0,0x6c,0xfc,0x6a,0x61,0xe1,0x40,0xa0,0x91,0x11,0xc6,0xe3,0x23,0xe9,0x39,
0x1e,0x42,0x52,0xa1,0x47,0x85,0xbe,0xe0,0x62,0x46,0x60,0x7a,0x60,0xe1,0x7b,0xc0,
0x63,0xae,0x92,0x40,0xe3,0xc7,0x63,0x1b,0x1f,0xd7,0x04,0x28,0x41,0xbc,0x0d,0xaa,
0x7c,0x2e,0x62,0xb8,0x3a,0x98,0x0e,0x1e,0xa9,0x22,0x3b,0x5a,0x8b,0xd2,0x87,0x16,
0x93,0xca,0x96,0x03,0xc9,0x9d,0xc3,0xbf,0x63,0xd8,0xbf,0xbe,0x21,0x71,0x3c,0xb6,
0xf1,0x71,0x1d,0x9f,0xdb,0xae,0x76,0xc3,0x52,0x23,0xd4,0x39,0x90,0x33,0x8e,0xfd,
0x48,0x03,0x0a,0x69,0xb4,0x34,0x43,0x80,0x51,0x22,0x5f,0xa4,0xb9,0x62,0x02,0x84,
0x90,0x0b,0x04,0xfa,0x54,0x4b,0x32,0x43,0xc0,0x28,0x91,0x82,0x19,0x09,0x1d,0xff,
0x04,0x10,0x84,0x5c,0xd9,0xbf,0xd5,0x60,0x46,0x03,0x1c,0x2e,0x72,0x60,0x5b,0xf2,
0x15,0x15,0xd4,0xb1,0x41,0xb7,0x2a,0x82,0x24,0x33,0x1a,0x60,0xf4,0xec,0x8c,0xe6,
0x0d,0xf9,0xdf,0xe2,0x4f,0xd1,0xfa,0x82,0x38,0x80,0x09,0x1c,0x49,0x83,0xdb,0xb6,
0x16,0x89,0xbf,0xda,0x68,0x70,0xde,0x3e,0x28,0xd0,0xfe,0x60,0xf1,0x67,0x6f,0xf0,
0xda,0xa6,0x4a,0x4f,0x70,0x8d,0x1e,0xf5,0x37,0x71,0x1c,0x08,0x1c,0x49,0xd9,0xf8,
0xf1,0x89,0xc1,0x65,0x63,0x04,0xfe,0x86,0x24,0xfe,0x7a,0xc3,0x28,0x42,0x34,0x70,
0x28,0xf9,0xbf,0xc1,0x77,0x4d,0xbb,0x1c,0x70,0x6f,0x97,0x88,0xf8,0xeb,0x0e,0x0d,
0x94,0x1b,0xff,0xf7,0xed,0x56,0x6f,0x7a,0x86,0x00,0xa3,0x84,0x83,0xd0,0x85,0xbf,
0x17,0xf0,0x5a,0x4f,0xc9,0x17,0xdf,0x7d,0x13,0x0e,0xa6,0x76,0xd1,0x21,0x02,0x4e,
0x06,0xaf,0x03,0x08,0x03,0xaa,0x74,0xe1,0x13,0x25,0x15,0x78,0x04,0xeb,0x8d,0xd0,
0x60,0xa0,0xca,0x08,0x73,0x8c,0xef,0x0b,0x88,0x0e,0x71,0xf2,0x0c,0x12,0xa7,0xcd,
0xc2,0x56,0xeb,0x07,0x95,0xf2,0xe5,0xc0,0x82,0x54,0xc3,0x8b,0xab,0x87,0x47,0x00,
0x47,0x04,0xab,0xd0,0xa9,0xbe,0x7f,0x20,0x1a,0x38,0xa5,0xfa,0x55,0x79,0xcc,0x85,
0xf3,0x22,0xc2,0x74,0x23,0x94,0x89,0x44,0xd7,0x64,0x08,0x30,0xea,0x59,0xc0,0x66,
0x57,0xa1,0xc9,0xf1,0x17,0x58,0x1e,0xbe,0xa2,0xf6,0xbf,0x93,0x54,0x68,0x53,0x5f,
0xe8,0x87,0xbb,0xfe,0xb0,0xd2,0xf8,0x11,0xbc,0xd1,0x8e,0x1d,0x95,0x02,0x95,0x87,
0x18,0x50,0x5c,0x60,0x40,0x35,0x95,0xd1,0x00,0xa3,0x44,0xb9,0x48,0x56,0xbe,0x8c,
0xdd,0x0a,0x8c,0x0a,0x4c,0x3b,0x0e,0xa6,0x8f,0x03,0x0a,0x21,0xa4,0x27,0x63,0x04,
0x8e,0x12,0x85,0x98,0xfc,0x3e,0xc6,0x3f,0xfa,0x54,0xc9,0x17,0x66,0x65,0x08,0x30,
0x4a,0x78,0xe8,0xd6,0x89,0x30,0x0d,0x9c,0xee,0x08,0x49,0xc6,0xb4,0xc9,0xf8,0xe4,
0x26,0xc0,0x56,0xb5,0x1d,0x25,0x13,0x20,0x93,0x2c,0x17,0xc8,0x42,0xa2,0x19,0x02,
0x8c,0x12,0x09,0x54,0xfa,0x27,0x80,0x06,0x40,0xa0,0x57,0xb5,0x33,0x43,0x80,0xd1,
0xda,0x00,0x22,0x25,0xad,0xfa,0xaa,0xcb,0xee,0xa0,0xf7,0x63,0xaa,0x00,0xa6,0x60,
0x84,0xc6,0xcc,0x2c,0xe0,0x25,0xf0,0xbd,0xda,0x79,0xe1,0xab,0x5e,0x58,0x79,0xd0,
0x6e,0x2c,0x09,0xd5,0x8e,0xd2,0x21,0x14,0x75,0xf1,0x2b,0x77,0x25,0xf1,0x1d,0x3a,
0x89,0x60,0x23,0xa7,0xa4,0xfa,0x02,0x49,0x0c,0x61,0xb5,0xa2,0xc3,0x12,0x40,0x04,
0x8f,0x03,0x49,0xa9,0x83,0x89,0x1e,0x05,0x72,0x20,0xd0,0x94,0xc0,0x4f,0xf8,0xdc,
0x63,0x83,0xc2,0x52,0xc1,0xb5,0xc3,0x1c,0xd8,0x6f,0x28,0x14,0x9c,0x5b,0x20,0x50,
0x28,0x82,0x45,0xc9,0xc6,0x0f,0xff,0x4e,0x11,0x7f,0xe3,0xaa,0xb0,0xc0,0xbd,0x69,
0x65,0xa6,0x11,0x4e,0x0d,0xf9,0xb3,0x11,0x0b,0xd9,0xcf,0x34,0x9d,0xe6,0x2c,0x58,
0xfb,0xa8,0x97,0x21,0xc0,0x30,0x9c,0x57,0x53,0xf7,0xa6,0xbb,0xbd,0xbe,0xcb,0x81,
0x0b,0x87,0x1e,0xcf,0x11,0x53,0xfa,0x80,0xf5,0xa8,0x49,0xfb,0x3b,0x77,0xa5,0xf0,
0xd3,0xaa,0xb2,0xc5,0xf7,0xd8,0x95,0x1a,0x5f,0xd8,0x61,0x82,0x74,0x31,0x19,0x5a,
0x60,0x4a,0x0e,0xca,0xbd,0xb3,0x01,0x79,0xbc,0xe0,0xfd,0xc0,0x90,0x12,0x71,0xeb,
0x3c,0xa5,0xcd,0x42,0xdc,0x81,0x0a,0x11,0xea,0x43,0x7e,0x06,0x6f,0x78,0xc8,0x16,
0x33,0x2e,0x07,0xca,0xcf,0x0d,0xdd,0x56,0x4e,0x11,0x3a,0xac,0x5f,0xdc,0x69,0xbb,
0x55,0xd6,0x05,0x04,0x2d,0x97,0x03,0x59,0x48,0x00,0x69,0x34,0xfb,0x19,0x2f,0x31,
0x98,0x22,0x90,0x21,0xc0,0x20,0x2e,0x8b,0x37,0x86,0xd6,0xdb,0xf4,0xf2,0x06,0x71,
0x3e,0x3c,0xfc,0x33,0x17,0x76,0x2e,0x12,0x61,0x49,0xf8,0xe8,0x8c,0x75,0xa1,0x21,
0x7a,0x7b,0x68,0xae,0x61,0xc3,0x4b,0xac,0x59,0x1c,0x14,0xa0,0x13,0x08,0x7c,0x44,
0x7f,0x45,0xe0,0xf2,0x3d,0xd4,0xc0,0x10,0x11,0xc8,0x87,0xfc,0x7b,0xdc,0xbe,0xc1,
0xea,0x71,0x07,0xe1,0xd6,0xf8,0x5c,0xd9,0xa2,0xee,0xcc,0xff,0xdc,0xb4,0x66,0xf3,
0xa4,0xb3,0x01,0x92,0xd6,0x2e,0xcb,0x86,0xae,0xff,0xbb,0x69,0xc3,0x33,0xc3,0x3f,
0xcb,0x46,0x12,0x13,0x61,0x3d,0x69,0x18,0x98,0x2a,0x92,0x2a,0x17,0x33,0x62,0xef,
0x7f,0x5c,0x93,0xf3,0x57,0x69,0xea,0xfa,0x49,0x69,0x04,0x76,0x62,0x2f,0x2c,0xc5,
0x7c,0x7f,0xa4,0xcf,0x0a,0x90,0x81,0xbe,0x11,0x8c,0xc0,0x75,0xde,0xc8,0x5b,0xb7,
0x1d,0xaf,0xb0,0xf8,0xf1,0x88,0xa8,0x8e,0x5c,0x20,0xa9,0x4d,0xbd,0xeb,0xeb,0x24,
0xf4,0xed,0x49,0x47,0x80,0x6f,0xd5,0xce,0xc9,0xed,0x55,0x7d,0x43,0xcc,0x84,0xff,
0x31,0xf4,0xf8,0xcd,0xf1,0xe6,0xa2,0x2f,0xc7,0x67,0x67,0x57,0x8a,0xd3,0xeb,0x0c,
0xcb,0xe2,0xb2,0xc0,0x46,0xef,0xc0,0x0e,0x9f,0x43,0x31,0x70,0x8c,0x67,0x0c,0x1b,
0x3d,0xbf,0xbc,0xec,0x58,0x66,0x12,0x59,0x90,0x37,0x45,0xa4,0x1a,0xe0,0xdf,0xe2,
0xb3,0x6a,0x06,0x3f,0x7b,0x57,0x4d,0xfd,0x09,0x69,0xb4,0x72,0x96,0x13,0xd9,0x38,
0x61,0x09,0xf0,0xad,0xf8,0x9c,0xec,0xaf,0xc4,0x9b,0xf3,0x86,0x1f,0x7f,0xcc,0x4b,
0x9e,0x85,0xb0,0xed,0xbd,0x91,0x92,0x8e,0x21,0xc2,0x8f,0x3c,0x64,0x07,0x7e,0xdf,
0xae,0x5e,0xf5,0x2e,0xf5,0x4a,0xbc,0x61,0x03,0xeb,0x0e,0x0b,0x25,0x23,0xfc,0xea,
0x94,0xc2,0x93,0xc7,0xd8,0xd7,0xd6,0x62,0x7d,0xc3,0x70,0x38,0xb6,0xdb,0x97,0x27,
0x40,0x81,0xa8,0x18,0x08,0x7f,0xa0,0xa6,0x61,0xfe,0x6a,0x9b,0xfe,0xdc,0xd7,0xe3,
0xcd,0x02,0xb0,0x0d,0xef,0xf3,0x85,0x98,0x9f,0x7d,0x68,0xe3,0x73,0x3a,0x61,0x09,
0xf0,0x84,0x4d,0x9e,0x7d,0xbf,0x1d,0xf8,0x9f,0x5b,0xeb,0x0e,0x2e,0x14,0xbf,0x1b,
0xef,0xfc,0x2c,0x58,0x39,0x67,0xed,0x23,0xfb,0x1f,0xfe,0x49,0x9b,0xfc,0x60,0x12,
0x9e,0xfb,0xd6,0xa6,0x75,0x2f,0x74,0x62,0xc3,0xc3,0x93,0x2d,0xff,0xe9,0x2a,0x33,
0x47,0xf8,0xd5,0x8f,0xb9,0x30,0xff,0x30,0x4c,0xda,0x91,0x42,0x72,0xdd,0x0a,0x2d,
0x2f,0x63,0x9b,0x77,0x28,0x23,0xee,0x10,0xbe,0xdb,0x1e,0x9e,0x8f,0x57,0x10,0x75,
0x81,0x56,0xbc,0x6f,0xc6,0x24,0xf4,0xf9,0x4f,0xb6,0xac,0xd2,0xcb,0x62,0xf5,0x27,
0xaa,0xd2,0x7c,0x82,0x89,0xde,0x39,0xf4,0xbb,0xcb,0xe3,0xb3,0xa7,0x4c,0x28,0x02,
0x54,0x1b,0xe7,0xef,0x9d,0xaa,0x27,0x3f,0xe1,0x25,0xf7,0x6f,0x8a,0xf4,0x6c,0xd3,
0xe9,0x92,0x50,0x3d,0x35,0x07,0xf3,0xe8,0xe0,0xb1,0x8f,0xc4,0x1a,0x6a,0x76,0xab,
0xfd,0xe4,0x09,0x12,0xf9,0x4a,0xa0,0xee,0xa3,0xa9,0x21,0x6d,0xfe,0x8c,0x0b,0x3f,
0x73,0xfd,0x22,0xcb,0xc3,0x85,0x93,0x06,0x0e,0x67,0x27,0xd2,0xfb,0x52,0xfa,0x22,
0x2b,0xff,0xaf,0x69,0x65,0x9a,0x73,0x60,0x88,0x19,0x44,0xeb,0x90,0x7f,0x56,0xb9,
0x4a,0xcd,0x08,0x61,0xe2,0x8d,0x96,0xfd,0x84,0xb4,0x01,0x11,0x47,0x42,0x11,0xf0,
0x88,0x4d,0xfe,0x7b,0x08,0xfe,0xf0,0x8d,0x4d,0x6b,0x77,0x7d,0xbe,0x76,0xb6,0xac,
0xb3,0xde,0xbf,0x45,0x44,0xfe,0xeb,0x73,0x2d,0xab,0x06,0x00,0xae,0xaf,0x6d,0x96,
0xcb,0x63,0xf5,0x57,0xb7,0xab,0xbb,0x74,0xe8,0xb9,0x9f,0x8c,0x35,0xbd,0xee,0xbb,
0xb5,0xf3,0xc2,0xe3,0x96,0x00,0xb7,0xb4,0xac,0xed,0x2a,0x14,0x79,0xa8,0x55,0xbd,
0xb7,0x0f,0x1e,0xbb,0x33,0xd5,0x99,0x67,0xa1,0x26,0x1f,0xd9,0x07,0xf0,0x9d,0xda,
0xb9,0xce,0x2a,0xeb,0xde,0x9a,0x2f,0xf2,0xfb,0x6f,0x6f,0x5a,0xbb,0x13,0x20,0x17,
0xc9,0xed,0xc5,0x5f,0xa1,0xfb,0x84,0x0b,0x3f,0x4c,0xdb,0xfd,0x59,0x37,0x43,0x6d,
0x82,0xfb,0xd2,0xca,0xe2,0x11,0x7a,0x7f,0xfb,0x30,0xd5,0xbc,0x6f,0x84,0xdc,0xec,
0x75,0x1e,0xcc,0x30,0xfe,0x10,0xf2,0x94,0x7b,0x60,0x92,0xbe,0xc2,0x3d,0xe0,0x20,
0x12,0x60,0x85,0x07,0x53,0x86,0xb5,0xd6,0x4e,0x0b,0x7f,0x77,0xf5,0xa0,0x14,0xf1,
0xe1,0x46,0xab,0x87,0x9f,0x89,0xb4,0x55,0x71,0xf6,0xaa,0x5d,0xb8,0xc8,0xc9,0xfa,
0x09,0xc0,0x5a,0x2f,0xdd,0x9c,0x42,0x17,0x37,0x4a,0xf8,0x36,0x80,0xef,0xd6,0xce,
0x71,0x5a,0xbc,0xe4,0x75,0x9d,0xaa,0x2b,0x6f,0xdd,0xb4,0xfe,0xb7,0xfb,0xa7,0xc9,
0x35,0xf5,0xef,0x48,0xa0,0xee,0xd5,0xc3,0x9c,0x64,0xc7,0x85,0x1f,0xe0,0x6b,0xb5,
0x73,0x4c,0xa5,0x89,0xe4,0x3c,0xe2,0xf6,0x15,0x6f,0x53,0x2f,0x5a,0x08,0x53,0x13,
0xd0,0xd8,0xae,0xb6,0xe2,0x24,0x13,0xf9,0x5d,0x27,0x5e,0x59,0x4a,0x75,0xb6,0x83,
0xb4,0xed,0xc6,0xf6,0xb5,0xa9,0x7d,0xc7,0x47,0x63,0x8d,0x3f,0xa8,0x96,0xd0,0xbe,
0xf5,0x9a,0xae,0x4d,0x40,0x64,0x27,0xde,0x65,0x67,0xd7,0xd4,0x36,0xfc,0xce,0xeb,
0x3b,0x7f,0x37,0xf6,0xb5,0x75,0x38,0x7d,0xef,0xab,0xa9,0xff,0xe5,0x1e,0x6c,0xe7,
0x3e,0xec,0xbc,0x17,0x2c,0xdc,0x91,0x52,0x5a,0x14,0x2e,0x0a,0x09,0xdf,0x19,0x66,
0x85,0x3d,0x98,0x56,0x1a,0xcc,0xc1,0x9b,0x50,0x03,0x6c,0xb3,0xd0,0x61,0x0f,0x16,
0xda,0x2a,0x57,0x29,0x1e,0xf2,0xbd,0x3e,0x85,0xef,0xa4,0x2c,0x27,0x1a,0x7f,0x69,
0xd7,0x89,0x21,0x5f,0xd8,0x6b,0x3d,0x68,0x55,0xe5,0x44,0xf1,0x57,0x17,0x0f,0xee,
0x42,0x1e,0x1e,0xe2,0x17,0xb0,0xc0,0x7f,0xa7,0x95,0xd3,0x9c,0x03,0xbb,0x9e,0x77,
0x29,0xfb,0xf7,0x0f,0x6c,0xb3,0xbe,0x76,0xd8,0x63,0x95,0x9b,0x5d,0x7f,0x15,0x71,
0x1e,0xd2,0xf3,0x67,0x6f,0xe0,0xfa,0x85,0x33,0x63,0x85,0xdb,0xd5,0x5d,0xea,0x42,
0x76,0xb9,0x98,0xac,0xab,0x63,0x4d,0xde,0x83,0x5e,0xe2,0x46,0x81,0xfb,0xee,0xdc,
0xbc,0xf1,0xe1,0x1f,0xd6,0xcd,0x97,0xc7,0xdc,0x81,0xf9,0x1d,0xd8,0xcb,0xf2,0xc5,
0xfc,0xe1,0x7b,0x9b,0xd6,0x3d,0x74,0xac,0x3a,0xe7,0x11,0xcd,0xb2,0xdf,0x5e,0x53,
0xf7,0x85,0x1d,0x6a,0xdf,0x36,0x80,0xc6,0xfa,0xd1,0x1c,0x3b,0xa4,0x73,0x86,0xc1,
0xb5,0xe0,0x28,0x58,0x0f,0x6c,0x14,0x92,0x02,0x39,0x1e,0x58,0xe3,0x1f,0x0b,0x79,
0xc3,0x34,0xd0,0x14,0xa4,0xbd,0x41,0x42,0xdf,0xeb,0x43,0x23,0xd9,0xc8,0x36,0x0b,
0x95,0x1b,0xd5,0x5d,0x62,0xd1,0x8a,0xe9,0x22,0xb7,0x38,0xd0,0xd5,0x0d,0xcb,0xde,
0xe1,0x70,0xe5,0x79,0x11,0x71,0x36,0x7a,0x70,0x45,0xd2,0xf2,0xa9,0xb0,0xb0,0x2c,
0x2c,0x78,0x41,0x5a,0xd6,0x56,0xab,0xfc,0x20,0xad,0x14,0x00,0xf3,0x8c,0x30,0xc7,
0x40,0xb1,0x11,0x7e,0x9d,0x56,0x7a,0x55,0x39,0xc3,0x91,0xfd,0xb5,0xfc,0x73,0x81,
0xb7,0x44,0xfc,0xf4,0x2f,0x0b,0xfc,0x33,0xed,0xe7,0x16,0xce,0x09,0xf9,0x56,0xff,
0x5f,0x5c,0xe5,0x75,0x21,0xe1,0xf6,0xb4,0x72,0x45,0xc4,0xdf,0x85,0xbc,0x57,0x95,
0xff,0xf5,0xe0,0x51,0xeb,0x2f,0x32,0x5d,0x1e,0x35,0x84,0x80,0x9f,0xa7,0x94,0xf9,
0x06,0xd6,0x58,0xf8,0xa3,0x55,0x4e,0x37,0x82,0x2a,0x6c,0x45,0xd8,0xac,0x96,0x2a,
0xcc,0x33,0x56,0x78,0xb0,0x1a,0xb3,0xa1,0x58,0x24,0xd1,0xa5,0xf4,0x57,0x89,0x79,
0x66,0xbd,0xba,0xb7,0x56,0x8b,0xf3,0xc9,0x34,0x6a,0x76,0xa8,0x7d,0xc7,0x80,0xea,
0x6b,0x3a,0xb1,0x27,0xcd,0x97,0xf0,0xb5,0x53,0x8c,0x73,0x5b,0x1e,0x12,0x59,0x65,
0xd3,0xef,0xf4,0xd0,0x33,0xe6,0x9b,0xe8,0x75,0x49,0xb5,0x39,0x16,0x0a,0x5f,0x50,
0xb7,0xfa,0x9c,0x50,0xce,0x83,0x1f,0xd9,0xb8,0xd2,0x7b,0x55,0x08,0x30,0x84,0x08,
0xe7,0x09,0xbc,0x6e,0x00,0xdd,0x99,0x44,0x37,0x38,0x88,0x11,0xc8,0x4e,0xc3,0xe6,
0x66,0x09,0xb5,0xfc,0xc9,0x26,0xfb,0x66,0x4b,0xc8,0xad,0x10,0x33,0x73,0x8b,0x7a,
0xd7,0x6c,0x57,0x1b,0xab,0x13,0xb3,0x03,0x58,0xd3,0x0f,0xeb,0x04,0x72,0x42,0xf0,
0xc6,0x14,0x3a,0x7f,0xa1,0x89,0xbc,0xbd,0x53,0x35,0xbd,0x56,0xd3,0xd1,0x72,0x4c,
0xdd,0x56,0xf5,0x3e,0x5b,0x24,0xb4,0x16,0x61,0xee,0xcd,0x12,0xb2,0x7a,0x95,0x3c,
0x45,0x2f,0x5f,0x64,0x08,0x3f,0x69,0x79,0xd6,0x43,0x6c,0x0a,0x7b,0x4a,0xbf,0x6a,
0x55,0x3f,0xb0,0x2f,0x50,0xc5,0x73,0xc5,0xa1,0x43,0x2d,0xdb,0x83,0x3e,0xfb,0x16,
0x23,0x4c,0x37,0xf0,0x7d,0x57,0x55,0xc1,0xde,0x14,0x36,0x54,0x1b,0xe8,0xb0,0xea,
0x74,0x2b,0x74,0x03,0x7d,0xea,0x90,0x43,0x84,0xa9,0x06,0xee,0x76,0x07,0xc8,0x95,
0x30,0x27,0x99,0x28,0x4f,0x78,0x09,0x1e,0xd0,0x34,0xb3,0xc4,0xa1,0x04,0x61,0x83,
0x7a,0x9a,0x42,0xe5,0xfd,0x21,0xe1,0x51,0x4f,0x79,0x3a,0x18,0x5a,0x86,0x6e,0x66,
0x31,0x68,0x62,0xcc,0x10,0x93,0xbe,0x26,0x54,0xc0,0x37,0xdd,0x6e,0xc9,0x46,0xbe,
0xbf,0x53,0xad,0x71,0xa0,0xa2,0x50,0x24,0xd7,0x55,0xa6,0x76,0xa3,0x8d,0x29,0x34,
0xab,0x51,0x9c,0xae,0xb5,0xea,0x15,0xd6,0x89,0xf3,0x60,0x19,0x66,0x5b,0x8b,0x7a,
0x03,0xf9,0x22,0xd1,0x62,0xcc,0x33,0xfd,0xe8,0xeb,0x77,0xaa,0x37,0x33,0x26,0xa1,
0x3f,0x14,0x8a,0xd9,0xb2,0x49,0x5d,0x9d,0x26,0xce,0xda,0x4a,0x9c,0x9e,0x98,0x13,
0x59,0x75,0xc5,0xc6,0x67,0xed,0xab,0x4a,0x80,0x23,0xc1,0x45,0x35,0x75,0x97,0xed,
0x56,0xfb,0xa1,0x5c,0x91,0xee,0x24,0xba,0x23,0xed,0xdb,0x5e,0x89,0x32,0xcc,0xae,
0x5e,0xec,0x9b,0xfa,0x55,0x4f,0x38,0xc7,0xc9,0x7e,0xbd,0x03,0x3d,0xbb,0xd4,0x6b,
0x68,0x55,0x3b,0x25,0x1b,0x66,0x26,0xa1,0x20,0x0c,0xe9,0x14,0x9a,0x56,0x68,0xdb,
0xa5,0xde,0xe7,0x5c,0xc8,0xcf,0x11,0xd9,0xdc,0xa3,0x9a,0x5b,0x2e,0xa6,0xab,0x4d,
0x6d,0x73,0x96,0xc8,0xee,0x42,0xe4,0xdb,0xd3,0xc4,0x59,0xf7,0xa8,0x4d,0xf5,0x54,
0x89,0x93,0xe8,0x85,0xbe,0x1a,0x71,0x28,0xc3,0xb0,0x5a,0xd3,0xdf,0xef,0x43,0x67,
0xa8,0x92,0x7a,0x83,0x13,0xed,0x57,0x48,0xf6,0xab,0x76,0xad,0xd6,0xf4,0xc0,0x00,
0xba,0x25,0x07,0x71,0x53,0xb0,0x3b,0x81,0x4a,0x16,0xd2,0x33,0x53,0xcc,0x86,0x76,
0xd5,0x54,0x01,0xd2,0x28,0x60,0x14,0xbf,0x00,0x85,0x0b,0x4e,0x2e,0xb2,0xcf,0x40,
0xe1,0x16,0xbc,0x79,0x29,0xa5,0xb5,0x52,0xcc,0x5f,0xea,0x24,0xb4,0x43,0x85,0x92,
0x9d,0xd6,0x3b,0xa7,0x0d,0xbb,0x70,0xb7,0xda,0x77,0x26,0xd0,0x70,0x0e,0x32,0x10,
0x82,0x0d,0x11,0x08,0x17,0x88,0xe9,0x7e,0x8d,0x89,0xec,0xfe,0x93,0x4d,0x6e,0x2b,
0xc1,0xb4,0x2a,0xba,0xa7,0x04,0xd3,0xb9,0x0f,0xbb,0xa5,0x4a,0x42,0x3b,0x16,0x99,
0x48,0xfb,0x74,0x89,0x24,0xcf,0xdd,0xb8,0x42,0x8f,0xab,0x21,0xe0,0x58,0xe3,0xda,
0x58,0x53,0xf5,0x4a,0x4d,0x9d,0x3b,0x43,0x9c,0xa9,0x49,0xd5,0xfe,0x36,0xb4,0x2d,
0x1f,0xd9,0x5c,0x6f,0x22,0x2b,0x43,0xd0,0x75,0x73,0xcb,0xea,0xfd,0xaa,0xef,0x92,
0x9a,0xfa,0xe6,0xd9,0x26,0xbc,0xfd,0xc6,0x96,0xd5,0x5d,0x83,0xc7,0x7e,0x58,0x3b,
0x37,0x6f,0x93,0xba,0x89,0xaf,0xb4,0xac,0x79,0xd5,0xb2,0x71,0xae,0x8b,0x35,0xcd,
0xfc,0x97,0xa6,0x6e,0x29,0x44,0x9e,0xcf,0x47,0xfe,0x79,0x82,0x44,0xda,0xd7,0x69,
0xba,0xb4,0x50,0xcc,0xea,0xef,0x6d,0x5a,0xb7,0x9b,0x0c,0x32,0xc8,0x20,0x83,0x0c,
0x32,0x78,0x75,0xf0,0xff,0x01,0x5b,0x91,0x2c,0x0a,0x3a,0x9c,0x57,0x84,0x00,0x00,
0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82};
@@ -1,108 +0,0 @@
// Created with image_to_c
// https://github.com/bitbank2/image_to_c
//
// snoopy_128x128_4b
// Data size = 1512 bytes
//
// PNG, Compression=Flate, Size: 128 x 128, 8-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t snoopy_128x128_4b[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x08,0x03,0x00,0x00,0x00,0xf4,0xe0,0x91,
0xf9,0x00,0x00,0x00,0x33,0x50,0x4c,0x54,0x45,0xd1,0x4c,0x7b,0x28,0x1f,0x1f,0x40,
0x20,0x21,0x58,0x20,0x21,0x70,0x21,0x21,0x8c,0x21,0x21,0xa5,0x22,0x22,0x4a,0x3f,
0x3f,0xb7,0x23,0x21,0xce,0x24,0x21,0xeb,0x25,0x1f,0x74,0x6a,0x6a,0x94,0x8e,0x8d,
0xaf,0xaa,0xa8,0xc4,0xbf,0xbe,0xd4,0xcf,0xce,0xfc,0xfe,0xfa,0xad,0x80,0x28,0x23,
0x00,0x00,0x00,0x01,0x74,0x52,0x4e,0x53,0x00,0x40,0xe6,0xd8,0x66,0x00,0x00,0x05,
0x63,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9b,0x89,0x7a,0x9b,0x30,0x0c,0x80,0x6b,
0xf9,0x40,0x8e,0x01,0xe7,0xfd,0x9f,0x76,0x92,0x8c,0x49,0xb8,0xda,0x02,0x06,0x77,
0x5b,0xb5,0x24,0x1f,0x09,0x19,0xfa,0x2d,0xeb,0xb2,0x49,0x3f,0x3e,0x7e,0xe5,0x57,
0xfe,0x29,0x81,0xd0,0x86,0xaa,0x00,0xaa,0x09,0x7d,0x4d,0x02,0x50,0x4a,0x75,0xb5,
0x01,0x1a,0xa8,0xe9,0x01,0x7d,0xec,0x43,0x3d,0x80,0x26,0x3e,0x45,0x5a,0xa8,0xab,
0xff,0xf9,0xec,0x55,0x15,0xfb,0x8f,0xfa,0xc9,0x06,0x35,0x00,0xc2,0x4b,0xff,0x33,
0xd6,0x98,0x84,0xfe,0x0d,0xe0,0xd9,0x54,0x98,0x81,0x77,0xfd,0x35,0xe6,0xa0,0x99,
0x00,0x74,0x50,0xd5,0x05,0xaa,0xc4,0x41,0xfb,0x9f,0x00,0x00,0x6c,0x4d,0x6e,0x77,
0x0b,0x00,0x84,0x18,0x37,0x12,0x6d,0x3f,0x05,0xb8,0xc6,0x09,0x41,0x86,0xb9,0x5e,
0xee,0xee,0x00,0x80,0x94,0xed,0x43,0xf3,0x45,0x22,0xbe,0x6c,0x0a,0x9a,0x18,0x59,
0xcd,0x7a,0xd3,0x35,0x05,0xb8,0x24,0x17,0xc3,0xe0,0x67,0x6d,0xfb,0xb5,0x05,0xae,
0x01,0x78,0x4e,0x01,0x9a,0xb6,0x8b,0x7d,0x76,0xc9,0x19,0xc0,0x25,0xc5,0xa0,0xe9,
0x92,0x09,0xd2,0x14,0xc0,0x10,0xf8,0x31,0xac,0x64,0xe2,0x4b,0x72,0x31,0x8d,0x51,
0x46,0x19,0xd3,0xb5,0xc7,0xb8,0x8f,0xcd,0x02,0x20,0xd2,0xc9,0xf2,0x00,0x59,0x45,
0xd7,0xce,0x52,0x7f,0x3f,0x4b,0x84,0x31,0xf4,0x97,0xf4,0x65,0xdd,0xc4,0x05,0xde,
0xa7,0x3c,0x4c,0xd3,0x40,0xbc,0xc6,0x0d,0x47,0x2f,0x93,0x34,0x10,0xa6,0x2e,0x0f,
0x73,0x17,0xb8,0xc0,0x0d,0xb3,0xca,0xbe,0x5d,0xfa,0x7c,0xab,0xfa,0x25,0x40,0xe9,
0x39,0xc8,0x93,0x1c,0xc2,0xa2,0xfd,0xa1,0xd1,0x2e,0xf5,0x17,0xcf,0xc6,0x5d,0xf6,
0xb0,0xa6,0x09,0x81,0x68,0x28,0x2b,0xc6,0xbe,0xeb,0xfa,0x94,0x9d,0x57,0x00,0x0a,
0x3b,0xc1,0x3c,0xd3,0x85,0xb6,0xef,0xfb,0x18,0xf3,0xbb,0x1b,0x00,0x66,0x36,0x9f,
0xf0,0xc4,0xf6,0x7a,0x80,0x59,0xcf,0x39,0x6b,0x3f,0xda,0xeb,0x7d,0x60,0x6a,0xe4,
0x99,0xc9,0x57,0x01,0xc2,0xc7,0x75,0x00,0x34,0xe7,0x63,0xdc,0x91,0x1f,0xc4,0xb6,
0xe9,0xe3,0x7c,0x02,0x0a,0x2f,0x92,0x61,0x0a,0xd0,0x3c,0x69,0x0e,0x5a,0x1a,0x79,
0xd0,0x1a,0x80,0x9e,0x0a,0xb8,0x36,0x66,0x0a,0x2e,0x92,0xc6,0x5a,0x4b,0x27,0x8a,
0x28,0x77,0x88,0x08,0x12,0x75,0x6d,0x20,0xd1,0xd6,0x9a,0x86,0xbc,0xb0,0x8d,0xe1,
0x91,0xc5,0xd3,0x03,0x1d,0x7d,0xde,0x76,0xf4,0x25,0x8b,0x3e,0x9f,0x30,0x05,0x00,
0x0c,0x5f,0x08,0x8d,0xf3,0x7e,0xbc,0x2c,0xbd,0x6d,0x48,0xdc,0x63,0x21,0x46,0xc1,
0xe4,0xbd,0x2b,0x00,0xb0,0xa2,0x86,0xc7,0xfc,0xce,0xf3,0x12,0xad,0xc2,0xe4,0x63,
0x0f,0x57,0x01,0x6c,0x08,0x28,0x35,0xe5,0x3a,0x0f,0x00,0xb8,0x13,0x00,0x0b,0x03,
0x28,0xbf,0x43,0xbf,0x57,0x4a,0xd9,0xa9,0x53,0x9c,0xb7,0xc0,0x1e,0x03,0xe0,0x02,
0xc0,0x96,0x09,0x82,0xef,0x8a,0x5b,0x00,0x38,0x38,0x9d,0x05,0xf6,0x00,0x58,0x02,
0x98,0x9a,0xec,0x74,0x18,0xec,0xf3,0x41,0xc3,0x5b,0xa5,0x85,0x01,0xfc,0xce,0x20,
0x98,0x59,0xe0,0xa1,0x6b,0x03,0xd8,0x3b,0x83,0xe0,0x41,0xfa,0x67,0xa9,0xf0,0x74,
0x32,0x36,0xbb,0x01,0xfa,0xa9,0xd7,0xe0,0x49,0x27,0xb0,0xbb,0x00,0x34,0xdf,0x30,
0xf0,0x25,0xbd,0x70,0x5f,0x10,0x24,0x00,0x2c,0xe9,0x85,0x80,0xde,0x53,0x3b,0x40,
0x2d,0x81,0xcb,0x82,0xf8,0x2a,0x84,0xdc,0x04,0x58,0x43,0xa2,0x81,0xce,0x58,0x4e,
0x03,0xaa,0xd3,0xdc,0x40,0x88,0x38,0xab,0x8d,0x3f,0x07,0xa0,0xdc,0x6a,0x25,0xe6,
0x8b,0x3b,0xa3,0xb5,0x75,0xb9,0xf7,0x40,0x21,0xe3,0x3c,0xa0,0x8c,0x50,0xb2,0x7a,
0x3a,0xeb,0x4f,0x86,0xc1,0xa7,0x51,0xe8,0x57,0x13,0xd1,0x9c,0xf9,0x9c,0x17,0xea,
0x5d,0x2e,0x20,0x00,0xed,0x0c,0xe0,0x9c,0x17,0xee,0x8b,0x42,0xa9,0x86,0x2d,0xfe,
0x30,0x80,0x53,0x2d,0xc1,0xbe,0x5a,0x98,0xca,0x61,0x33,0x77,0x0d,0x7b,0x5f,0x1a,
0xe0,0x96,0xa8,0x5d,0x18,0xcd,0xdd,0x09,0xf0,0x70,0xc6,0x2f,0xe7,0xe5,0xae,0x5a,
0xb8,0x99,0x1f,0xef,0xaa,0x85,0x9b,0xc1,0x59,0x1b,0xc0,0xde,0x96,0x87,0xb6,0x3c,
0xf3,0xae,0x62,0xbc,0x09,0x00,0xb7,0xa5,0x81,0xad,0x4e,0xad,0x58,0x14,0xfa,0xb4,
0x2a,0xe5,0x7a,0x9c,0x4b,0xb2,0x94,0xc6,0x54,0xb1,0xd3,0x19,0x2e,0x83,0x54,0xa0,
0x2d,0x17,0x4c,0x7f,0xd2,0x09,0xc0,0x7b,0x2b,0x62,0x6c,0x96,0xdc,0x15,0xd8,0xd4,
0x08,0x00,0xef,0x44,0xa4,0xea,0x8b,0x46,0x1b,0x93,0xbe,0xc1,0x28,0x68,0xe8,0xc8,
0x00,0x6f,0x5e,0x20,0x5e,0x15,0x04,0xf8,0xad,0x34,0xe1,0x8f,0x3b,0x41,0x99,0x20,
0x38,0x91,0x8a,0x6c,0x29,0x00,0x53,0x37,0x08,0x0e,0x7b,0xe1,0xfe,0x52,0xb4,0xe9,
0x2c,0x35,0x4b,0xd1,0x89,0x5c,0x08,0x8f,0x62,0x00,0x50,0x37,0x08,0x8e,0x7a,0xa1,
0x2d,0x07,0x60,0xeb,0x06,0xc1,0xc1,0xb6,0xac,0x9c,0x0f,0x1e,0x0c,0x03,0x55,0x10,
0xc0,0xd7,0x0d,0x82,0x83,0x5e,0xa8,0x4b,0x02,0xd8,0xbf,0x11,0x40,0x59,0x5e,0xf2,
0xf3,0x03,0xd3,0x4b,0xde,0x1f,0xa0,0x7a,0x2f,0xab,0x71,0x1c,0x36,0x02,0x5c,0xda,
0x3e,0x48,0x47,0xdc,0x2a,0xc8,0xd2,0x9c,0x85,0x5b,0x04,0xde,0x3c,0xd0,0x70,0x24,
0x13,0x81,0x76,0x72,0x41,0x56,0x9f,0x56,0xfb,0x59,0x95,0xb4,0x1d,0xe9,0x29,0x80,
0x7c,0x80,0xf9,0x93,0x84,0x3b,0xc0,0x52,0x7f,0xc4,0x0f,0x7f,0xac,0x1a,0xe9,0xa1,
0xc9,0x2a,0x20,0xc7,0x1a,0x02,0x31,0xc1,0x68,0x78,0x94,0xc1,0xa0,0xc7,0x97,0xdd,
0x65,0x56,0x6c,0x36,0x0d,0x26,0x83,0xd1,0x27,0x46,0x93,0xe9,0xe9,0x49,0xb6,0x1f,
0x0e,0x0f,0xb6,0x44,0x00,0x4a,0x01,0xff,0x7a,0x89,0x0f,0x2c,0x75,0x77,0xbc,0x0f,
0x49,0x0f,0x6a,0xfd,0xf8,0x70,0x55,0x08,0x42,0xf6,0x49,0xe8,0xfb,0x65,0xef,0x9b,
0x81,0x19,0x75,0x00,0x0d,0x8d,0x39,0x08,0xc4,0xc8,0x6c,0x67,0xe7,0xe3,0x76,0x58,
0xf3,0x4d,0x34,0xc5,0x5d,0x71,0xe1,0xfb,0xf7,0xc6,0xf0,0xc8,0xc5,0xd0,0xfc,0xba,
0x7e,0xcb,0xe8,0xfd,0x76,0x12,0x16,0xbe,0x7d,0xbe,0xbb,0x32,0x94,0xb6,0xc0,0xee,
0xda,0xec,0x0a,0x5b,0x60,0x77,0x6d,0x2e,0x3c,0x05,0x50,0x1b,0xa0,0xfa,0x14,0x68,
0x97,0x1d,0xfc,0xb5,0x51,0xec,0x25,0xfd,0xbe,0xaf,0x18,0x87,0x65,0x23,0xe7,0xe0,
0x87,0x2b,0xfb,0x8b,0x3a,0x6d,0x31,0x27,0x44,0x97,0xd6,0xa5,0x3a,0x6d,0x05,0xa7,
0x3d,0xeb,0x31,0x69,0xcb,0x3b,0x5e,0x21,0x17,0xb9,0x6b,0xfb,0xd9,0x14,0xf8,0x8b,
0x5a,0xf1,0x1f,0x1b,0x05,0xfb,0x9d,0xb0,0x3a,0x40,0xf5,0x29,0xf0,0xff,0x9a,0x05,
0xcc,0xcf,0xb0,0x40,0xde,0x13,0x7b,0x89,0x6c,0x8c,0x49,0x3e,0xe2,0xfe,0x93,0x93,
0x12,0x7f,0x64,0xb1,0xc4,0x6f,0x17,0x72,0x19,0x18,0x8a,0x01,0xae,0xb4,0x01,0xf4,
0x9e,0xda,0x83,0xc9,0x87,0x3e,0x65,0xac,0x72,0x00,0x70,0x70,0x0a,0xea,0x03,0xe8,
0xe9,0x05,0x4e,0xea,0x1f,0x7e,0x4e,0x74,0x00,0x00,0x3e,0x0a,0x02,0xb8,0x2f,0x76,
0x24,0x2f,0x03,0x80,0x04,0xe0,0x93,0x05,0xb6,0x30,0xdc,0x14,0x83,0x16,0xc4,0xfa,
0x94,0xfe,0xa4,0xfa,0x1d,0xc0,0xca,0xc5,0x9d,0x5f,0x1f,0x78,0xc2,0xf3,0x6f,0x00,
0x70,0xce,0x00,0xea,0xdd,0x00,0x0c,0x80,0x4a,0x34,0xb8,0xe9,0x90,0xc7,0x71,0xa7,
0x9d,0x63,0x1c,0x5d,0xc5,0x9c,0xd4,0x9f,0x06,0x0f,0xf9,0xc0,0x3c,0x50,0xcb,0x96,
0x85,0x1d,0x87,0xed,0xf9,0x10,0x91,0xf5,0xb1,0x4a,0xf1,0x12,0x6f,0x46,0x26,0x59,
0x8f,0xa9,0xb3,0x00,0xbc,0x34,0x53,0xbc,0xbc,0x56,0xd6,0x38,0x06,0x70,0x38,0x9a,
0x1b,0x59,0x91,0xe6,0xa4,0x27,0x47,0x02,0x60,0x9c,0x9c,0xa4,0x6c,0x24,0xcb,0x38,
0x50,0xe2,0x08,0xc3,0xcb,0xb7,0x5a,0xaf,0x95,0x45,0x1f,0xd0,0x7f,0x97,0x15,0x3e,
0xb5,0xc6,0x5e,0x89,0x06,0x20,0xbd,0x68,0x34,0xa7,0xe0,0x04,0xe5,0x0d,0xfd,0xf3,
0x68,0xb5,0xf6,0xde,0x38,0xa3,0x0c,0xdf,0x28,0xc8,0xf3,0x07,0xa0,0xf6,0xc4,0xc3,
0x0b,0x96,0xae,0xf1,0xf2,0x43,0x90,0xce,0x50,0xa7,0x95,0xaa,0xac,0xff,0x2c,0x2d,
0x45,0x51,0xea,0x80,0xd3,0xb4,0x4c,0x14,0x43,0x39,0x9d,0xa9,0x5d,0x5a,0x3f,0xd2,
0x77,0xe5,0x04,0x0d,0x41,0x1f,0x9d,0x09,0x19,0x3c,0x8c,0x70,0x90,0xe4,0x75,0x5a,
0xee,0x9c,0xc0,0x4a,0xf9,0x10,0x10,0xb0,0x95,0xfe,0x00,0xb2,0xe2,0xdf,0x9e,0xfe,
0xca,0x2e,0xf9,0x03,0x4c,0x0a,0xee,0xea,0x58,0xd8,0x38,0x2c,0x00,0x00,0x00,0x00,
0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82};
@@ -1,514 +0,0 @@
// Created with image_to_c
// https://github.com/bitbank2/image_to_c
//
// stackoverflow
// Data size = 8004 bytes
//
// PNG, Compression=Flate, Size: 320 x 84, 32-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t stackoverflow[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x01,0x40,0x00,0x00,0x00,0x54,0x08,0x06,0x00,0x00,0x00,0xf3,0xa0,0xee,
0x93,0x00,0x00,0x0c,0x3f,0x69,0x43,0x43,0x50,0x49,0x43,0x43,0x20,0x50,0x72,0x6f,
0x66,0x69,0x6c,0x65,0x00,0x00,0x48,0x89,0x95,0x57,0x07,0x58,0x53,0xc9,0x16,0x9e,
0x5b,0x52,0x21,0xb4,0x00,0x02,0x52,0x42,0x6f,0x82,0x88,0x94,0x00,0x52,0x42,0x68,
0xa1,0x77,0x04,0x51,0x09,0x49,0x80,0x50,0x62,0x0c,0x04,0x15,0x3b,0xba,0xa8,0xe0,
0xda,0xc5,0x02,0x36,0x74,0x55,0x44,0xc1,0x0a,0x88,0x05,0x45,0xec,0x2c,0x8a,0xbd,
0x2f,0x16,0x14,0x94,0x75,0xb1,0x60,0x57,0xde,0xa4,0x80,0xae,0xfb,0xca,0xf7,0xe6,
0xfb,0xe6,0xce,0x7f,0xff,0x39,0xf3,0x9f,0x33,0xe7,0xce,0xdc,0x7b,0x07,0x00,0xf5,
0x13,0x5c,0xb1,0x38,0x17,0xd5,0x00,0x20,0x4f,0x54,0x20,0x89,0x0d,0xf6,0x67,0x8c,
0x4d,0x4e,0x61,0x90,0xba,0x01,0x0e,0x50,0x40,0x06,0x2a,0x80,0xca,0xe5,0xe5,0x8b,
0x59,0xd1,0xd1,0xe1,0x00,0x96,0xc1,0xf6,0xef,0xe5,0xdd,0x0d,0x80,0xc8,0xda,0xab,
0x0e,0x32,0xad,0x7f,0xf6,0xff,0xd7,0xa2,0xc9,0x17,0xe4,0xf3,0x00,0x40,0xa2,0x21,
0x4e,0xe7,0xe7,0xf3,0xf2,0x20,0x3e,0x08,0x00,0x5e,0xc9,0x13,0x4b,0x0a,0x00,0x20,
0xca,0x78,0xf3,0x29,0x05,0x62,0x19,0x86,0x15,0x68,0x4b,0x60,0x80,0x10,0x2f,0x94,
0xe1,0x4c,0x05,0xae,0x94,0xe1,0x74,0x05,0xde,0x2b,0xb7,0x89,0x8f,0x65,0x43,0xdc,
0x0a,0x00,0x59,0x95,0xcb,0x95,0x64,0x02,0xa0,0x76,0x19,0xf2,0x8c,0x42,0x5e,0x26,
0xd4,0x50,0xeb,0x83,0xd8,0x49,0xc4,0x17,0x8a,0x00,0x50,0x67,0x40,0xec,0x93,0x97,
0x37,0x89,0x0f,0x71,0x1a,0xc4,0x36,0xd0,0x46,0x0c,0xb1,0x4c,0x9f,0x99,0xfe,0x83,
0x4e,0xe6,0xdf,0x34,0xd3,0x87,0x34,0xb9,0xdc,0xcc,0x21,0xac,0x98,0x8b,0xbc,0x90,
0x03,0x84,0xf9,0xe2,0x5c,0xee,0xb4,0xff,0x33,0x1d,0xff,0xbb,0xe4,0xe5,0x4a,0x07,
0x7d,0x58,0xc1,0xaa,0x9a,0x25,0x09,0x89,0x95,0xcd,0x19,0xe6,0xed,0x56,0xce,0xa4,
0x30,0x19,0x56,0x85,0xb8,0x57,0x94,0x1e,0x19,0x05,0xb1,0x16,0xc4,0x1f,0x84,0x7c,
0xb9,0x3d,0xc4,0x28,0x35,0x4b,0x1a,0x92,0xa0,0xb0,0x47,0x0d,0x79,0xf9,0x6c,0x98,
0x33,0xa0,0x0b,0xb1,0x13,0x9f,0x1b,0x10,0x06,0xb1,0x21,0xc4,0x41,0xa2,0xdc,0xc8,
0x70,0x25,0x9f,0x9e,0x21,0x0c,0xe2,0x40,0x0c,0x57,0x08,0x3a,0x55,0x58,0xc0,0x89,
0x87,0x58,0x0f,0xe2,0x85,0x82,0xfc,0xc0,0x38,0xa5,0xcd,0x66,0xc9,0xa4,0x58,0xa5,
0x2f,0xb4,0x3e,0x43,0xc2,0x66,0x29,0xf9,0x73,0x5c,0x89,0xdc,0xaf,0xcc,0xd7,0x03,
0x69,0x4e,0x02,0x4b,0xa9,0xff,0x3a,0x4b,0xc0,0x51,0xea,0x63,0x6a,0x45,0x59,0xf1,
0x49,0x10,0x53,0x21,0xb6,0x28,0x14,0x26,0x46,0x42,0xac,0x06,0xb1,0x63,0x7e,0x4e,
0x5c,0x98,0xd2,0x66,0x4c,0x51,0x16,0x3b,0x72,0xd0,0x46,0x22,0x8d,0x95,0xc5,0x6f,
0x01,0x71,0xac,0x40,0x14,0xec,0xaf,0xd0,0xc7,0x0a,0x33,0x24,0x41,0xb1,0x4a,0xfb,
0xd2,0xbc,0xfc,0xc1,0xf9,0x62,0x9b,0xb3,0x84,0x9c,0x48,0x25,0xde,0x5f,0x90,0x15,
0x1f,0xa2,0xc8,0x0f,0xd6,0xca,0xe3,0xca,0xe3,0x87,0x73,0xc1,0x2e,0x0b,0x44,0xac,
0x84,0x41,0x1d,0x41,0xfe,0xd8,0xf0,0xc1,0xb9,0xf0,0x05,0x01,0x81,0x8a,0xb9,0x63,
0xdd,0x02,0x51,0x42,0x9c,0x52,0xe7,0x83,0xb8,0xc0,0x3f,0x56,0x31,0x16,0xa7,0x8a,
0x73,0xa3,0x95,0xf6,0xb8,0x99,0x20,0x37,0x58,0xc6,0x9b,0x41,0xec,0x92,0x5f,0x18,
0xa7,0x1c,0x8b,0x27,0x16,0xc0,0x05,0xa9,0xd0,0xc7,0x33,0xc4,0x05,0xd1,0xf1,0x8a,
0x38,0xf1,0xa2,0x6c,0x6e,0x68,0xb4,0x22,0x1e,0x7c,0x19,0x08,0x07,0x6c,0x10,0x00,
0x18,0x40,0x0a,0x6b,0x3a,0x98,0x04,0xb2,0x81,0xb0,0xbd,0xb7,0xa1,0x17,0xde,0x29,
0x7a,0x82,0x00,0x17,0x48,0x40,0x26,0x10,0x00,0x07,0x25,0x33,0x38,0x22,0x49,0xde,
0x23,0x82,0xd7,0x38,0x50,0x04,0xfe,0x84,0x48,0x00,0xf2,0x87,0xc6,0xf9,0xcb,0x7b,
0x05,0xa0,0x10,0xf2,0x5f,0x87,0x58,0xc5,0xd5,0x01,0x64,0xc8,0x7b,0x0b,0xe5,0x23,
0x72,0xc0,0x53,0x88,0xf3,0x40,0x18,0xc8,0x85,0xf7,0x52,0xf9,0x28,0xd1,0x90,0xb7,
0x44,0xf0,0x04,0x32,0xc2,0x7f,0x78,0xe7,0xc2,0xca,0x83,0xf1,0xe6,0xc2,0x2a,0xeb,
0xff,0xf7,0xfc,0x20,0xfb,0x9d,0x61,0x41,0x26,0x5c,0xc9,0x48,0x07,0x3d,0x32,0xd4,
0x07,0x2d,0x89,0x81,0xc4,0x00,0x62,0x08,0x31,0x88,0x68,0x8b,0x1b,0xe0,0x3e,0xb8,
0x17,0x1e,0x0e,0xaf,0x7e,0xb0,0x3a,0xe3,0x4c,0xdc,0x63,0x70,0x1e,0xdf,0xed,0x09,
0x4f,0x09,0x1d,0x84,0x47,0x84,0xeb,0x84,0x4e,0xc2,0xed,0x89,0xc2,0x62,0xc9,0x4f,
0x51,0x46,0x80,0x4e,0xa8,0x1f,0xa4,0xcc,0x45,0xfa,0x8f,0xb9,0xc0,0xad,0xa0,0xa6,
0x2b,0xee,0x8f,0x7b,0x43,0x75,0xa8,0x8c,0xeb,0xe2,0x06,0xc0,0x01,0x77,0x81,0x7e,
0x58,0xb8,0x2f,0xf4,0xec,0x0a,0x59,0xb6,0x32,0x6e,0x59,0x56,0x18,0x3f,0x69,0xff,
0x6d,0x06,0x3f,0x3c,0x0d,0xa5,0x1d,0xc5,0x89,0x82,0x52,0x86,0x51,0xfc,0x28,0x36,
0x3f,0x8f,0x54,0xb3,0x53,0x73,0x1d,0x52,0x91,0xe5,0xfa,0xc7,0xfc,0x28,0x62,0x4d,
0x1f,0xca,0x37,0x7b,0xa8,0xe7,0x67,0xff,0xec,0x1f,0xb2,0xcf,0x87,0x6d,0xd8,0xcf,
0x96,0xd8,0x42,0xec,0x00,0x76,0x16,0x3b,0x89,0x9d,0xc7,0x8e,0x62,0x0d,0x80,0x81,
0x35,0x63,0x8d,0x58,0x1b,0x76,0x4c,0x86,0x87,0x56,0xd7,0x13,0xf9,0xea,0x1a,0xf4,
0x16,0x2b,0x8f,0x27,0x07,0xea,0x08,0xff,0xe1,0x6f,0xf0,0xc9,0xca,0x32,0x99,0xef,
0x54,0xe3,0xd4,0xe3,0xf4,0x45,0xd1,0x57,0x20,0x98,0x2a,0x7b,0x47,0x03,0xf6,0x24,
0xf1,0x34,0x89,0x30,0x33,0xab,0x80,0xc1,0x82,0x5f,0x04,0x01,0x83,0x23,0xe2,0x39,
0x8e,0x60,0x38,0x3b,0x39,0xbb,0x00,0x20,0xfb,0xbe,0x28,0x5e,0x5f,0x6f,0x62,0xe4,
0xdf,0x0d,0x44,0xb7,0xed,0x3b,0x37,0xef,0x0f,0x00,0xbc,0x9b,0x07,0x06,0x06,0x8e,
0x7c,0xe7,0x42,0x9b,0x01,0xd8,0xe7,0x0e,0xb7,0xff,0xe1,0xef,0x9c,0x0d,0x13,0x7e,
0x3a,0x54,0x00,0x38,0x77,0x98,0x27,0x95,0x14,0x2a,0x38,0x5c,0x76,0x21,0xc0,0xb7,
0x84,0x3a,0xdc,0x69,0xfa,0xc0,0x18,0x98,0x03,0x1b,0x38,0x1f,0x67,0xe0,0x06,0xbc,
0x80,0x1f,0x08,0x04,0xa1,0x20,0x0a,0xc4,0x83,0x64,0x30,0x01,0x46,0x9f,0x05,0xd7,
0xb9,0x04,0x4c,0x01,0x33,0xc0,0x5c,0x50,0x02,0xca,0xc0,0x32,0xb0,0x1a,0xac,0x07,
0x9b,0xc0,0x56,0xb0,0x13,0xec,0x01,0xfb,0x41,0x03,0x38,0x0a,0x4e,0x82,0x33,0xe0,
0x22,0xb8,0x0c,0xae,0x83,0xbb,0x70,0xf5,0x74,0x81,0x17,0xa0,0x0f,0xbc,0x03,0x9f,
0x11,0x04,0x21,0x21,0x34,0x84,0x8e,0xe8,0x23,0x26,0x88,0x25,0x62,0x8f,0x38,0x23,
0x4c,0xc4,0x07,0x09,0x44,0xc2,0x91,0x58,0x24,0x19,0x49,0x43,0x32,0x11,0x11,0x22,
0x45,0x66,0x20,0xf3,0x90,0x32,0x64,0x05,0xb2,0x1e,0xd9,0x82,0x54,0x23,0xfb,0x90,
0xc3,0xc8,0x49,0xe4,0x3c,0xd2,0x81,0xdc,0x46,0x1e,0x22,0x3d,0xc8,0x6b,0xe4,0x13,
0x8a,0xa1,0xaa,0xa8,0x36,0x6a,0x84,0x5a,0xa1,0x23,0x51,0x26,0xca,0x42,0xc3,0xd0,
0x78,0x74,0x3c,0x9a,0x89,0x4e,0x46,0x8b,0xd0,0xf9,0xe8,0x12,0x74,0x2d,0x5a,0x85,
0xee,0x46,0xeb,0xd1,0x93,0xe8,0x45,0xf4,0x3a,0xda,0x89,0xbe,0x40,0xfb,0x31,0x80,
0xa9,0x60,0xba,0x98,0x29,0xe6,0x80,0x31,0x31,0x36,0x16,0x85,0xa5,0x60,0x19,0x98,
0x04,0x9b,0x85,0x95,0x62,0xe5,0x58,0x15,0x56,0x8b,0x35,0xc1,0xe7,0x7c,0x15,0xeb,
0xc4,0x7a,0xb1,0x8f,0x38,0x11,0xa7,0xe3,0x0c,0xdc,0x01,0xae,0xe0,0x10,0x3c,0x01,
0xe7,0xe1,0x93,0xf1,0x59,0xf8,0x62,0x7c,0x3d,0xbe,0x13,0xaf,0xc7,0x5b,0xf1,0xab,
0xf8,0x43,0xbc,0x0f,0xff,0x46,0xa0,0x11,0x0c,0x09,0xf6,0x04,0x4f,0x02,0x87,0x30,
0x96,0x90,0x49,0x98,0x42,0x28,0x21,0x94,0x13,0xb6,0x13,0x0e,0x11,0x4e,0xc3,0xbd,
0xd4,0x45,0x78,0x47,0x24,0x12,0x75,0x89,0xd6,0x44,0x77,0xb8,0x17,0x93,0x89,0xd9,
0xc4,0xe9,0xc4,0xc5,0xc4,0x0d,0xc4,0x3a,0xe2,0x09,0x62,0x07,0xf1,0x31,0xb1,0x9f,
0x44,0x22,0xe9,0x93,0xec,0x49,0xde,0xa4,0x28,0x12,0x97,0x54,0x40,0x2a,0x21,0xad,
0x23,0xed,0x26,0x35,0x93,0xae,0x90,0xba,0x48,0x1f,0xc8,0x2a,0x64,0x13,0xb2,0x33,
0x39,0x88,0x9c,0x42,0x16,0x91,0x8b,0xc9,0xe5,0xe4,0x5d,0xe4,0xe3,0xe4,0x2b,0xe4,
0x67,0xe4,0xcf,0x14,0x0d,0x8a,0x25,0xc5,0x93,0x12,0x45,0xe1,0x53,0xa6,0x51,0x96,
0x52,0xb6,0x51,0x9a,0x28,0x97,0x28,0x5d,0x94,0xcf,0x54,0x4d,0xaa,0x35,0xd5,0x9b,
0x1a,0x4f,0xcd,0xa6,0xce,0xa5,0xae,0xa5,0xd6,0x52,0x4f,0x53,0xef,0x51,0xdf,0xa8,
0xa8,0xa8,0x98,0xa9,0x78,0xa8,0xc4,0xa8,0x08,0x55,0xe6,0xa8,0xac,0x55,0xd9,0xab,
0x72,0x4e,0xe5,0xa1,0xca,0x47,0x55,0x2d,0x55,0x3b,0x55,0xb6,0x6a,0xaa,0xaa,0x54,
0x75,0x89,0xea,0x0e,0xd5,0x13,0xaa,0xb7,0x55,0xdf,0xd0,0x68,0x34,0x2b,0x9a,0x1f,
0x2d,0x85,0x56,0x40,0x5b,0x42,0xab,0xa6,0x9d,0xa2,0x3d,0xa0,0x7d,0x50,0xa3,0xab,
0x39,0xaa,0x71,0xd4,0xf8,0x6a,0xb3,0xd5,0x2a,0xd4,0xea,0xd5,0xae,0xa8,0xbd,0x54,
0xa7,0xa8,0x5b,0xaa,0xb3,0xd4,0x27,0xa8,0x17,0xa9,0x97,0xab,0x1f,0x50,0xbf,0xa4,
0xde,0xab,0x41,0xd1,0xb0,0xd2,0x60,0x6b,0x70,0x35,0x66,0x69,0x54,0x68,0x1c,0xd6,
0xb8,0xa9,0xd1,0xaf,0x49,0xd7,0x1c,0xa5,0x19,0xa5,0x99,0xa7,0xb9,0x58,0x73,0x97,
0xe6,0x79,0xcd,0x6e,0x2d,0x92,0x96,0x95,0x56,0xa0,0x16,0x5f,0x6b,0xbe,0xd6,0x56,
0xad,0x53,0x5a,0x8f,0xe9,0x18,0xdd,0x9c,0xce,0xa6,0xf3,0xe8,0xf3,0xe8,0xdb,0xe8,
0xa7,0xe9,0x5d,0xda,0x44,0x6d,0x6b,0x6d,0x8e,0x76,0xb6,0x76,0x99,0xf6,0x1e,0xed,
0x76,0xed,0x3e,0x1d,0x2d,0x1d,0x17,0x9d,0x44,0x9d,0xa9,0x3a,0x15,0x3a,0xc7,0x74,
0x3a,0x75,0x31,0x5d,0x2b,0x5d,0x8e,0x6e,0xae,0xee,0x52,0xdd,0xfd,0xba,0x37,0x74,
0x3f,0x0d,0x33,0x1a,0xc6,0x1a,0x26,0x18,0xb6,0x68,0x58,0xed,0xb0,0x2b,0xc3,0xde,
0xeb,0x0d,0xd7,0xf3,0xd3,0x13,0xe8,0x95,0xea,0xd5,0xe9,0x5d,0xd7,0xfb,0xa4,0xcf,
0xd0,0x0f,0xd4,0xcf,0xd1,0x5f,0xae,0xdf,0xa0,0x7f,0xdf,0x00,0x37,0xb0,0x33,0x88,
0x31,0x98,0x62,0xb0,0xd1,0xe0,0xb4,0x41,0xef,0x70,0xed,0xe1,0x5e,0xc3,0x79,0xc3,
0x4b,0x87,0xef,0x1f,0x7e,0xc7,0x10,0x35,0xb4,0x33,0x8c,0x35,0x9c,0x6e,0xb8,0xd5,
0xb0,0xcd,0xb0,0xdf,0xc8,0xd8,0x28,0xd8,0x48,0x6c,0xb4,0xce,0xe8,0x94,0x51,0xaf,
0xb1,0xae,0xb1,0x9f,0x71,0xb6,0xf1,0x2a,0xe3,0xe3,0xc6,0x3d,0x26,0x74,0x13,0x1f,
0x13,0xa1,0xc9,0x2a,0x93,0x66,0x93,0xe7,0x0c,0x1d,0x06,0x8b,0x91,0xcb,0x58,0xcb,
0x68,0x65,0xf4,0x99,0x1a,0x9a,0x86,0x98,0x4a,0x4d,0xb7,0x98,0xb6,0x9b,0x7e,0x36,
0xb3,0x36,0x4b,0x30,0x2b,0x36,0xab,0x33,0xbb,0x6f,0x4e,0x35,0x67,0x9a,0x67,0x98,
0xaf,0x32,0x6f,0x31,0xef,0xb3,0x30,0xb1,0x88,0xb0,0x98,0x61,0x51,0x63,0x71,0xc7,
0x92,0x62,0xc9,0xb4,0xcc,0xb2,0x5c,0x63,0x79,0xd6,0xf2,0xbd,0x95,0xb5,0x55,0x92,
0xd5,0x02,0xab,0x06,0xab,0x6e,0x6b,0x3d,0x6b,0x8e,0x75,0x91,0x75,0x8d,0xf5,0x3d,
0x1b,0x9a,0x8d,0xaf,0xcd,0x64,0x9b,0x2a,0x9b,0x6b,0xb6,0x44,0x5b,0xa6,0x6d,0x8e,
0xed,0x06,0xdb,0xcb,0x76,0xa8,0x9d,0xab,0x5d,0x96,0x5d,0x85,0xdd,0x25,0x7b,0xd4,
0xde,0xcd,0x5e,0x68,0xbf,0xc1,0xbe,0x63,0x04,0x61,0x84,0xc7,0x08,0xd1,0x88,0xaa,
0x11,0x37,0x1d,0x54,0x1d,0x58,0x0e,0x85,0x0e,0x35,0x0e,0x0f,0x1d,0x75,0x1d,0xc3,
0x1d,0x8b,0x1d,0x1b,0x1c,0x5f,0x8e,0xb4,0x18,0x99,0x32,0x72,0xf9,0xc8,0xb3,0x23,
0xbf,0x39,0xb9,0x3a,0xe5,0x3a,0x6d,0x73,0xba,0x3b,0x4a,0x6b,0x54,0xe8,0xa8,0xe2,
0x51,0x4d,0xa3,0x5e,0x3b,0xdb,0x39,0xf3,0x9c,0x2b,0x9c,0xaf,0x8d,0xa6,0x8d,0x0e,
0x1a,0x3d,0x7b,0x74,0xe3,0xe8,0x57,0x2e,0xf6,0x2e,0x02,0x97,0x8d,0x2e,0xb7,0x5c,
0xe9,0xae,0x11,0xae,0x0b,0x5c,0x5b,0x5c,0xbf,0xba,0xb9,0xbb,0x49,0xdc,0x6a,0xdd,
0x7a,0xdc,0x2d,0xdc,0xd3,0xdc,0x2b,0xdd,0x6f,0x32,0xb5,0x99,0xd1,0xcc,0xc5,0xcc,
0x73,0x1e,0x04,0x0f,0x7f,0x8f,0xd9,0x1e,0x47,0x3d,0x3e,0x7a,0xba,0x79,0x16,0x78,
0xee,0xf7,0xfc,0xcb,0xcb,0xc1,0x2b,0xc7,0x6b,0x97,0x57,0xf7,0x18,0xeb,0x31,0x82,
0x31,0xdb,0xc6,0x3c,0xf6,0x36,0xf3,0xe6,0x7a,0x6f,0xf1,0xee,0xf4,0x61,0xf8,0xa4,
0xf9,0x6c,0xf6,0xe9,0xf4,0x35,0xf5,0xe5,0xfa,0x56,0xf9,0x3e,0xf2,0x33,0xf7,0xe3,
0xfb,0x6d,0xf7,0x7b,0xc6,0xb2,0x65,0x65,0xb3,0x76,0xb3,0x5e,0xfa,0x3b,0xf9,0x4b,
0xfc,0x0f,0xf9,0xbf,0x67,0x7b,0xb2,0x67,0xb2,0x4f,0x04,0x60,0x01,0xc1,0x01,0xa5,
0x01,0xed,0x81,0x5a,0x81,0x09,0x81,0xeb,0x03,0x1f,0x04,0x99,0x05,0x65,0x06,0xd5,
0x04,0xf5,0x05,0xbb,0x06,0x4f,0x0f,0x3e,0x11,0x42,0x08,0x09,0x0b,0x59,0x1e,0x72,
0x93,0x63,0xc4,0xe1,0x71,0xaa,0x39,0x7d,0xa1,0xee,0xa1,0x33,0x43,0x5b,0xc3,0x54,
0xc3,0xe2,0xc2,0xd6,0x87,0x3d,0x0a,0xb7,0x0b,0x97,0x84,0x37,0x45,0xa0,0x11,0xa1,
0x11,0x2b,0x23,0xee,0x45,0x5a,0x46,0x8a,0x22,0x1b,0xa2,0x40,0x14,0x27,0x6a,0x65,
0xd4,0xfd,0x68,0xeb,0xe8,0xc9,0xd1,0x47,0x62,0x88,0x31,0xd1,0x31,0x15,0x31,0x4f,
0x63,0x47,0xc5,0xce,0x88,0x3d,0x1b,0x47,0x8f,0x9b,0x18,0xb7,0x2b,0xee,0x5d,0xbc,
0x7f,0xfc,0xd2,0xf8,0xbb,0x09,0x36,0x09,0xd2,0x84,0x96,0x44,0xf5,0xc4,0xd4,0xc4,
0xea,0xc4,0xf7,0x49,0x01,0x49,0x2b,0x92,0x3a,0xc7,0x8e,0x1c,0x3b,0x73,0xec,0xc5,
0x64,0x83,0x64,0x61,0x72,0x63,0x0a,0x29,0x25,0x31,0x65,0x7b,0x4a,0xff,0xb8,0xc0,
0x71,0xab,0xc7,0x75,0xa5,0xba,0xa6,0x96,0xa4,0xde,0x18,0x6f,0x3d,0x7e,0xea,0xf8,
0xf3,0x13,0x0c,0x26,0xe4,0x4e,0x38,0x36,0x51,0x7d,0x22,0x77,0xe2,0x81,0x34,0x42,
0x5a,0x52,0xda,0xae,0xb4,0x2f,0xdc,0x28,0x6e,0x15,0xb7,0x3f,0x9d,0x93,0x5e,0x99,
0xde,0xc7,0x63,0xf3,0xd6,0xf0,0x5e,0xf0,0xfd,0xf8,0xab,0xf8,0x3d,0x02,0x6f,0xc1,
0x0a,0xc1,0xb3,0x0c,0xef,0x8c,0x15,0x19,0xdd,0x99,0xde,0x99,0x2b,0x33,0x7b,0xb2,
0x7c,0xb3,0xca,0xb3,0x7a,0x85,0x6c,0xe1,0x7a,0xe1,0xab,0xec,0x90,0xec,0x4d,0xd9,
0xef,0x73,0xa2,0x72,0x76,0xe4,0x0c,0xe4,0x26,0xe5,0xd6,0xe5,0x91,0xf3,0xd2,0xf2,
0x0e,0x8b,0xb4,0x44,0x39,0xa2,0xd6,0x49,0xc6,0x93,0xa6,0x4e,0xea,0x10,0xdb,0x8b,
0x4b,0xc4,0x9d,0x93,0x3d,0x27,0xaf,0x9e,0xdc,0x27,0x09,0x93,0x6c,0xcf,0x47,0xf2,
0xc7,0xe7,0x37,0x16,0x68,0xc3,0x1f,0xf9,0x36,0xa9,0x8d,0xf4,0x17,0xe9,0xc3,0x42,
0x9f,0xc2,0x8a,0xc2,0x0f,0x53,0x12,0xa7,0x1c,0x98,0xaa,0x39,0x55,0x34,0xb5,0x6d,
0x9a,0xdd,0xb4,0x45,0xd3,0x9e,0x15,0x05,0x15,0xfd,0x36,0x1d,0x9f,0xce,0x9b,0xde,
0x32,0xc3,0x74,0xc6,0xdc,0x19,0x0f,0x67,0xb2,0x66,0x6e,0x99,0x85,0xcc,0x4a,0x9f,
0xd5,0x32,0xdb,0x7c,0xf6,0xfc,0xd9,0x5d,0x73,0x82,0xe7,0xec,0x9c,0x4b,0x9d,0x9b,
0x33,0xf7,0xf7,0x62,0xa7,0xe2,0x15,0xc5,0x6f,0xe7,0x25,0xcd,0x6b,0x9a,0x6f,0x34,
0x7f,0xce,0xfc,0xc7,0xbf,0x04,0xff,0x52,0x53,0xa2,0x56,0x22,0x29,0xb9,0xb9,0xc0,
0x6b,0xc1,0xa6,0x85,0xf8,0x42,0xe1,0xc2,0xf6,0x45,0xa3,0x17,0xad,0x5b,0xf4,0xad,
0x94,0x5f,0x7a,0xa1,0xcc,0xa9,0xac,0xbc,0xec,0xcb,0x62,0xde,0xe2,0x0b,0xbf,0x8e,
0xfa,0x75,0xed,0xaf,0x03,0x4b,0x32,0x96,0xb4,0x2f,0x75,0x5b,0xba,0x71,0x19,0x71,
0x99,0x68,0xd9,0x8d,0xe5,0xbe,0xcb,0x77,0xae,0xd0,0x5c,0x51,0xb4,0xe2,0xf1,0xca,
0x88,0x95,0xf5,0xab,0x18,0xab,0x4a,0x57,0xbd,0x5d,0x3d,0x71,0xf5,0xf9,0x72,0x97,
0xf2,0x4d,0x6b,0xa8,0x6b,0xa4,0x6b,0x3a,0xd7,0x86,0xaf,0x6d,0x5c,0x67,0xb1,0x6e,
0xd9,0xba,0x2f,0xeb,0xb3,0xd6,0x5f,0xaf,0xf0,0xaf,0xa8,0xab,0x34,0xac,0x5c,0x54,
0xf9,0x7e,0x03,0x7f,0xc3,0x95,0x8d,0x7e,0x1b,0x6b,0x37,0x19,0x6d,0x2a,0xdb,0xf4,
0x69,0xb3,0x70,0xf3,0xad,0x2d,0xc1,0x5b,0xea,0xab,0xac,0xaa,0xca,0xb7,0x12,0xb7,
0x16,0x6e,0x7d,0xba,0x2d,0x71,0xdb,0xd9,0xdf,0x98,0xbf,0x55,0x6f,0x37,0xd8,0x5e,
0xb6,0xfd,0xeb,0x0e,0xd1,0x8e,0xce,0x9d,0xb1,0x3b,0x5b,0xab,0xdd,0xab,0xab,0x77,
0x19,0xee,0x5a,0x5a,0x83,0xd6,0x48,0x6b,0x7a,0x76,0xa7,0xee,0xbe,0xbc,0x27,0x60,
0x4f,0x63,0xad,0x43,0xed,0x96,0x3a,0xdd,0xba,0xb2,0xbd,0x60,0xaf,0x74,0xef,0xf3,
0x7d,0x69,0xfb,0x6e,0xec,0x0f,0xdb,0xdf,0x72,0x80,0x79,0xa0,0xf6,0xa0,0xe5,0xc1,
0xca,0x43,0xf4,0x43,0xa5,0xf5,0x48,0xfd,0xb4,0xfa,0xbe,0x86,0xac,0x86,0xce,0xc6,
0xe4,0xc6,0x8e,0xc3,0xa1,0x87,0x5b,0x9a,0xbc,0x9a,0x0e,0x1d,0x71,0x3c,0xb2,0xe3,
0xa8,0xe9,0xd1,0x8a,0x63,0x3a,0xc7,0x96,0x1e,0xa7,0x1e,0x9f,0x7f,0x7c,0xa0,0xb9,
0xa8,0xb9,0xff,0x84,0xf8,0x44,0xef,0xc9,0xcc,0x93,0x8f,0x5b,0x26,0xb6,0xdc,0x3d,
0x35,0xf6,0xd4,0xb5,0xd6,0x98,0xd6,0xf6,0xd3,0x61,0xa7,0xcf,0x9d,0x09,0x3a,0x73,
0xea,0x2c,0xeb,0x6c,0xf3,0x39,0xef,0x73,0x47,0xcf,0x7b,0x9e,0x3f,0x7c,0x81,0x79,
0xa1,0xe1,0xa2,0xdb,0xc5,0xfa,0x36,0xd7,0xb6,0x43,0xbf,0xbb,0xfe,0x7e,0xa8,0xdd,
0xad,0xbd,0xfe,0x92,0xfb,0xa5,0xc6,0xcb,0x1e,0x97,0x9b,0x3a,0xc6,0x74,0x1c,0xbf,
0xe2,0x7b,0xe5,0xe4,0xd5,0x80,0xab,0x67,0xae,0x71,0xae,0x5d,0xbc,0x1e,0x79,0xbd,
0xe3,0x46,0xc2,0x8d,0x5b,0x37,0x53,0x6f,0x76,0xde,0xe2,0xdf,0xea,0xbe,0x9d,0x7b,
0xfb,0xd5,0x9d,0xc2,0x3b,0x9f,0xef,0xce,0xb9,0x47,0xb8,0x57,0x7a,0x5f,0xe3,0x7e,
0xf9,0x03,0xc3,0x07,0x55,0x7f,0xd8,0xfe,0x51,0xd7,0xe9,0xd6,0x79,0xec,0x61,0xc0,
0xc3,0xb6,0x47,0x71,0x8f,0xee,0x3e,0xe6,0x3d,0x7e,0xf1,0x24,0xff,0xc9,0x97,0xae,
0xf9,0x4f,0x69,0x4f,0xcb,0x9f,0x99,0x3c,0xab,0xee,0x76,0xee,0x3e,0xda,0x13,0xd4,
0x73,0xf9,0xf9,0xb8,0xe7,0x5d,0x2f,0xc4,0x2f,0x3e,0xf7,0x96,0xfc,0xa9,0xf9,0x67,
0xe5,0x4b,0x9b,0x97,0x07,0xff,0xf2,0xfb,0xab,0xad,0x6f,0x6c,0x5f,0xd7,0x2b,0xc9,
0xab,0x81,0xd7,0x8b,0xdf,0xe8,0xbf,0xd9,0xf1,0xd6,0xe5,0x6d,0x4b,0x7f,0x74,0xff,
0x83,0x77,0x79,0xef,0x3e,0xbf,0x2f,0xfd,0xa0,0xff,0x61,0xe7,0x47,0xe6,0xc7,0xb3,
0x9f,0x92,0x3e,0x3d,0xfb,0x3c,0xe5,0x0b,0xe9,0xcb,0xda,0xaf,0xb6,0x5f,0x9b,0xbe,
0x85,0x7d,0xbb,0x37,0x90,0x37,0x30,0x20,0xe6,0x4a,0xb8,0xf2,0x5f,0x01,0x0c,0x56,
0x34,0x23,0x03,0x80,0xd7,0x3b,0x00,0xa0,0x25,0x03,0x40,0x87,0xe7,0x33,0xea,0x38,
0xc5,0xf9,0x4f,0x5e,0x10,0xc5,0x99,0x55,0x8e,0xc0,0x7f,0xc2,0x8a,0x33,0xa2,0xbc,
0xb8,0x01,0x50,0x0b,0xff,0xdf,0x63,0x7a,0xe1,0xdf,0xcd,0x4d,0x00,0xf6,0x6e,0x83,
0xc7,0x2f,0xa8,0xaf,0x9e,0x0a,0x40,0x34,0x0d,0x80,0x78,0x0f,0x80,0x8e,0x1e,0x3d,
0x54,0x07,0xcf,0x6a,0xf2,0x73,0xa5,0xac,0x10,0xe1,0x39,0x60,0x73,0xe0,0xd7,0xf4,
0xbc,0x74,0xf0,0x6f,0x8a,0xe2,0xcc,0xf9,0x43,0xdc,0x3f,0xb7,0x40,0xa6,0xea,0x02,
0x7e,0x6e,0xff,0x05,0xac,0x20,0x7c,0x24,0x19,0xe5,0x50,0x43,0x00,0x00,0x00,0x8a,
0x65,0x58,0x49,0x66,0x4d,0x4d,0x00,0x2a,0x00,0x00,0x00,0x08,0x00,0x04,0x01,0x1a,
0x00,0x05,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x3e,0x01,0x1b,0x00,0x05,0x00,0x00,
0x00,0x01,0x00,0x00,0x00,0x46,0x01,0x28,0x00,0x03,0x00,0x00,0x00,0x01,0x00,0x02,
0x00,0x00,0x87,0x69,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x4e,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x90,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x90,0x00,0x00,
0x00,0x01,0x00,0x03,0x92,0x86,0x00,0x07,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x78,
0xa0,0x02,0x00,0x04,0x00,0x00,0x00,0x01,0x00,0x00,0x01,0x40,0xa0,0x03,0x00,0x04,
0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x54,0x00,0x00,0x00,0x00,0x41,0x53,0x43,0x49,
0x49,0x00,0x00,0x00,0x53,0x63,0x72,0x65,0x65,0x6e,0x73,0x68,0x6f,0x74,0xa8,0x62,
0x25,0xa5,0x00,0x00,0x00,0x09,0x70,0x48,0x59,0x73,0x00,0x00,0x16,0x25,0x00,0x00,
0x16,0x25,0x01,0x49,0x52,0x24,0xf0,0x00,0x00,0x01,0xd5,0x69,0x54,0x58,0x74,0x58,
0x4d,0x4c,0x3a,0x63,0x6f,0x6d,0x2e,0x61,0x64,0x6f,0x62,0x65,0x2e,0x78,0x6d,0x70,
0x00,0x00,0x00,0x00,0x00,0x3c,0x78,0x3a,0x78,0x6d,0x70,0x6d,0x65,0x74,0x61,0x20,
0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x78,0x3d,0x22,0x61,0x64,0x6f,0x62,0x65,0x3a,0x6e,
0x73,0x3a,0x6d,0x65,0x74,0x61,0x2f,0x22,0x20,0x78,0x3a,0x78,0x6d,0x70,0x74,0x6b,
0x3d,0x22,0x58,0x4d,0x50,0x20,0x43,0x6f,0x72,0x65,0x20,0x36,0x2e,0x30,0x2e,0x30,
0x22,0x3e,0x0a,0x20,0x20,0x20,0x3c,0x72,0x64,0x66,0x3a,0x52,0x44,0x46,0x20,0x78,
0x6d,0x6c,0x6e,0x73,0x3a,0x72,0x64,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,
0x2f,0x77,0x77,0x77,0x2e,0x77,0x33,0x2e,0x6f,0x72,0x67,0x2f,0x31,0x39,0x39,0x39,
0x2f,0x30,0x32,0x2f,0x32,0x32,0x2d,0x72,0x64,0x66,0x2d,0x73,0x79,0x6e,0x74,0x61,
0x78,0x2d,0x6e,0x73,0x23,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x72,
0x64,0x66,0x3a,0x44,0x65,0x73,0x63,0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x20,0x72,
0x64,0x66,0x3a,0x61,0x62,0x6f,0x75,0x74,0x3d,0x22,0x22,0x0a,0x20,0x20,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x78,0x6d,0x6c,0x6e,0x73,0x3a,0x65,0x78,
0x69,0x66,0x3d,0x22,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x6e,0x73,0x2e,0x61,0x64,
0x6f,0x62,0x65,0x2e,0x63,0x6f,0x6d,0x2f,0x65,0x78,0x69,0x66,0x2f,0x31,0x2e,0x30,
0x2f,0x22,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x65,0x78,
0x69,0x66,0x3a,0x50,0x69,0x78,0x65,0x6c,0x59,0x44,0x69,0x6d,0x65,0x6e,0x73,0x69,
0x6f,0x6e,0x3e,0x38,0x34,0x3c,0x2f,0x65,0x78,0x69,0x66,0x3a,0x50,0x69,0x78,0x65,
0x6c,0x59,0x44,0x69,0x6d,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3e,0x0a,0x20,0x20,0x20,
0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x65,0x78,0x69,0x66,0x3a,0x50,0x69,0x78,0x65,
0x6c,0x58,0x44,0x69,0x6d,0x65,0x6e,0x73,0x69,0x6f,0x6e,0x3e,0x33,0x32,0x30,0x3c,
0x2f,0x65,0x78,0x69,0x66,0x3a,0x50,0x69,0x78,0x65,0x6c,0x58,0x44,0x69,0x6d,0x65,
0x6e,0x73,0x69,0x6f,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,
0x3c,0x65,0x78,0x69,0x66,0x3a,0x55,0x73,0x65,0x72,0x43,0x6f,0x6d,0x6d,0x65,0x6e,
0x74,0x3e,0x53,0x63,0x72,0x65,0x65,0x6e,0x73,0x68,0x6f,0x74,0x3c,0x2f,0x65,0x78,
0x69,0x66,0x3a,0x55,0x73,0x65,0x72,0x43,0x6f,0x6d,0x6d,0x65,0x6e,0x74,0x3e,0x0a,
0x20,0x20,0x20,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,0x66,0x3a,0x44,0x65,0x73,0x63,
0x72,0x69,0x70,0x74,0x69,0x6f,0x6e,0x3e,0x0a,0x20,0x20,0x20,0x3c,0x2f,0x72,0x64,
0x66,0x3a,0x52,0x44,0x46,0x3e,0x0a,0x3c,0x2f,0x78,0x3a,0x78,0x6d,0x70,0x6d,0x65,
0x74,0x61,0x3e,0x0a,0xfd,0xec,0x59,0xa6,0x00,0x00,0x00,0x1c,0x69,0x44,0x4f,0x54,
0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2a,0x00,0x00,0x00,0x28,
0x00,0x00,0x00,0x2a,0x00,0x00,0x00,0x2a,0x00,0x00,0x04,0x45,0xd9,0xf6,0x15,0x35,
0x00,0x00,0x04,0x11,0x49,0x44,0x41,0x54,0x78,0x01,0xec,0x9c,0x3d,0x72,0x13,0x31,
0x14,0x80,0xd7,0xe1,0x04,0xe9,0x18,0xe8,0xa0,0x48,0x17,0x9a,0x5c,0x81,0x09,0x0d,
0xc3,0x01,0x88,0x3b,0xae,0x60,0xb8,0x43,0x7c,0x05,0xba,0x9c,0x80,0xa1,0x21,0xc3,
0x15,0xd2,0xd8,0x50,0x90,0x02,0x8e,0x40,0x4e,0x40,0xcc,0x3c,0x67,0xde,0xce,0x8b,
0xac,0xdf,0x8c,0x9d,0x5d,0x59,0x9f,0x1b,0x69,0x77,0xb5,0xcf,0xab,0xef,0xc9,0x9f,
0x25,0x65,0xe2,0xc9,0xd3,0x67,0xcf,0x57,0x1d,0x2f,0x08,0x40,0x00,0x02,0x0d,0x12,
0x98,0x20,0xc0,0x06,0xb3,0x4e,0x97,0x21,0x00,0x81,0x35,0x01,0x04,0xc8,0x40,0x80,
0x00,0x04,0x9a,0x25,0x80,0x00,0x9b,0x4d,0x3d,0x1d,0x87,0x00,0x04,0x10,0x20,0x63,
0x00,0x02,0x10,0x68,0x96,0x00,0x02,0x6c,0x36,0xf5,0x74,0x1c,0x02,0x10,0x40,0x80,
0x8c,0x01,0x08,0x40,0xa0,0x59,0x02,0x08,0xb0,0xd9,0xd4,0xd3,0x71,0x08,0x40,0x00,
0x01,0x32,0x06,0x20,0x00,0x81,0x66,0x09,0x20,0xc0,0x66,0x53,0x4f,0xc7,0x21,0x00,
0x01,0x04,0xc8,0x18,0x80,0x00,0x04,0x9a,0x25,0x80,0x00,0x9b,0x4d,0x3d,0x1d,0x87,
0x00,0x04,0x10,0x20,0x63,0x00,0x02,0x10,0x68,0x96,0x00,0x02,0x6c,0x36,0xf5,0x74,
0x1c,0x02,0x10,0xd8,0x0b,0x01,0x1e,0x1d,0xde,0x25,0xf2,0xfa,0x86,0x84,0x42,0x00,
0x02,0x10,0xc8,0x27,0x50,0xbd,0x00,0x45,0x7e,0xb3,0x93,0x83,0x75,0x8f,0x3f,0x7c,
0xbf,0xcd,0xef,0x39,0x2d,0x21,0x00,0x81,0xe6,0x09,0x54,0x2d,0xc0,0x77,0x2f,0x27,
0xdd,0xdb,0x17,0x93,0x3e,0x89,0xd7,0x37,0x93,0x6e,0x7e,0xf5,0xaf,0x3f,0xa6,0x02,
0x01,0x08,0x40,0x20,0x46,0xa0,0x5a,0x01,0xce,0x4e,0x9e,0x74,0x47,0x87,0x9b,0xbf,
0xe5,0xfa,0xf5,0xcf,0xaa,0xfb,0xf2,0x7b,0xf3,0x7c,0x0c,0x02,0xd7,0x20,0x00,0x81,
0x36,0x09,0x54,0x2b,0x40,0xbb,0xf4,0x75,0x53,0x37,0xbf,0xba,0xed,0xd8,0x0f,0x74,
0xa9,0x70,0x0c,0x01,0x08,0xb8,0x04,0xaa,0x15,0xa0,0x74,0xc4,0x5d,0x02,0xdb,0xce,
0xb1,0x1f,0x68,0x69,0x50,0x87,0x00,0x04,0x7c,0x04,0xaa,0x16,0xa0,0x74,0x28,0xb4,
0x14,0x66,0x3f,0xd0,0x97,0x6e,0xce,0x41,0x00,0x02,0x96,0x40,0xf5,0x02,0x8c,0x2d,
0x85,0xd9,0x0f,0xb4,0xa9,0xa6,0x0e,0x01,0x08,0xb8,0x04,0x46,0x2f,0x40,0x11,0x5c,
0x6a,0x3f,0x2f,0xb6,0x14,0x66,0x3f,0xd0,0x4d,0x39,0xc7,0x10,0x80,0x80,0x12,0x18,
0xbd,0x00,0x3f,0xbf,0x3e,0xe8,0x72,0x66,0x72,0x31,0x09,0xb2,0x1f,0xa8,0xe9,0xa6,
0x84,0x00,0x04,0x2c,0x81,0x51,0x0b,0xd0,0xee,0xef,0xe5,0x48,0xd0,0xb6,0xb7,0x9d,
0x64,0x3f,0xd0,0xd2,0xa0,0x0e,0x01,0x08,0x28,0x81,0xd1,0x0a,0xd0,0x37,0xa3,0x4b,
0x89,0x8c,0xfd,0x40,0x4d,0x2b,0x25,0x04,0x20,0x90,0x43,0x60,0x94,0x02,0xf4,0xc9,
0xcf,0x76,0x26,0xb6,0xaf,0x17,0xbb,0x37,0x76,0x9f,0x8d,0x4f,0x1d,0x02,0x10,0x68,
0x83,0xc0,0x28,0x05,0x28,0xe8,0x43,0xcb,0x59,0x4d,0x4b,0x6c,0x49,0x1c,0x92,0x60,
0x6a,0x06,0xa9,0xb1,0x29,0x21,0x00,0x81,0x36,0x08,0x8c,0x56,0x80,0x82,0x3f,0x24,
0x32,0x4d,0x4d,0x4c,0x82,0x21,0x81,0x22,0x41,0xa5,0x47,0x09,0x01,0x08,0x8c,0x5a,
0x80,0x92,0x9e,0x87,0x4a,0x90,0xfd,0x40,0x06,0x37,0x04,0x20,0x90,0x22,0x30,0x7a,
0x01,0x4a,0x07,0x52,0x12,0x0c,0xcd,0xea,0x62,0xf7,0xb1,0x1f,0x98,0x1a,0x1a,0x5c,
0x87,0xc0,0xfe,0x13,0xa8,0x42,0x80,0x92,0x86,0xd8,0x8c,0x4e,0xd3,0xe4,0x93,0x5a,
0x48,0x82,0x21,0x69,0x6a,0x2c,0x4a,0x08,0x40,0x60,0xff,0x09,0x54,0x23,0x40,0x4d,
0x45,0x68,0x6f,0x4f,0xaf,0xfb,0xf6,0x05,0x43,0xf7,0x20,0x41,0xa5,0x46,0x09,0x81,
0x36,0x09,0x0c,0x2e,0xc0,0x9c,0x7f,0x75,0x73,0x53,0x13,0x9a,0xd5,0x69,0x3b,0x57,
0x82,0xb1,0xd9,0xa3,0xdb,0x56,0x63,0x50,0x6e,0x12,0x98,0x4e,0xa7,0xfd,0xc9,0x8b,
0x8b,0x8b,0xbe,0x4e,0x05,0x02,0xb5,0x12,0x18,0x5c,0x80,0x22,0x33,0x7d,0x95,0xfc,
0x90,0x69,0xa9,0x04,0x63,0xed,0x7d,0x4b,0x67,0x7d,0x26,0xca,0x3b,0x02,0xaf,0x8e,
0x8f,0xbb,0xf3,0xf3,0x79,0x8f,0xe3,0xf4,0xcd,0x69,0x5f,0xa7,0xf2,0xf8,0x04,0x24,
0x1f,0x67,0xef,0xcf,0xee,0xbd,0xf1,0xf2,0xe7,0x8f,0x4e,0xbf,0x98,0xe4,0xcb,0x6a,
0xe3,0xfa,0x62,0xd1,0xcd,0x3e,0x7d,0xbc,0x77,0x4f,0xeb,0x07,0x83,0x0b,0x50,0xfe,
0xd7,0xd7,0xbe,0x4a,0x66,0x64,0x31,0xa9,0x49,0x4c,0x77,0x89,0xcb,0x52,0xd8,0x92,
0x2e,0xab,0x23,0xc0,0x32,0x5e,0xbb,0x6a,0xed,0xe6,0xc1,0xbe,0xcf,0xd2,0x08,0x0e,
0x01,0x5a,0x32,0xe1,0xfa,0xa0,0x02,0x8c,0x09,0x2c,0x57,0x84,0xb1,0xe5,0xad,0x76,
0xdb,0xce,0xf0,0x5c,0x09,0xba,0x92,0xd4,0x7b,0x76,0x55,0xd6,0xba,0x8c,0x74,0x3f,
0x78,0xcc,0x00,0x77,0x35,0x42,0xc2,0x71,0x7d,0x52,0xb3,0xad,0x11,0xa0,0xa5,0x91,
0x57,0x1f,0x54,0x80,0xee,0xec,0xcf,0xf7,0xc8,0xb9,0x22,0x74,0xc5,0xe6,0xc6,0xd2,
0x38,0x56,0x98,0x7a,0xce,0x6d,0xbb,0xcb,0xe3,0xcb,0x6f,0x97,0xeb,0xf0,0x76,0xb0,
0xee,0xf2,0xfd,0xb6,0x15,0x1b,0x01,0x6e,0x8b,0xe4,0xc3,0xe3,0xe8,0xd8,0x09,0x45,
0xb0,0x63,0xca,0x27,0x4b,0x7b,0x3d,0x14,0xa3,0xb5,0xf3,0x83,0x09,0xd0,0x8a,0x28,
0x07,0x7a,0x8e,0xac,0x62,0x33,0x4a,0x79,0x0f,0x8d,0x21,0xed,0x7e,0xfd,0x5d,0x25,
0x7f,0x67,0x30,0xe7,0xb9,0x4a,0xdb,0xe8,0x20,0xae,0x6d,0x30,0x22,0xc0,0xd2,0x4c,
0x6f,0xb7,0xbd,0xcb,0xdf,0x46,0x97,0xb1,0x24,0xfb,0x7f,0x52,0x2e,0x96,0xcb,0xf5,
0x25,0x04,0x68,0x09,0x85,0xeb,0x83,0x09,0x50,0x1f,0x29,0x25,0x2d,0x6d,0xa7,0xa5,
0x4a,0x4c,0x8f,0xdd,0x32,0x15,0x2f,0x75,0xbf,0x1b,0x6f,0xdb,0xc7,0x08,0x70,0xdb,
0x44,0xdb,0x88,0xe7,0x13,0x9a,0xf4,0x3c,0xb4,0x15,0xe1,0x6b,0x5f,0xdb,0x97,0xee,
0x63,0x64,0x76,0x70,0x01,0x6a,0x27,0x53,0xe2,0xd2,0x76,0x5a,0x8a,0xc8,0xe4,0xe5,
0xfb,0xcb,0x71,0x2c,0x16,0x02,0x54,0x82,0x65,0xa5,0x3b,0x03,0x09,0x7d,0xf0,0xca,
0xa2,0xd2,0x3a,0x97,0x40,0xa9,0xd0,0x4a,0xdb,0xe7,0x3e,0xc7,0xbe,0xb5,0x1b,0x8d,
0x00,0x15,0x6c,0x4c,0x5e,0xda,0xc6,0x96,0x21,0x11,0xfa,0x96,0xd8,0x43,0xcb,0x4f,
0x9e,0x9b,0x19,0xa0,0xcd,0x1e,0xf5,0x5c,0x02,0xa5,0x42,0x2b,0x6d,0x9f,0xfb,0x1c,
0xfb,0xd6,0xee,0x3f,0x00,0x00,0x00,0xff,0xff,0xd2,0xac,0x71,0x19,0x00,0x00,0x0b,
0xef,0x49,0x44,0x41,0x54,0xed,0x5c,0x4b,0x8e,0x1d,0x45,0x10,0x7c,0x63,0x4e,0x60,
0x56,0x08,0x76,0x20,0x01,0x0b,0xb0,0x11,0xf2,0x15,0x10,0x6c,0x10,0x07,0xc0,0xde,
0x71,0x05,0x9b,0x33,0x60,0x5f,0x81,0x9d,0xcd,0x01,0x80,0x0d,0x88,0x2b,0x20,0x84,
0x0d,0x0b,0x40,0x32,0x47,0xc0,0x27,0x00,0x43,0x3c,0x3b,0xc6,0x31,0x41,0x66,0x7d,
0x7a,0x7a,0x5e,0xbf,0x91,0xb2,0x16,0x53,0xd5,0x55,0x99,0x91,0x99,0x91,0x59,0xe9,
0x7e,0xf3,0xf1,0xc9,0x2b,0xaf,0xbe,0xf6,0x74,0x77,0x84,0xe3,0x93,0x37,0x4e,0x76,
0x1f,0xbf,0x7e,0x32,0xe5,0xd9,0xb7,0x7f,0x3e,0xdd,0x7d,0xfd,0xf8,0x6c,0x38,0xb7,
0x6f,0xbc,0xb4,0x7b,0xeb,0xea,0xd3,0x5d,0x74,0x36,0x05,0x6e,0xc2,0xd7,0xaf,0x5d,
0xdb,0xef,0x5c,0xbb,0x7e,0xfd,0xcc,0xc9,0xa3,0x87,0x0f,0x77,0x0f,0x1f,0x3d,0x3a,
0xb3,0xa7,0x0f,0xdf,0x7f,0xf7,0xfd,0xfe,0x11,0x72,0xb7,0x3f,0xbf,0xa3,0x47,0xcd,
0x35,0xed,0x41,0x08,0x36,0xa1,0x8f,0xd1,0xb2,0xb5,0x17,0x68,0x7c,0x21,0x26,0xf1,
0x5a,0x58,0x90,0xbd,0x7b,0xf7,0xde,0x29,0xda,0x87,0x1f,0x7d,0x78,0xba,0xce,0x16,
0xc4,0xc7,0x79,0x0b,0xdb,0xf5,0xa1,0x07,0x9f,0xae,0xbd,0xf3,0xee,0xe9,0xd1,0xa3,
0x5f,0x7f,0xd9,0xaf,0xef,0xdf,0xbf,0x7f,0xba,0xa7,0x8b,0x5b,0xb7,0x6e,0xe9,0xe3,
0x7e,0xdd,0xcb,0x05,0x84,0x66,0xf4,0x18,0xcf,0xcd,0x4f,0x6f,0xee,0xe8,0xcf,0x88,
0x0d,0xd8,0x61,0x4c,0x58,0x73,0xa8,0x2e,0xb1,0xb5,0x9e,0xf4,0x1c,0x7e,0xc2,0xae,
0x0e,0x9c,0x3f,0xf8,0xea,0x81,0x6e,0x9d,0xf2,0x9c,0xc9,0xcf,0xd6,0xdc,0x21,0xf2,
0xe0,0x39,0xd0,0xb8,0xcf,0x04,0xf7,0xfc,0xc1,0xe5,0x29,0x93,0xd5,0x06,0xcf,0xa3,
0xf9,0xe4,0x58,0x1b,0x20,0x9d,0x45,0x23,0xc4,0x98,0x69,0x86,0xde,0xec,0x80,0xe1,
0x8d,0x91,0xf8,0xb3,0x33,0x0a,0x15,0x85,0xa8,0x85,0x1a,0x61,0xa0,0x30,0xa3,0x44,
0x6a,0x03,0xe4,0x25,0x52,0x7d,0xd7,0x41,0xb2,0xd1,0x08,0x5a,0xf6,0x78,0x09,0x46,
0x0a,0xa0,0xe7,0x7f,0x86,0x05,0xbd,0x99,0x06,0xa8,0x17,0x10,0x31,0x8d,0x5c,0xbc,
0x9e,0x6f,0xe4,0x09,0x3e,0x7a,0xac,0xf7,0xbe,0xb8,0xfb,0x3f,0x8e,0x7a,0x76,0xd5,
0x47,0x62,0x63,0x76,0xfc,0x11,0xbf,0xa0,0xe3,0xb9,0x53,0xcc,0xc8,0x16,0x75,0x5a,
0xf5,0xc4,0x18,0x22,0x7d,0xc5,0xc7,0x9a,0xb2,0x58,0x47,0xf2,0x7a,0x0e,0x99,0x6c,
0x8c,0xc4,0x0b,0x5d,0xe7,0x09,0x7b,0xb3,0x79,0xf0,0xba,0x02,0x46,0xcb,0xcf,0x28,
0x2e,0xe8,0x44,0xbe,0x60,0xbf,0x37,0x8e,0xbe,0x01,0x32,0x80,0x35,0x1a,0x21,0xb1,
0x96,0xce,0x19,0xf9,0x48,0x58,0xd6,0xa0,0xee,0xdc,0xb9,0x7d,0xfa,0xaf,0x32,0xec,
0xb2,0x01,0x46,0x3e,0x78,0x12,0xa3,0x62,0x8a,0xf4,0xb8,0xe7,0xfa,0xdc,0xe7,0x9c,
0xf9,0xcf,0x73,0x9d,0x1d,0xcb,0x0b,0xb5,0xf5,0x06,0xa8,0x76,0x5a,0xc5,0xac,0xf6,
0x54,0x47,0xf7,0x5b,0x6b,0xe5,0xd6,0xfd,0xa3,0x9e,0xca,0x70,0x8f,0x73,0x66,0x53,
0x63,0xcb,0x64,0x88,0xe1,0xb3,0xf3,0xc6,0xf3,0x59,0x1c,0xea,0x71,0x06,0xae,0xbf,
0x01,0xf2,0x8c,0xb3,0x72,0x1d,0xd9,0xd3,0x73,0xea,0xf8,0x1c,0xe9,0xb9,0x8c,0x3f,
0x2b,0xc7,0x59,0x1e,0x94,0x53,0xd5,0x8f,0xec,0xb5,0xfc,0x8c,0xe4,0x81,0x97,0xe1,
0xab,0xad,0x68,0x7d,0x69,0x1a,0xa0,0x3a,0x3f,0xf3,0xf1,0xd8,0xdf,0x06,0x15,0x67,
0x66,0xed,0x89,0x45,0x92,0x50,0x94,0xfe,0xd1,0x0e,0x09,0xc2,0x40,0xb1,0x46,0x97,
0x21,0x6b,0x80,0x2e,0xeb,0xf6,0x50,0x64,0x18,0x6a,0x0f,0x32,0x68,0xbc,0x7a,0x31,
0xb4,0x18,0xf7,0x0a,0xcf,0xbf,0x78,0xe1,0xc0,0x7f,0x0c,0xd8,0x65,0xf3,0xf6,0x37,
0x4d,0xc5,0x72,0x7f,0xb2,0x82,0x53,0x3b,0xad,0x42,0x7e,0xee,0xd6,0x7e,0x52,0x1d,
0xdd,0xef,0xad,0x1d,0x3f,0xe2,0x56,0x63,0x70,0xbc,0x48,0x5e,0xf3,0xb0,0xd4,0x2f,
0xc5,0xa0,0xcd,0xa5,0x58,0xd0,0x47,0x0c,0x9e,0x67,0xe2,0xea,0xac,0x7c,0x44,0xf6,
0xf4,0x5c,0xf5,0xb8,0xf6,0x1c,0x73,0xbf,0x37,0x3b,0x6e,0xc4,0x6b,0x96,0x87,0x48,
0x16,0xf6,0x32,0xf9,0xe8,0xa5,0xc0,0xed,0xf7,0xfc,0xd5,0xf3,0x83,0x37,0xc0,0x2f,
0x3f,0xb8,0xb2,0xff,0x7e,0x1c,0x9c,0xf8,0xed,0xaf,0xa7,0xbb,0xdf,0x9f,0xa8,0x3b,
0x73,0xeb,0x91,0x46,0xf8,0xd9,0x0f,0xff,0xcc,0x81,0x26,0xd2,0x5a,0x50,0x51,0x81,
0xbb,0x1a,0x8a,0x49,0x9b,0x15,0xcf,0x35,0xe1,0x59,0x13,0xa1,0x2c,0x6d,0x8e,0xca,
0x51,0xcf,0xe5,0x89,0xc3,0xf3,0x96,0xff,0x94,0xf5,0xa2,0xf2,0xcb,0xe1,0x36,0x80,
0x4d,0x5d,0xac,0x5d,0x1f,0x7b,0xd9,0x50,0x4e,0x5c,0x06,0x38,0x6c,0xd0,0x7e,0x86,
0x67,0x8d,0x65,0xe6,0x72,0xa8,0xaf,0x8a,0xab,0x78,0x99,0x5f,0xf0,0x89,0xdf,0xbe,
0xd0,0x7f,0x7c,0x14,0xc7,0x2f,0x70,0x66,0x4f,0x75,0xa2,0x35,0x71,0x32,0x7d,0xf8,
0xc2,0x01,0x9f,0xf8,0xad,0x81,0x48,0xbe,0x97,0x93,0x88,0xbf,0x53,0xec,0x73,0xe6,
0x81,0x71,0x10,0x0f,0xb3,0xd7,0x94,0x9e,0x65,0xbe,0x46,0x39,0xd1,0x9c,0x29,0xc6,
0xc8,0xfa,0xa0,0x0d,0xf0,0xad,0xab,0xbb,0xdd,0xed,0x1b,0x57,0x42,0xbf,0xf0,0xa6,
0x86,0xb1,0xa4,0x29,0x66,0x8d,0x70,0xad,0xb7,0x3f,0xf8,0xa5,0xc5,0x11,0x25,0x13,
0x32,0x23,0x43,0x13,0x18,0x35,0x11,0xc7,0xc8,0x1a,0xa9,0xcb,0xb5,0xfc,0x53,0x9b,
0x23,0xc5,0x82,0xcb,0xc3,0x8b,0x44,0x3b,0x5e,0xac,0xee,0xbb,0x5e,0xb8,0xac,0x78,
0x89,0xa5,0xb3,0xea,0xe9,0xbe,0x63,0xc0,0x3e,0x9a,0x4d,0xd4,0x0c,0xe9,0x8b,0xfb,
0x48,0xbc,0x28,0x5f,0x99,0x5d,0x62,0x65,0xe7,0xa3,0x58,0xee,0x7f,0x86,0x07,0x1f,
0x91,0x13,0xc8,0xe3,0x1f,0x4c,0x8d,0x53,0x6d,0x45,0xfa,0x6e,0x83,0xf1,0x62,0x5e,
0x43,0x1e,0x38,0x6e,0x43,0xfd,0xc3,0xb9,0x0e,0x72,0x17,0xe5,0xc1,0x71,0xa0,0x17,
0xf9,0x48,0xbc,0x19,0x79,0xe5,0x89,0xfa,0xa3,0xf3,0x41,0x1b,0x60,0xd6,0xa8,0x22,
0x67,0x7f,0x7f,0x72,0xb2,0xfb,0xe3,0xc9,0xb3,0xb7,0xb7,0xd1,0xa6,0xe8,0xf8,0x6b,
0xbd,0xfd,0xc1,0x3f,0x6d,0x22,0x4c,0x74,0xe4,0x77,0x6f,0x6f,0x2d,0x1c,0xb7,0xa3,
0xc5,0xa4,0x05,0xa1,0xfb,0x23,0xcd,0xcf,0x71,0xf9,0xec,0x45,0xad,0x1c,0xa8,0x8d,
0xa8,0x70,0x89,0x11,0xcd,0xda,0xb8,0xf5,0x5c,0xf1,0xb9,0xef,0x3e,0x70,0x5f,0xe3,
0x8d,0xf0,0xf4,0x9c,0x3a,0x9a,0x07,0xee,0x29,0x3f,0xbd,0x73,0xea,0x70,0xee,0xd9,
0x55,0x8e,0xa8,0x83,0x59,0x6d,0xea,0x3e,0x62,0xd5,0x4f,0x10,0x91,0x7e,0x8b,0xeb,
0x35,0xe4,0xe1,0xcf,0x92,0x3c,0x64,0x79,0x72,0xac,0x88,0x63,0xe5,0xc0,0xf3,0x16,
0xc5,0x94,0xf9,0xa8,0x38,0xad,0xf5,0xd1,0x36,0xc0,0xc8,0xe9,0xd1,0xa6,0x88,0x46,
0x88,0xb1,0xd6,0x4f,0x7e,0x81,0xa5,0x05,0xee,0x89,0xc1,0xf9,0xe8,0xd0,0xa4,0x7b,
0x41,0x8c,0x62,0x44,0x72,0x5a,0x1c,0x7a,0xa9,0xd4,0x6f,0xdd,0x8f,0x30,0x5a,0x7b,
0x5e,0xd4,0xf4,0x5d,0xed,0x42,0x9f,0xfb,0x2d,0x2c,0x3d,0x53,0x3e,0xb8,0xdf,0xf2,
0x53,0xe3,0x89,0xe4,0xa3,0x73,0x6f,0x14,0xee,0x33,0x71,0xd4,0xf7,0xc8,0x2f,0x3d,
0xa7,0x0e,0x67,0xe7,0x07,0xfb,0x5a,0x27,0x23,0x36,0x89,0x15,0xcd,0x91,0xbe,0xc7,
0xa5,0x7a,0xb3,0xf2,0x51,0xbc,0x6b,0xe7,0x41,0xf9,0x80,0xaf,0x91,0x4d,0x8d,0xc1,
0xe3,0x8b,0x72,0xdb,0xf2,0x51,0xb1,0xb2,0xf5,0x41,0x1b,0x20,0x7f,0x27,0x2f,0x73,
0x66,0xc9,0xfe,0x68,0x53,0x5c,0x82,0xad,0x3a,0x4a,0xbe,0x27,0x46,0xe5,0x7a,0x6b,
0x4d,0x7a,0xeb,0x42,0xf5,0x70,0xfc,0x5c,0x0b,0x5e,0x8b,0x62,0x2d,0x7b,0x7e,0xc1,
0xe1,0xbb,0xda,0xa4,0x3f,0xb3,0x31,0xa9,0x7f,0xc4,0xf0,0x8b,0xc2,0x7d,0xcc,0x9a,
0x07,0xee,0x6b,0x3e,0xdc,0x4f,0xca,0x28,0x66,0xe4,0xb7,0x72,0x16,0x61,0xe8,0x39,
0x31,0x7d,0xf6,0x58,0x54,0x27,0xb2,0x09,0xfd,0x51,0xbe,0x22,0x7d,0x8d,0xdb,0x7d,
0x99,0x95,0x77,0xdf,0x81,0xa7,0xfe,0x3b,0xfe,0x92,0x3c,0x28,0x5e,0xe4,0x9f,0xdb,
0xf0,0xf8,0x66,0x7d,0x74,0xbc,0xe8,0xf9,0xa0,0x0d,0x10,0x3f,0x00,0x39,0xc4,0x40,
0x53,0xfc,0xe6,0xf1,0xdf,0xe7,0xfa,0x01,0x8b,0xfb,0x19,0x5d,0x0a,0x24,0x88,0xdf,
0x0c,0x87,0x3c,0x9e,0xf5,0x63,0x8b,0x63,0xe0,0x59,0x93,0x38,0x5a,0xfc,0xb0,0x8d,
0x11,0x7d,0xff,0x6b,0x7f,0x80,0x33,0xf9,0x5d,0x41,0x2d,0xb4,0x25,0xf6,0x88,0xa9,
0xb3,0xc7,0x0f,0x1b,0xd1,0x0f,0x00,0xbc,0x68,0x15,0xc3,0xd7,0x8e,0xc9,0x73,0x6d,
0x56,0xdc,0xe3,0xdc,0xbb,0x78,0x90,0x8b,0x64,0x14,0x53,0x39,0x21,0xae,0x72,0x36,
0x72,0x39,0xa9,0xd7,0x9a,0x95,0x8b,0x08,0x53,0xcf,0x5b,0x38,0x38,0x9b,0xd5,0x9f,
0x95,0x8f,0x38,0x51,0xce,0xdc,0xbf,0x88,0x63,0x8d,0x27,0xca,0xad,0x9e,0x47,0xfa,
0xb0,0xa7,0xbf,0x6b,0x0a,0x9b,0xf4,0x21,0x8a,0x07,0xe7,0xa3,0x77,0x08,0xb2,0xd1,
0x38,0x77,0x03,0x7c,0xff,0xbd,0xb3,0x7f,0x09,0x41,0x23,0x3f,0xfd,0xfc,0xe2,0xa7,
0x53,0xdc,0xc3,0x0f,0x41,0xde,0x7e,0xf9,0xd9,0xc7,0xd3,0x37,0xaf,0x5e,0xd9,0xff,
0x85,0x06,0xcf,0xd6,0x9e,0xef,0xfd,0xf8,0xcf,0x99,0x06,0x38,0xe3,0x67,0xe6,0x4b,
0x96,0x84,0x48,0x5e,0x2f,0x94,0x9e,0x6b,0xa1,0xf5,0x92,0x87,0x22,0xca,0xbe,0xf1,
0xaf,0x98,0xbe,0xa6,0x6d,0x2f,0xc2,0x9e,0x3d,0xc7,0xd1,0x67,0xc7,0xd2,0x33,0x6f,
0x86,0x2c,0x5a,0x95,0x89,0xd6,0x19,0x66,0x4b,0x3f,0xba,0x38,0x7a,0xb1,0x60,0x27,
0xc2,0xa5,0x4c,0x74,0x06,0x1d,0xe5,0x66,0x26,0xcf,0xd0,0xcd,0x06,0x6d,0xe2,0x3c,
0xc2,0xd4,0xf3,0x0c,0x83,0xfb,0xb3,0xfa,0x33,0xf2,0x19,0x27,0xe7,0xcd,0x43,0x94,
0x2b,0xf2,0xac,0xf7,0x00,0x31,0xb2,0x66,0x5d,0x87,0x1c,0x45,0xf1,0x50,0x87,0x1c,
0x2d,0x99,0x0f,0xda,0x00,0x33,0x07,0xb5,0x31,0x42,0x66,0x8d,0xe6,0xe8,0x3f,0x00,
0x59,0xa3,0x01,0xd2,0x7f,0x24,0x03,0x23,0x7a,0x03,0xa2,0x0c,0x67,0x4f,0x92,0x26,
0x9e,0xc5,0x40,0x59,0x9d,0xa3,0x84,0xe3,0x1c,0x05,0x91,0x0d,0xbe,0x21,0xd2,0xa6,
0x16,0x36,0x0b,0x29,0xd3,0xed,0xed,0x2b,0x96,0xca,0xf2,0x92,0xa8,0xbf,0xa3,0xb6,
0x7a,0x98,0x6a,0x87,0x6b,0xb5,0xc3,0xbd,0xc8,0x9e,0xf2,0x4c,0x39,0xf8,0x0a,0x8e,
0x3c,0x6f,0xe4,0x8b,0x72,0x91,0x0d,0x9e,0xcd,0xcc,0xea,0x57,0x84,0xa9,0xe7,0x3d,
0xdc,0x59,0xfd,0x19,0xf9,0x8b,0xca,0x83,0x37,0x33,0xc4,0xd8,0xcb,0x81,0xeb,0x90,
0xa3,0x28,0x9f,0x9e,0xb7,0x1e,0x87,0xd1,0xf9,0x51,0x34,0xc0,0xc8,0x31,0xee,0x2d,
0x6d,0x8e,0x17,0xd9,0x00,0xe9,0x9b,0xce,0x28,0x22,0x0c,0x36,0x21,0xbd,0x64,0x6c,
0x12,0x38,0xd7,0x44,0xb6,0x1a,0xa0,0xca,0xa1,0x08,0x90,0xec,0xd6,0xc7,0x6b,0x2d,
0x62,0x2d,0x0c,0xc5,0x69,0xd9,0x83,0x6f,0xad,0xa1,0xf8,0x94,0xd3,0xb8,0xb0,0xa7,
0xc5,0xab,0x3e,0x50,0xde,0xe7,0x08,0x13,0x32,0x8e,0xab,0x7a,0xa3,0x17,0x5b,0x7d,
0xa1,0x3e,0x70,0xfd,0x23,0x16,0xce,0xdc,0xd7,0xc8,0x06,0x31,0x66,0x66,0x5e,0x5e,
0xe8,0x44,0x98,0x7a,0xde,0xc3,0x9d,0xd5,0x9f,0x91,0x5f,0x92,0x87,0x88,0x5f,0x8f,
0x27,0xc2,0x05,0xd7,0xfa,0xed,0x1a,0xc6,0xcd,0xda,0x8c,0x74,0xb2,0xbc,0x51,0x87,
0x18,0x4b,0xe6,0xa3,0x6f,0x80,0xad,0xa0,0xb4,0x39,0xe2,0xad,0x11,0x03,0xff,0xf1,
0x01,0xc6,0xa1,0x1b,0xe0,0xde,0xa8,0x7c,0xd1,0x02,0xd4,0xc2,0x18,0x69,0x48,0xaa,
0x0b,0xc8,0x91,0x44,0xab,0x8e,0x5e,0x68,0x2d,0xd4,0x11,0x1c,0x09,0xe1,0xcc,0xd2,
0x0b,0x33,0x6a,0x52,0x23,0x32,0x67,0x40,0xff,0x7b,0x50,0x3e,0x78,0x16,0x61,0xf3,
0x4c,0xe3,0xe1,0x9e,0xf2,0xcb,0x3d,0xf7,0x85,0xfb,0xd1,0xec,0xbc,0x28,0x97,0x94,
0x8f,0x6c,0xf0,0x6c,0x64,0x3e,0x2f,0xe6,0xac,0xfe,0xac,0xfc,0x45,0xe5,0xc1,0x71,
0xc1,0x23,0x5f,0x12,0xc8,0x9b,0xd6,0x2b,0xf6,0xa2,0x1c,0x53,0x96,0xb3,0xeb,0x70,
0x7f,0x76,0xbe,0xd4,0x0d,0x70,0x26,0xd8,0x35,0x3f,0x02,0x8f,0xd8,0xf5,0x0b,0xc8,
0x4b,0xa6,0x05,0xc1,0x3d,0xc7,0xd3,0xe2,0x1d,0x4d,0x74,0xa6,0xa3,0xc5,0xd4,0x6a,
0x2c,0xee,0x83,0x3f,0x67,0xf1,0xb8,0x9c,0xfa,0x31,0xd2,0x34,0x94,0x0f,0x62,0xb5,
0xf4,0x22,0xf9,0x8c,0x23,0x8d,0x9d,0xd8,0x3e,0x47,0xba,0x1e,0x2b,0x74,0x5a,0x3e,
0x39,0x66,0xf4,0xac,0xbc,0xf0,0x7c,0x06,0x73,0x56,0x7f,0x56,0x3e,0xe2,0xb5,0xe5,
0x5f,0x24,0x1f,0x71,0xb9,0x24,0x07,0x4b,0x74,0xc8,0xe9,0xec,0x5c,0x0d,0x30,0xf8,
0x61,0xcd,0x2c,0x89,0x99,0xbc,0x16,0x09,0x9b,0x8f,0xee,0x65,0x0d,0x50,0x0b,0x20,
0x2a,0xaa,0xc8,0x9e,0x16,0xbc,0xea,0xe8,0x7e,0xab,0xa0,0x23,0x4c,0xdd,0xf3,0xa6,
0x90,0xf9,0x0e,0x1d,0x8d,0x51,0x7d,0x51,0x3c,0xae,0x35,0x56,0xee,0x65,0x7e,0x6a,
0x2c,0x94,0xc5,0x9c,0xd9,0xc8,0xe4,0x55,0x37,0x8b,0x43,0x63,0xa0,0x3c,0x73,0xc8,
0xe7,0x99,0x39,0xf2,0x25,0x8b,0x33,0xc2,0x9d,0xd5,0x9f,0x95,0xbf,0xa8,0x3c,0x78,
0xdd,0x44,0xb1,0x79,0x0e,0x96,0xe8,0x44,0xb8,0x23,0x7b,0x07,0x6b,0x80,0x87,0xfa,
0x15,0x18,0x06,0xbd,0xf5,0x47,0x60,0x4f,0x22,0x93,0xac,0x17,0x8b,0x7b,0xf4,0x99,
0xb3,0x16,0xe3,0xe8,0x25,0x51,0x5c,0x6f,0x08,0x7a,0x96,0xd9,0xa4,0x6d,0xcc,0xf0,
0xdd,0xbf,0xdf,0x98,0xc5,0xa3,0x7a,0x5c,0xbb,0x6c,0xab,0x71,0xb8,0x2c,0x31,0x10,
0x03,0x62,0xa7,0x1f,0x90,0xcb,0x7e,0x22,0x9e,0xc5,0x94,0x61,0xab,0x0d,0xff,0x93,
0x3f,0x9e,0x69,0x0e,0xb8,0xd7,0xcb,0x05,0x74,0xf4,0xef,0x71,0xa9,0x87,0x79,0xb6,
0x21,0xa9,0xee,0x12,0xfd,0xc8,0x1e,0x70,0xbc,0x36,0x68,0x27,0xe3,0x6a,0x8d,0x3c,
0x68,0xfd,0xd1,0x1e,0xe7,0xcc,0x9f,0x88,0x7f,0xea,0xf4,0xf2,0x40,0xb9,0x91,0xb9,
0x1a,0xe0,0xe0,0x1b,0x20,0x0b,0x2a,0x4b,0x98,0x93,0xad,0x09,0x54,0x1d,0xdd,0xcf,
0x1a,0x83,0x17,0x63,0x26,0x47,0x9b,0xf4,0x8d,0xcf,0x6a,0x0f,0x7b,0x7e,0xde,0xc2,
0xa3,0x6d,0xc7,0xe0,0x3e,0x6d,0x64,0x4d,0x87,0xe7,0x1a,0x67,0xaf,0x60,0x5b,0x17,
0x84,0x78,0xd9,0xec,0x7e,0xba,0x9c,0xfa,0xe1,0x67,0x2d,0x5d,0x8f,0x97,0xba,0x88,
0x45,0x9b,0x1c,0xe4,0x30,0xb4,0x39,0x47,0xb8,0x9e,0x03,0xe8,0xf4,0x78,0x81,0x0c,
0xc7,0xac,0x7e,0xe6,0x3f,0xf1,0x3c,0x0e,0xec,0x5f,0x54,0x1e,0x96,0xe4,0x60,0x89,
0x0e,0x63,0x9b,0x99,0xab,0x01,0x0e,0x34,0xc0,0xa8,0xf8,0x50,0xe4,0x28,0x22,0x0c,
0x7d,0x4b,0xc1,0xb3,0x5e,0x06,0x3c,0x6b,0xc3,0x71,0xac,0xe8,0xb2,0x40,0xc7,0x0b,
0x00,0x72,0x18,0xb4,0x89,0xb5,0xdb,0xc1,0x1e,0x46,0x84,0x99,0xe1,0xf1,0x0d,0x08,
0x17,0xc6,0x7f,0x45,0x44,0xfd,0xf6,0x0b,0xd5,0x6b,0x80,0x2e,0xaf,0x58,0xcf,0xbc,
0x7c,0xf1,0xd5,0x39,0x79,0x71,0xd2,0x5f,0xcd,0xfa,0xa1,0x88,0x3d,0x5d,0xe7,0x4c,
0x75,0x7b,0x6b,0x6f,0x6e,0x51,0x8c,0x2e,0xd3,0xc2,0x5c,0xa2,0xdf,0xf3,0xdf,0xed,
0x7b,0xce,0x5a,0xfe,0xf8,0x59,0x8b,0xcb,0x16,0x6e,0xa6,0xd7,0xd2,0x69,0xd5,0x92,
0xfb,0xd5,0x7b,0xae,0x06,0x38,0xd0,0x00,0x41,0x62,0x54,0x80,0x3d,0x72,0x71,0x1e,
0x25,0x2b,0x2b,0x4c,0x95,0x6d,0x15,0x40,0xcf,0x6e,0xd4,0x00,0xa1,0x33,0x13,0x83,
0x63,0xb8,0x3f,0x59,0xe1,0xaa,0x6f,0x6a,0xcf,0x2f,0x9b,0xca,0xcd,0xfa,0x46,0x5d,
0xf7,0x91,0xfb,0x3e,0x47,0x6f,0x36,0xa3,0xba,0x59,0xae,0xdc,0x86,0x3f,0x3b,0xbe,
0x72,0x41,0xd9,0x1e,0x27,0x94,0xc3,0xbc,0x44,0xdf,0x73,0xa6,0x78,0x58,0x47,0xf6,
0x23,0x3b,0xae,0xe7,0xcf,0x1e,0xab,0x9f,0xe3,0x79,0x49,0x0e,0x32,0xee,0x47,0x6a,
0x2f,0xf2,0x21,0xda,0xab,0x06,0x38,0xd8,0x00,0x49,0xde,0x48,0x81,0xa0,0xb0,0x50,
0x14,0x7c,0x33,0xa4,0xae,0xce,0x11,0x8e,0x36,0x40,0xc8,0xa2,0x80,0xfd,0xad,0x4c,
0x31,0xb0,0x66,0x11,0x2b,0x5e,0xab,0x20,0x55,0xce,0xb1,0xf8,0x1c,0xe9,0xfb,0x65,
0x1a,0x2d,0x42,0x2d,0xe2,0x08,0x97,0x36,0x31,0x8f,0xf8,0x06,0xb9,0x11,0x7e,0x21,
0xc7,0xa1,0x3e,0x70,0xcf,0xb9,0xe6,0x7e,0x34,0x8f,0xfa,0x05,0xdd,0xcc,0xb7,0x08,
0x83,0xb9,0x8b,0x6c,0xfa,0xde,0x52,0x7d,0xe4,0x2d,0xfb,0xa4,0x90,0xd9,0x8f,0x6c,
0xb9,0x3f,0x78,0xce,0x62,0x8d,0x64,0xa3,0x1c,0xf4,0xea,0x61,0x89,0x4e,0x64,0xbb,
0xb5,0x57,0x0d,0x70,0xb2,0x01,0x2a,0x99,0x28,0x2e,0x0c,0x34,0x29,0x14,0x03,0x46,
0xab,0xe9,0xed,0x05,0xec,0x0b,0x9b,0x1c,0xb6,0xf9,0x71,0xd4,0x44,0xf6,0x8f,0xb4,
0xa5,0x67,0x6a,0x4b,0x71,0xe0,0x8b,0x9e,0xa9,0x8e,0xae,0x51,0xe8,0x3a,0x7a,0x7a,
0xea,0xc3,0x08,0x3e,0xb1,0x67,0xf5,0xe8,0x17,0x2e,0x2e,0x07,0xf9,0xc5,0xa5,0x99,
0xb1,0x0d,0x7d,0xe5,0x86,0x78,0x2d,0xae,0x29,0xe3,0x33,0xfc,0x8a,0x7e,0x89,0x77,
0xc4,0xb7,0xc8,0x87,0x1e,0xdf,0x6a,0x7f,0x0b,0xfd,0x35,0xf3,0x10,0xf9,0xdf,0xcb,
0xc1,0x12,0x1d,0xe5,0x6c,0x64,0x7d,0xb0,0x06,0x38,0xe2,0xcc,0x45,0xca,0x1c,0xfa,
0xf7,0x00,0x2f,0x32,0x96,0xc2,0x2e,0x06,0x8a,0x81,0x75,0x18,0xa8,0x06,0x78,0x8e,
0x37,0xc0,0x75,0x52,0x50,0x28,0xc5,0x40,0x31,0xb0,0x15,0x03,0xd5,0x00,0xab,0x01,
0x6e,0x55,0x7b,0x65,0xb7,0x18,0xd8,0x9c,0x81,0x6a,0x80,0xd5,0x00,0x37,0x2f,0xc2,
0x72,0xa0,0x18,0xd8,0x8a,0x81,0x0b,0x6b,0x80,0x5b,0x05,0x34,0x6b,0x37,0xfa,0x7f,
0x0b,0x67,0x31,0x4a,0xbe,0x18,0x28,0x06,0x2e,0x27,0x03,0xd5,0x00,0xeb,0x0d,0xf0,
0x72,0x56,0x6e,0x79,0x5d,0x0c,0xac,0xc0,0x40,0x35,0xc0,0x6a,0x80,0x2b,0x94,0x51,
0x41,0x14,0x03,0x97,0x93,0x81,0x6a,0x80,0xd5,0x00,0x2f,0x67,0xe5,0x96,0xd7,0xc5,
0xc0,0x0a,0x0c,0x54,0x03,0xac,0x06,0xb8,0x42,0x19,0x15,0x44,0x31,0x70,0x39,0x19,
0xa8,0x06,0x58,0x0d,0xf0,0x72,0x56,0x6e,0x79,0x5d,0x0c,0xac,0xc0,0xc0,0xb9,0x1b,
0xe0,0x0a,0x3e,0x14,0x44,0x31,0x50,0x0c,0x14,0x03,0x9b,0x30,0x50,0x0d,0x70,0x13,
0xda,0xcb,0x68,0x31,0x50,0x0c,0x1c,0x03,0x03,0xd5,0x00,0x8f,0x21,0x0b,0xe5,0x43,
0x31,0x50,0x0c,0x6c,0xc2,0x40,0x35,0xc0,0x4d,0x68,0x2f,0xa3,0xc5,0x40,0x31,0x70,
0x0c,0x0c,0x54,0x03,0x3c,0x86,0x2c,0x94,0x0f,0xc5,0x40,0x31,0xb0,0x09,0x03,0xd5,
0x00,0x37,0xa1,0xbd,0x8c,0x16,0x03,0xc5,0xc0,0x31,0x30,0x50,0x0d,0xf0,0x18,0xb2,
0x50,0x3e,0x14,0x03,0xc5,0xc0,0x26,0x0c,0x54,0x03,0xdc,0x84,0xf6,0x32,0x5a,0x0c,
0x14,0x03,0xc7,0xc0,0x40,0x35,0xc0,0x63,0xc8,0x42,0xf9,0x50,0x0c,0x14,0x03,0x9b,
0x30,0x50,0x0d,0x70,0x13,0xda,0xcb,0x68,0x31,0x50,0x0c,0x1c,0x03,0x03,0xff,0x02,
0xce,0xc9,0x25,0xf9,0x1d,0x38,0x8a,0xd5,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,
0xae,0x42,0x60,0x82};
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,300 +0,0 @@
// Created with image_to_c
// https://github.com/bitbank2/image_to_c
//
// zoidberg_320x240_4b
// Data size = 4580 bytes
//
// PNG, Compression=Flate, Size: 319 x 240, 4-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t zoidberg_320x240_4b[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x01,0x3f,0x00,0x00,0x00,0xf0,0x04,0x03,0x00,0x00,0x00,0x84,0x41,0x7e,
0x4d,0x00,0x00,0x00,0x30,0x50,0x4c,0x54,0x45,0x00,0x00,0x00,0x28,0x10,0x0e,0x18,
0x19,0x17,0x57,0x19,0x19,0x2c,0x30,0x28,0x8e,0x2d,0x2b,0xbb,0x3d,0x3b,0x53,0x5c,
0x4c,0xff,0x53,0x51,0x60,0x9e,0x89,0x9d,0x9d,0x81,0xca,0xc8,0xa0,0x8b,0xe6,0xca,
0xd9,0xdc,0xb1,0xfb,0xff,0xcc,0xff,0xff,0xff,0x6a,0x6a,0xf0,0xd1,0x00,0x00,0x11,
0x6f,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x5d,0x48,0x5c,0x57,0x1e,0xc0,0x27,
0x63,0x32,0xb5,0x5a,0x97,0xc6,0x34,0x69,0x68,0x17,0x76,0xfc,0x8a,0x5b,0xb3,0xed,
0x46,0x8d,0xc6,0xed,0x93,0xb5,0x21,0xd6,0x58,0xb3,0xf9,0x60,0xcc,0x6c,0x9f,0x34,
0xae,0xf6,0x3e,0x1a,0x6b,0x57,0x62,0x12,0xab,0x9d,0x9d,0xcb,0x7d,0x5c,0x4a,0x40,
0x04,0x1f,0x5c,0x9b,0x45,0x98,0xa5,0xd3,0x34,0x15,0x02,0x5d,0x3a,0xbb,0x94,0x42,
0x10,0xe6,0x21,0x1b,0x02,0x81,0x84,0x95,0x52,0x02,0x03,0x33,0xcc,0x65,0x17,0x0a,
0x05,0xfb,0x30,0x7b,0xe7,0xce,0xfd,0x38,0xe7,0xdc,0xf3,0xf1,0x3f,0x8e,0xf3,0xf1,
0xd0,0xf3,0x50,0xe3,0x78,0xbd,0xfe,0xee,0xf9,0x7f,0x9e,0xff,0xf9,0x9f,0x5b,0x5f,
0x73,0x75,0x8f,0xa0,0xef,0x67,0xc0,0x9f,0x01,0x7f,0x06,0xdc,0x1b,0xc0,0xa6,0x43,
0xdd,0xf9,0xd1,0x58,0x9d,0x80,0xc1,0x9a,0x51,0x45,0x33,0x87,0x3a,0xe1,0xaf,0x42,
0xc0,0x96,0x51,0xcd,0x1d,0xea,0x05,0x7f,0x95,0x01,0x36,0xf5,0x68,0xf8,0x98,0x68,
0xac,0x2a,0xc0,0x7d,0x8a,0x46,0x8e,0x72,0x8a,0x59,0x08,0x58,0xe3,0xe5,0xd3,0xb4,
0x49,0x7f,0xd5,0x00,0xb6,0xd0,0xf8,0xca,0x39,0x87,0x02,0xc0,0x26,0x3a,0x9f,0xa6,
0x8d,0x57,0x09,0x60,0x58,0x63,0x8d,0x8b,0xd5,0x00,0xd8,0x7a,0x84,0xc9,0xa7,0xa9,
0x8d,0x55,0x00,0x58,0xa3,0x71,0x46,0xc4,0x5f,0x71,0xc0,0x60,0x98,0x07,0x58,0x26,
0x21,0xf3,0x00,0x03,0x5c,0xbe,0x32,0x09,0x99,0x03,0x18,0x54,0xf8,0x80,0xe5,0xb1,
0x64,0x0e,0xa0,0x60,0x02,0x8d,0xd1,0x55,0x51,0x40,0xe1,0x04,0x1a,0x76,0x52,0x51,
0xc0,0x36,0x4d,0xab,0x86,0x29,0x64,0x03,0xf6,0x01,0x00,0x23,0x15,0x04,0x6c,0xd2,
0xb4,0xaa,0x98,0x42,0x26,0x60,0x00,0x04,0xb8,0x54,0x39,0xc0,0x30,0x08,0xb0,0xf4,
0xbe,0x90,0x05,0x08,0x93,0x70,0x19,0x7c,0x21,0x0b,0xf0,0x00,0x10,0x50,0xf5,0x57,
0x08,0xb0,0x0f,0x08,0x58,0xf2,0x88,0xcc,0x02,0x54,0xa0,0x80,0x91,0xca,0x00,0x06,
0x35,0xf0,0xf0,0x57,0x04,0xb0,0x0d,0x0e,0x78,0xa5,0x22,0x80,0x01,0x38,0x60,0xa4,
0x22,0x80,0x7d,0x70,0xc0,0x12,0xbb,0x42,0x06,0x60,0x18,0x0e,0x58,0x62,0x3b,0xa6,
0x03,0x06,0x15,0x09,0xc0,0x48,0x63,0x05,0x00,0x35,0x99,0xa1,0x9e,0x2f,0x3b,0x60,
0x8b,0x26,0x47,0xd8,0x55,0x6e,0xc0,0x36,0x39,0xc0,0x52,0x5a,0x32,0x1d,0x30,0x20,
0x09,0xa8,0x35,0x56,0x3b,0xe0,0x95,0xaa,0x05,0x0c,0x97,0x5a,0xc6,0xc5,0x02,0xf6,
0x54,0x3b,0xe0,0x52,0xc1,0x63,0x46,0xab,0x16,0x30,0x7a,0xa0,0x22,0x80,0xc7,0x58,
0x3c,0x9e,0x08,0x73,0x61,0xe2,0xd0,0xe8,0xd4,0x94,0x52,0x2d,0x80,0xaa,0x27,0x89,
0xe8,0xd5,0xa6,0x2e,0x75,0x1e,0xf4,0xf9,0xfc,0xd5,0x01,0x18,0x65,0x25,0x11,0xea,
0x85,0xea,0x88,0x24,0x8b,0x4a,0xd9,0x93,0x2e,0xb9,0x58,0x7c,0x3e,0x54,0xf6,0xf5,
0xa7,0x54,0x36,0xa3,0xd6,0x84,0xca,0xbe,0xfe,0x64,0x24,0xac,0x74,0x51,0x8e,0x87,
0xcb,0x5f,0xa6,0x61,0xcc,0x20,0x95,0x44,0x0d,0x54,0xa0,0xc6,0x20,0xb3,0x26,0xb9,
0xa0,0x54,0x20,0xe5,0x62,0x00,0x1e,0xa5,0x11,0xb8,0xd4,0xd1,0xc2,0x07,0xd8,0x3c,
0x47,0xfd,0xe5,0x04,0x6c,0x63,0xe7,0x05,0x26,0x8c,0xc9,0x3a,0x66,0xca,0x7d,0x2a,
0x14,0xea,0x0e,0x85,0xa6,0x4a,0xb5,0x82,0x67,0x00,0x52,0x8a,0x5b,0x4b,0xe8,0x7c,
0x5d,0x32,0x77,0x14,0xcd,0x5d,0xc5,0xb9,0xd8,0x86,0xaf,0x23,0x36,0x5b,0xa3,0x74,
0x95,0x13,0x90,0xb2,0xac,0xc3,0xb6,0xb5,0x4d,0xe9,0x86,0x34,0xb5,0x73,0x3e,0x97,
0xcb,0xfd,0xe8,0xab,0xcf,0xe5,0x76,0xae,0x36,0x96,0x13,0xd0,0xbb,0x30,0xc6,0xa3,
0x9c,0x9a,0x57,0xd2,0x90,0x7a,0xf2,0xf3,0x9c,0x09,0xf8,0xdb,0xfc,0x97,0xe9,0xb2,
0x02,0xd6,0x7a,0xbc,0x08,0xfe,0x6d,0x5e,0xc6,0x3d,0x05,0xbe,0x5c,0x6e,0xc3,0xfc,
0xba,0x56,0x56,0x40,0xd2,0x4a,0x54,0x62,0xe3,0x73,0xdc,0xd0,0x81,0xce,0x8f,0x72,
0xe8,0x28,0x2f,0x20,0x69,0x25,0x51,0xd7,0xc7,0xa8,0x93,0x9d,0x3e,0x7f,0x5e,0x49,
0x2f,0xe7,0x2a,0x08,0x48,0x2a,0xe1,0x98,0x6d,0x35,0xea,0xa5,0xf6,0x98,0x21,0xd1,
0x1d,0x03,0xf8,0xbd,0x8a,0x02,0x06,0xe8,0x36,0x3c,0xf1,0xd2,0xf5,0x02,0x8e,0xa1,
0xa4,0xef,0x57,0x14,0x90,0x50,0xc2,0xa3,0x56,0x15,0xc6,0x57,0x97,0x73,0x00,0x3f,
0xc6,0x01,0xd7,0xcb,0x0b,0x88,0x7b,0xc2,0x82,0x0a,0xaa,0x2f,0xc5,0x7c,0x7e,0x0b,
0xe7,0x8c,0xe1,0x0c,0x3f,0xc7,0x00,0x67,0xca,0x0b,0x88,0xe7,0x0b,0xe6,0xea,0x32,
0xfa,0xf2,0xe7,0x3b,0xbe,0xfd,0x2e,0xa0,0xfa,0x7b,0x0c,0xd0,0x5f,0x66,0xc0,0x63,
0xa4,0x17,0x54,0x4f,0xfd,0xd3,0xf0,0xc6,0x75,0x2e,0xa0,0xf6,0x26,0xca,0xf7,0x63,
0x73,0x99,0x01,0xb1,0xb4,0x3f,0x1f,0x76,0x4f,0x62,0x12,0xcd,0xf3,0x8f,0xa1,0x1f,
0xfc,0x50,0x6e,0x40,0x4c,0x09,0x0d,0xc0,0x71,0xdc,0x2d,0xe7,0x43,0x4d,0xf4,0xa3,
0x92,0xab,0x20,0xaf,0x25,0xa0,0x0f,0x03,0x8c,0x1e,0xcf,0x79,0x00,0xb5,0x53,0xee,
0xf7,0x3b,0xfe,0xb2,0x03,0xb6,0x61,0x80,0x44,0xd8,0xd8,0x31,0x1d,0x39,0x62,0xc7,
0xa5,0xf1,0x82,0x5c,0x40,0x34,0xda,0x2d,0x45,0x71,0x01,0xe7,0x7e,0x2c,0x28,0xc0,
0xcb,0x0e,0xf0,0xc1,0xf2,0x03,0xa2,0x32,0x8e,0x9c,0xc4,0xf9,0x72,0xff,0xb3,0xac,
0xfb,0x6c,0xe1,0xdb,0x9f,0x3e,0x98,0xac,0x00,0x20,0x12,0xed,0xa2,0x75,0x04,0xe0,
0xa7,0xd6,0x0f,0x4e,0x14,0x22,0xdf,0xd5,0xb0,0x5a,0x01,0x40,0xd4,0xd1,0xfc,0x8a,
0x00,0xb4,0xbd,0x64,0xd4,0x37,0x18,0x8b,0x6d,0xbc,0x65,0x68,0x64,0x05,0x00,0xd1,
0xd5,0x31,0x91,0xb9,0xec,0x38,0xe2,0x1f,0xeb,0xbd,0xd4,0x6d,0xb6,0x08,0x77,0x95,
0x1f,0x10,0x5d,0x7c,0x2e,0xe2,0x80,0xff,0x75,0x9c,0xa4,0xda,0xad,0x94,0xb4,0x8e,
0xce,0x05,0x44,0x1c,0x0d,0x61,0xc5,0x67,0x90,0x9f,0x1c,0xb6,0xa6,0xb2,0x02,0x80,
0x68,0x30,0x79,0x05,0x73,0x32,0x68,0x3a,0x3b,0x71,0xa4,0x02,0xa5,0x0f,0xaf,0xa3,
0x19,0x47,0x23,0xf1,0x87,0x78,0xc7,0xed,0x91,0x12,0xb6,0xd0,0xf0,0x01,0x11,0x47,
0xa3,0x22,0x53,0xf8,0x03,0xb1,0x1e,0x98,0xc8,0xe7,0xdb,0x1f,0x57,0x02,0x10,0x75,
0x34,0x57,0x9c,0x29,0xdc,0xf1,0x54,0xb9,0x26,0x0e,0x2b,0x15,0x31,0x12,0x6c,0xe9,
0xa4,0xda,0x99,0xc1,0x4f,0x6f,0x7b,0xcb,0x0e,0x93,0x35,0x4a,0x65,0x00,0xd1,0xd5,
0x70,0xb4,0x10,0xd6,0x76,0xae,0x2a,0x9a,0xb7,0xd0,0x1a,0xed,0x6c,0xac,0x08,0x20,
0xb6,0x74,0x9a,0x7c,0x2e,0x96,0xdb,0xd9,0x68,0x52,0xe8,0x95,0xcc,0x71,0x7f,0x25,
0x00,0xf1,0xa5,0xd3,0xd4,0xa5,0x83,0xdd,0x21,0xc5,0xd9,0xff,0x2a,0x4b,0xfb,0xbc,
0xa8,0x97,0xbf,0x4f,0xe3,0x57,0x0a,0x31,0xc2,0xbd,0x41,0xda,0xd7,0x28,0x03,0x48,
0xeb,0x45,0x9f,0x60,0xd5,0xd2,0xf7,0xa6,0x77,0x41,0x99,0x90,0x01,0x6c,0x91,0xa9,
0xa5,0xef,0xc9,0x6e,0x4e,0x0b,0x9e,0x77,0x88,0x00,0xbd,0x95,0x4c,0x27,0x3b,0x28,
0x51,0x21,0x3d,0x80,0xdf,0x46,0x78,0xe0,0x85,0x54,0xc2,0xc9,0x4e,0xa5,0xb4,0x9b,
0x25,0xb5,0xb8,0x24,0x84,0x80,0x98,0x3c,0x43,0xdd,0x2f,0x1e,0x2e,0xf5,0x5e,0x44,
0x1f,0xde,0xcc,0x24,0x04,0xc4,0x94,0x70,0x72,0x54,0xd4,0x92,0x54,0xfc,0x14,0x2a,
0xf8,0x73,0x0a,0x01,0xa1,0xcd,0xac,0x7b,0x35,0x85,0xa6,0xd2,0xab,0x12,0x80,0x52,
0x7d,0x66,0x7b,0xd0,0x41,0xd3,0x44,0x08,0x42,0x0c,0x78,0x54,0x0e,0x70,0xac,0x78,
0x2f,0x83,0xad,0x1f,0xc4,0x80,0xc7,0xa0,0xed,0x15,0x7b,0xd3,0xff,0xd1,0x42,0x68,
0x8a,0x18,0x10,0xda,0x68,0x66,0xfb,0xef,0x22,0xcd,0xa4,0x90,0x9e,0xa8,0x12,0x80,
0xe0,0x5e,0xc2,0x4b,0x7b,0xb2,0xba,0xfb,0x35,0xf1,0x98,0x80,0xb3,0x9d,0xd0,0x76,
0x51,0x6b,0xf3,0xb3,0x48,0x19,0x1f,0x25,0xda,0x3a,0x01,0x80,0x60,0x2b,0x39,0xb2,
0x17,0x7d,0xcb,0x96,0xd3,0xf8,0x58,0x02,0x10,0x6a,0x25,0x7b,0x22,0x63,0x5b,0xa1,
0x22,0x12,0x80,0x00,0x2b,0x29,0xdc,0x35,0xa2,0x80,0x8f,0x70,0x08,0x0b,0xcf,0xaa,
0x04,0x60,0x33,0x54,0xb8,0x56,0x5f,0x12,0x40,0x09,0x83,0xe7,0x85,0xf9,0x67,0xa3,
0x04,0xa0,0xd8,0x8c,0x2f,0xd8,0x7d,0x52,0xe6,0x10,0xdf,0xb1,0x97,0x31,0xcb,0x4d,
0x87,0x3c,0x41,0x1d,0x02,0x18,0x86,0x1a,0xf0,0x04,0xb0,0xb1,0xba,0x85,0xa1,0x06,
0xa8,0x47,0xbb,0x22,0x01,0xc8,0xf6,0x33,0xf6,0x2e,0xb7,0x5a,0x8b,0x2a,0xe1,0x98,
0xd8,0x2f,0x2c,0x09,0xcd,0x71,0x49,0x02,0xb0,0x96,0x3d,0x75,0x01,0xcc,0x80,0xad,
0x3d,0xdb,0x45,0x71,0x3e,0xb0,0x24,0x74,0x68,0x11,0x09,0x40,0x4e,0xd3,0x72,0x08,
0xd9,0xdf,0x76,0x8c,0x45,0x94,0x72,0x05,0x58,0x97,0xa0,0xa2,0x52,0xf7,0x06,0x70,
0x0c,0x57,0xc2,0x10,0x11,0x48,0x99,0x3a,0x1d,0x11,0x5a,0xa3,0x0c,0x20,0xc7,0x11,
0xda,0x1b,0xf1,0x96,0x12,0x8e,0x43,0xfa,0xcc,0x5a,0x98,0xae,0x88,0x96,0x58,0x42,
0x00,0x3d,0x49,0xb5,0x3a,0x4a,0x86,0x37,0xcb,0xc3,0x58,0x25,0x87,0x46,0x61,0xe8,
0x8c,0x8a,0x27,0xa2,0x0b,0x0e,0x48,0x3a,0xc2,0xa8,0xcf,0xd7,0xeb,0xd9,0x89,0x47,
0x27,0xb4,0x4b,0x26,0xa7,0x67,0xa9,0xd2,0x15,0x09,0x40,0xc2,0x11,0x9e,0xf7,0xf9,
0x7c,0x61,0x42,0x09,0x17,0xd1,0x58,0xd2,0x25,0x56,0x18,0x71,0xd0,0x97,0x01,0xc4,
0x1d,0xa1,0x6a,0xf0,0xf9,0xec,0x73,0x77,0x11,0x05,0xb3,0x92,0x23,0x62,0xc0,0x00,
0x33,0xe5,0xa9,0xa5,0x9d,0xca,0x04,0x01,0x1e,0x25,0x25,0x6c,0x0c,0x85,0x70,0xd5,
0x7d,0x88,0x2a,0x76,0x89,0x9f,0xb6,0x51,0x28,0xa8,0x88,0x04,0x20,0x5e,0x8c,0x59,
0x32,0x01,0x8f,0x22,0x3d,0x52,0x6e,0xd7,0x45,0x8f,0x10,0xb0,0x89,0xb9,0x30,0x20,
0x52,0xf7,0xdd,0x03,0x2e,0xfa,0x50,0x19,0xe3,0x66,0x1c,0x12,0x02,0xb6,0x30,0x00,
0xdb,0xc6,0x89,0x97,0x26,0x44,0x25,0x00,0x8f,0x51,0x00,0x6b,0xf0,0x2c,0xd5,0x9a,
0xbb,0x90,0xd0,0xcd,0x04,0x18,0x09,0x45,0x98,0xec,0x72,0x97,0x01,0x6c,0xf3,0x02,
0xd6,0x9c,0xc7,0xfc,0x8b,0xfd,0x35,0x24,0x74,0xd4,0x7d,0x74,0x40,0x6f,0x01,0x43,
0x95,0x00,0x6c,0x21,0x75,0x70,0x5f,0xaf,0x53,0x06,0xb6,0xbf,0x2e,0x22,0x80,0x80,
0x94,0x7e,0x4c,0x18,0xad,0x64,0x00,0xf1,0xc7,0x8b,0xf8,0x7a,0x15,0xd7,0x7c,0x6d,
0x3f,0x53,0x68,0x52,0xef,0x11,0x25,0x0b,0xf6,0xad,0x16,0x85,0x0b,0x1f,0x19,0x40,
0xbc,0xef,0x5b,0x55,0xd0,0x73,0x07,0x11,0x6c,0x26,0x7b,0x45,0xe9,0x56,0x1b,0xe3,
0xec,0x79,0xed,0x1e,0x02,0xe2,0x07,0x23,0xf0,0x99,0xec,0x15,0x65,0xd4,0x01,0xdc,
0x04,0x38,0x6b,0x5b,0x4b,0x93,0x61,0x80,0xb4,0x55,0xc9,0x51,0x1c,0x14,0x01,0x6c,
0x04,0x04,0x25,0x55,0x98,0xb5,0xef,0x19,0x60,0x2d,0x02,0x68,0xba,0xed,0x08,0x24,
0x6a,0x92,0x96,0xee,0x5d,0xf7,0x44,0x8b,0x05,0xb4,0x13,0x1a,0x0c,0xb0,0x4f,0x20,
0x61,0xb7,0xcb,0x00,0x9d,0xe6,0x46,0x2a,0x60,0x73,0x09,0x00,0xf3,0xff,0x89,0xc2,
0xb4,0x19,0x09,0x25,0x6d,0x2a,0xed,0x2f,0xc8,0x84,0xba,0x7e,0x00,0xa0,0x69,0xc5,
0x63,0x8a,0x60,0xaf,0xa4,0x89,0x76,0x54,0xb0,0x4f,0xbb,0xd8,0xa4,0x15,0x01,0x18,
0x1c,0x7e,0xa4,0x70,0xd6,0x4b,0xb5,0x88,0xa3,0x3e,0xd9,0x24,0x78,0x7b,0x5d,0x0b,
0xe5,0x1d,0x17,0xc6,0xec,0xa9,0xe1,0x62,0x00,0xeb,0xf4,0x34,0x6d,0x65,0x3c,0x81,
0x03,0x8e,0x83,0xce,0x1b,0xb4,0x51,0xaa,0xed,0x6d,0xdc,0xb7,0x74,0x00,0x0a,0x98,
0x0b,0x7a,0x96,0x56,0x81,0x5b,0xc4,0xf3,0xad,0x1e,0x50,0x7d,0x3a,0x40,0x39,0x3c,
0x11,0xe0,0x16,0xbb,0xc5,0x80,0xad,0xba,0xae,0x7f,0xc8,0x39,0x93,0x68,0xcd,0xee,
0x61,0xd0,0x7e,0x6c,0x80,0xf2,0xfa,0x83,0x3e,0xee,0x79,0x56,0x31,0x60,0xbd,0x01,
0xf8,0x05,0xbb,0xec,0x61,0xd7,0x55,0x5f,0xdc,0xf7,0xe2,0x80,0x54,0x66,0xd9,0x25,
0xa8,0x4d,0x5d,0x84,0x02,0x2e,0x18,0x80,0x29,0x85,0x19,0xeb,0x22,0x05,0x1d,0x1c,
0x83,0xb5,0xcd,0x04,0xbc,0xfb,0x15,0xac,0xb7,0xb7,0x81,0xd7,0xc5,0xdb,0x06,0x20,
0xd5,0x4a,0xac,0xb5,0x7a,0x77,0x41,0xc2,0xb0,0xb6,0x99,0x5a,0x6f,0x75,0xa8,0x8d,
0xff,0x06,0x0c,0x21,0x60,0xbb,0x9e,0x1f,0x67,0x98,0x15,0xdf,0x1e,0x53,0xc6,0xe3,
0xe1,0x48,0xac,0x5f,0x0e,0x50,0xe5,0xab,0xa0,0x0a,0x05,0xac,0x37,0x01,0x3f,0x65,
0x59,0x89,0x61,0xc4,0xe7,0x47,0xb5,0x89,0x5e,0x2d,0x1a,0xcf,0xde,0x96,0x2b,0x94,
0x35,0x72,0x25,0x1c,0x85,0xd6,0x66,0xce,0x99,0x80,0xcf,0x28,0x9e,0xd4,0x3c,0xc1,
0x31,0x6e,0x78,0xd9,0xce,0x83,0x86,0x8f,0x51,0xe3,0xba,0x3e,0x23,0x05,0x98,0x2f,
0x03,0x37,0x1d,0xec,0x13,0xec,0x4a,0x0a,0x01,0xe3,0x26,0x60,0x9a,0xf6,0x22,0xc7,
0xb1,0x51,0x6d,0xd2,0xd1,0x7a,0xd5,0x78,0x92,0x94,0x14,0xa0,0xa1,0x84,0xc1,0x51,
0x66,0x59,0x6a,0x11,0x0a,0x98,0x30,0x01,0xf5,0xd9,0x00,0xed,0x48,0xac,0xcf,0xdd,
0xde,0x56,0x1b,0x74,0xc0,0x14,0xd6,0xe2,0x5a,0x76,0x40,0xfc,0x82,0x0e,0x11,0x60,
0x6b,0x81,0x4f,0xbf,0x73,0xab,0x57,0x50,0xa6,0xae,0x33,0xae,0x7a,0x24,0x55,0xac,
0xed,0xe2,0x6d,0x62,0x41,0x8b,0xe8,0x1d,0x16,0x60,0xea,0xc6,0x5f,0x46,0xb9,0x80,
0xa7,0x96,0x8d,0xab,0xb2,0x33,0x32,0x80,0x57,0x38,0x9b,0xe5,0x2a,0x74,0x1b,0x62,
0xc4,0x02,0xcc,0xfe,0x26,0xf9,0x09,0x8f,0x70,0x6c,0xf5,0x96,0xa9,0xab,0x41,0x89,
0x1a,0x45,0x94,0xf3,0x02,0xc6,0x28,0x70,0x23,0x27,0x18,0xb7,0x00,0xf5,0xdb,0xc9,
0xe4,0x0c,0x5b,0xca,0x13,0x43,0xc9,0x6f,0xf3,0x1e,0x5d,0x7f,0x32,0x20,0x51,0x44,
0xe1,0x1c,0x66,0x85,0xee,0xd5,0xb5,0xdb,0x7c,0x7a,0x6a,0x35,0x99,0xbc,0xc5,0x68,
0xf9,0x50,0x0d,0x3e,0x0b,0x50,0xcf,0xf4,0xc3,0x01,0x6b,0xc5,0x36,0x22,0x02,0xac,
0x77,0x00,0x33,0x2f,0x24,0x93,0xc9,0xe5,0xb7,0x68,0x62,0x9e,0xea,0xba,0x66,0xfc,
0xec,0xbe,0x65,0xef,0xe9,0x69,0x28,0xa0,0x0a,0xb0,0x11,0x11,0xa0,0x23,0x61,0x5d,
0xdf,0x30,0x20,0x92,0x5b,0xb3,0x87,0x48,0xc4,0xc9,0xee,0xc1,0xd5,0x24,0x02,0xa8,
0x67,0x06,0x80,0x55,0x9e,0x68,0x58,0xac,0x82,0x02,0x40,0x57,0xc2,0x46,0x30,0x31,
0x31,0x92,0x5b,0x33,0x35,0x3d,0x53,0xce,0x19,0xb6,0xa9,0xd0,0x89,0xe7,0x56,0xcc,
0xcf,0x93,0xf7,0x9d,0x87,0xe1,0x58,0x4a,0x0b,0xa5,0xcb,0x81,0xdf,0xdd,0xc2,0x7f,
0x0f,0xeb,0x02,0x02,0x98,0x1d,0x2a,0x80,0x24,0xb7,0x56,0xe6,0x06,0x7c,0x07,0xbb,
0xbb,0xbb,0x3b,0x7d,0xfb,0xe7,0x56,0x9e,0x4f,0xda,0x1f,0xbb,0x17,0xa7,0x07,0x40,
0x55,0x9e,0x88,0x02,0xe8,0x1d,0xe1,0x02,0xa2,0x13,0x68,0xda,0xb1,0x3b,0xb6,0x56,
0x56,0x56,0xcc,0x29,0x7d,0x81,0x02,0xa8,0x3f,0x06,0x15,0x51,0x54,0x48,0x03,0x13,
0x17,0x70,0x04,0x03,0x4c,0xdd,0x48,0x52,0x86,0x0b,0x78,0x0e,0xb9,0xf6,0x9e,0xbf,
0xa8,0x0e,0x0d,0xa4,0xee,0xc0,0x03,0x6c,0xdf,0xc6,0x00,0x1d,0x19,0x63,0xe3,0x35,
0x07,0xf0,0x0d,0x6c,0xba,0x8b,0xea,0xd0,0x40,0xb2,0x5f,0x1e,0x20,0x3e,0x81,0xba,
0xbe,0xb9,0x4a,0x01,0x74,0xa9,0x7f,0x81,0x5e,0x9b,0x29,0xea,0xad,0x7c,0xb0,0xee,
0xb7,0xd6,0x04,0x01,0x98,0x7e,0x97,0x02,0x38,0x47,0x07,0xd4,0x67,0x07,0x76,0xdf,
0xa1,0x81,0x96,0xbe,0x38,0x80,0xf5,0x3a,0x39,0x36,0x28,0x80,0xcb,0xf6,0x3f,0xee,
0xe3,0x80,0x9b,0x5f,0xf9,0x77,0xd9,0xa1,0x81,0x57,0x37,0x39,0x80,0x71,0x0f,0x20,
0xcd,0x4c,0xbe,0xb5,0xff,0xf1,0x09,0x0e,0x98,0x8a,0x3f,0xde,0xb5,0x95,0x5c,0x04,
0x01,0xd6,0x79,0xf8,0xa8,0x66,0x62,0x03,0x6e,0x0d,0xe1,0x80,0x99,0x06,0x7d,0x7d,
0x77,0x0d,0x10,0x78,0xed,0x90,0x7d,0x3a,0xd6,0x3b,0x81,0x46,0x42,0xea,0x35,0x93,
0x6f,0x57,0x6d,0x5d,0xc4,0x01,0xf5,0x79,0x3d,0x33,0x2d,0xdc,0x56,0x13,0xbf,0x94,
0x83,0x09,0xd8,0x4e,0xe1,0xd3,0x33,0xde,0x29,0xbc,0x5f,0x00,0xbc,0x75,0x83,0x04,
0xdc,0x30,0xac,0x8a,0x72,0x5f,0xc0,0xdb,0x3f,0xbb,0x40,0x80,0x23,0x34,0x40,0xfd,
0xce,0x10,0x39,0x87,0x5b,0xa6,0x5e,0x2e,0xbf,0x96,0xdc,0x22,0x00,0xbf,0x33,0x9c,
0xc0,0xe6,0x6e,0xac,0x04,0xaf,0x80,0xb2,0x00,0x5b,0xb7,0xa9,0x80,0xe9,0xfd,0xad,
0x04,0xe1,0x96,0x99,0x86,0x0d,0x11,0x91,0x24,0x7f,0xa9,0x11,0xfa,0xb2,0xd3,0xbb,
0xb0,0x92,0x8b,0x20,0xc0,0xe3,0x3a,0x7d,0xac,0xaf,0xcc,0x0e,0x79,0x42,0xc9,0xad,
0xa1,0xa4,0x17,0x30,0x3b,0x42,0x4f,0x1b,0xfa,0x64,0x4c,0x84,0x0d,0x18,0x67,0x00,
0xa6,0x5f,0x4b,0x2e,0xef,0x5f,0x41,0x01,0xaf,0xad,0x4c,0x5f,0x23,0x93,0x05,0x73,
0x5c,0x37,0xdd,0xa1,0x20,0xa9,0x16,0x36,0xc1,0x32,0x00,0x3b,0x74,0xd6,0x58,0x5b,
0x4d,0x6e,0x2d,0x07,0xaf,0x39,0x82,0x5e,0xe9,0x6f,0x5f,0x4d,0x52,0x01,0x37,0xcc,
0x79,0x9c,0x96,0x8c,0x25,0xe4,0xfe,0x04,0x03,0x70,0x81,0x09,0x98,0x36,0x25,0xbc,
0x3c,0x7b,0xfa,0xf4,0x9c,0x31,0x4e,0x9f,0x1e,0xb4,0x51,0xef,0x93,0x93,0xfe,0x70,
0x9b,0x9a,0x1b,0xb6,0x48,0xf8,0x18,0x26,0x20,0xc3,0x44,0xcc,0x71,0x77,0xd5,0xcd,
0x08,0x57,0x10,0x8b,0xf1,0x00,0xa6,0x0a,0x1f,0xdc,0x05,0xec,0xab,0xb1,0x27,0x90,
0x01,0x58,0xcf,0xe6,0xd3,0x33,0xcf,0x27,0xa9,0xe3,0xbe,0x27,0xb7,0x28,0x88,0x81,
0x5c,0xcc,0xf3,0xdf,0xf6,0xef,0x29,0x73,0xd3,0x01,0xe3,0x1c,0x40,0x7a,0xd6,0x65,
0x84,0x14,0x12,0x30,0x6b,0x39,0xc6,0x94,0x44,0xb0,0xf3,0xee,0xb2,0x50,0x01,0xdb,
0x79,0x7c,0x7a,0x76,0x90,0x0e,0xe8,0x51,0x8b,0x79,0xdb,0xae,0xd0,0x7b,0xfb,0xfc,
0x3c,0x3f,0xe3,0xed,0xcc,0xa4,0x02,0xde,0xe4,0x02,0xea,0x8f,0x6f,0xc0,0x00,0x37,
0x28,0xeb,0xd0,0xd6,0xaf,0xef,0x71,0xa2,0x31,0x65,0xa3,0x85,0x0a,0x98,0xe0,0x03,
0xea,0xb3,0xab,0x20,0xc0,0x47,0xf6,0x27,0x8f,0x50,0xed,0xce,0xbe,0x23,0x75,0xd8,
0x83,0x06,0xe8,0x9f,0x3d,0x3d,0xcf,0xd5,0xc2,0x34,0xcd,0x4e,0x96,0x3d,0x97,0x3d,
0xb3,0x1f,0x14,0xb1,0x93,0x05,0x3d,0xc1,0x06,0xa4,0x1d,0x2b,0xa3,0x01,0x9e,0xfd,
0xc7,0xd3,0xaf,0xa6,0x3f,0xe3,0xda,0xc9,0x0d,0x08,0x60,0xda,0x5d,0xca,0x23,0x49,
0xdc,0xd9,0x33,0x52,0x67,0xb6,0x28,0x80,0x66,0xcd,0x32,0x3b,0xcb,0x9b,0xc3,0x2c,
0x45,0xc8,0xf3,0x5e,0x87,0xe4,0xae,0xf3,0xd6,0x5d,0xed,0xd9,0x0c,0xc0,0x2d,0x84,
0x0e,0x58,0x70,0x82,0x99,0xb9,0x6d,0x9e,0x90,0x8d,0xf4,0x6a,0xd6,0x87,0x2d,0xa2,
0xce,0x7a,0xaf,0x72,0x33,0x8e,0xb4,0xad,0xfd,0xc6,0x8d,0x59,0x1b,0x23,0x11,0x3f,
0x10,0xd0,0x9a,0xba,0x74,0x3d,0xd7,0x92,0x07,0x0f,0x4c,0x69,0x7f,0x40,0x01,0x1b,
0xbc,0x17,0x21,0x93,0x7a,0xd7,0x75,0x60,0x9b,0x61,0x99,0x43,0x79,0x5e,0x40,0xc7,
0x09,0xde,0xe6,0x19,0xf3,0x66,0x7e,0x77,0xf3,0x32,0x9a,0x17,0xbe,0xe1,0xbd,0x28,
0x86,0x88,0x7b,0xc0,0x49,0x42,0xb2,0x1f,0xc8,0x1c,0x6b,0xf4,0x02,0xbe,0xee,0xdc,
0xf3,0x38,0x9b,0xef,0x9e,0x99,0xb9,0xff,0x0e,0x05,0xa4,0xe4,0x17,0x9b,0x68,0xea,
0xe0,0xaa,0x4f,0xaa,0x57,0xe2,0x60,0xa8,0x07,0x10,0x59,0x2c,0xad,0x31,0xa7,0xf0,
0x49,0x61,0x65,0xf1,0x4b,0x14,0x90,0x62,0x54,0xdf,0x21,0x6a,0x9c,0x35,0xa7,0xb0,
0x30,0xcd,0xeb,0x61,0xf8,0xa9,0x4b,0x0f,0x20,0x12,0xe6,0xd2,0xac,0x88,0x92,0x7e,
0xbb,0xe0,0xf7,0xdf,0x15,0x00,0xa6,0xd0,0xcf,0x1e,0xbb,0x69,0x5c,0xf6,0xaa,0x27,
0xef,0x3f,0xd1,0x0c,0x05,0x44,0x17,0x4b,0x73,0x0c,0x27,0x63,0xdd,0x7f,0xe9,0x39,
0x5e,0xae,0xe0,0xe6,0x33,0x88,0xb7,0xb6,0x88,0x33,0xe4,0xff,0xe1,0x8b,0x7d,0xf2,
0x97,0x04,0x0c,0x26,0x58,0x33,0x80,0x58,0xa4,0x25,0xa1,0xcb,0x4f,0x90,0x88,0xf2,
0x2f,0x8a,0x57,0xca,0x60,0x7a,0xf9,0xd8,0xda,0xdb,0x2d,0xc8,0x40,0x11,0xc4,0x60,
0x16,0x60,0x07,0x51,0x1d,0xa0,0x09,0xd8,0x6e,0xba,0x7c,0x15,0x8d,0x28,0xb7,0x68,
0x53,0x8d,0xaf,0x5d,0x67,0x90,0x44,0x38,0x8d,0x49,0xf9,0xd4,0x1a,0x18,0xf0,0x1c,
0x35,0x1f,0xc1,0xfe,0xaa,0xed,0x25,0xa2,0x0b,0x7a,0xf6,0xf6,0x2a,0x3b,0x90,0x18,
0x63,0x18,0x57,0x49,0x54,0xc1,0x33,0xd3,0x3d,0x0e,0xe2,0x85,0x78,0x0a,0x0c,0x88,
0x6b,0xd2,0x23,0x8a,0x62,0x39,0x7e,0x76,0xc9,0xf8,0x61,0xc6,0x89,0x79,0xc3,0x34,
0x40,0x9c,0x3a,0x3b,0x83,0x26,0x9a,0xd9,0x8d,0x7d,0xd6,0x51,0xd6,0xc8,0x75,0x3d,
0x03,0x05,0x24,0x2a,0x46,0xe9,0x73,0x5e,0xbd,0x3a,0x6c,0x3f,0xf7,0x65,0xf3,0x0a,
0x3b,0x7b,0xa5,0x56,0x22,0x08,0x09,0xa4,0xf0,0xdb,0x67,0xe6,0xde,0xce,0x7b,0x44,
0xf5,0x15,0xde,0x3e,0x29,0x01,0x48,0x5d,0xdb,0xe2,0x2b,0x77,0x05,0xdd,0x7f,0x35,
0x54,0x7f,0xc8,0x5b,0xa1,0x76,0xc6,0x03,0x42,0x3b,0x48,0x9d,0x7e,0xba,0xd1,0xd4,
0x13,0xba,0x98,0xa0,0x2c,0xad,0x18,0x80,0xc1,0x04,0x7f,0x0a,0x8c,0x19,0x73,0x72,
0x91,0xa8,0xf5,0x30,0xeb,0x37,0x58,0x81,0x44,0xd7,0xbf,0xc7,0x4d,0x3b,0xe3,0x7d,
0x8a,0xec,0x57,0x1b,0xfd,0xfb,0xe3,0x76,0xa0,0x11,0x02,0x76,0x30,0x73,0x4e,0x7b,
0xfc,0xd5,0xd1,0xec,0xc5,0x04,0x9a,0x7a,0x7d,0x43,0x8d,0x3a,0xa9,0x04,0x23,0x41,
0xc4,0xe7,0xd1,0xb8,0xea,0x19,0x0c,0x70,0x84,0xeb,0x6a,0xb1,0x09,0x2c,0xa8,0xa0,
0x39,0x2f,0xf9,0xb5,0xfb,0x37,0xf4,0x90,0x13,0x67,0x47,0x16,0xe2,0x51,0x40,0x80,
0x1e,0x09,0x93,0x9e,0x4c,0xbf,0xeb,0x7a,0xaf,0x57,0xb1,0x15,0xc0,0x32,0x04,0xf0,
0x59,0xa2,0x48,0xc0,0x0e,0xa1,0xa3,0x70,0xd3,0xf5,0x28,0xba,0xb1,0x34,0x44,0x77,
0x83,0xa4,0x00,0x1e,0xb2,0x73,0xe0,0x47,0x20,0xc0,0xd7,0xbd,0xbf,0x88,0xdf,0x33,
0xe5,0xa6,0x21,0x4b,0xe8,0x6c,0x6c,0x5e,0x6b,0xa0,0x47,0x6d,0xbc,0xa8,0x79,0x9b,
0x9d,0xbf,0xc1,0x8c,0x24,0x2e,0x52,0x73,0xa4,0xbf,0xe7,0x7d,0x0c,0x64,0x8d,0x0e,
0xa8,0x37,0x70,0xc4,0x81,0x7b,0x2f,0x08,0x60,0xbb,0x48,0x8b,0x32,0xc8,0x9b,0x3f,
0xde,0x23,0x56,0x51,0x74,0xf5,0x9a,0xe7,0x44,0x3e,0x22,0x4e,0x03,0x00,0x1b,0x44,
0x42,0x7a,0x86,0x04,0x78,0xe2,0xe2,0xcc,0x20,0x55,0xbf,0x62,0x3c,0x8b,0x43,0x7f,
0x04,0x0a,0x75,0x71,0x51,0xbc,0x47,0x24,0xac,0x92,0x3e,0x37,0x5d,0x47,0x23,0xbc,
0xc7,0xce,0xbe,0xf0,0xdf,0x86,0x00,0xd2,0x8b,0x82,0x48,0x2c,0xc9,0xa2,0x6f,0xab,
0xf3,0x3c,0xcd,0xe3,0x0e,0x21,0xe0,0x2e,0xdc,0x20,0x0a,0x48,0x5f,0x23,0x21,0x7f,
0x02,0xed,0x22,0x8c,0x78,0x75,0x6e,0xf3,0x3a,0xc5,0x7b,0x6c,0xeb,0xa0,0xf1,0x00,
0x02,0x48,0x17,0x00,0xf2,0x27,0x50,0x15,0x5c,0xa2,0x18,0xc5,0xda,0x67,0xbb,0x06,
0x04,0x25,0xac,0xf4,0x7b,0x21,0xe1,0x09,0x6d,0x22,0x5c,0xda,0xa6,0x15,0x44,0x3c,
0x32,0x7c,0x06,0x04,0x9c,0x01,0x00,0x32,0x0a,0xfb,0x48,0x30,0x40,0xab,0x3e,0x7f,
0xde,0xd6,0x21,0x84,0xa9,0x04,0x88,0x2f,0xdb,0x0c,0x00,0x64,0xb8,0xda,0xac,0x53,
0x31,0xc8,0xf4,0x09,0x66,0x30,0xef,0x6c,0x12,0x3a,0x34,0x3d,0x80,0xd9,0x08,0x02,
0xc8,0xba,0xd5,0x30,0x25,0xce,0xb1,0x00,0x8d,0x04,0x7b,0x9b,0x9b,0x0d,0xc9,0x06,
0x3a,0x04,0xb0,0x95,0xf5,0xcb,0x8e,0x6d,0x3e,0xd0,0xc4,0x80,0xfa,0x93,0x0e,0x51,
0x8a,0x4a,0x5d,0xc8,0x02,0x00,0x99,0xb5,0x2c,0x27,0x18,0xfc,0x0d,0x02,0xa8,0x3f,
0xc1,0x1c,0x36,0x91,0x2d,0x48,0x47,0x62,0x04,0x90,0x29,0x0b,0xc7,0x53,0xff,0x09,
0x04,0xa8,0xdf,0xeb,0x60,0x67,0x0b,0xf2,0x46,0xec,0x00,0x06,0x99,0xe6,0x66,0x2f,
0x7c,0xf0,0x13,0x07,0x4b,0x6c,0xf3,0xc4,0x1c,0xf6,0x30,0xc8,0x88,0xfd,0x62,0x40,
0xf6,0xd6,0x88,0x5d,0xa2,0xc2,0xbb,0xd1,0x39,0x80,0xfa,0xfa,0x75,0xde,0xb2,0x90,
0x66,0x5a,0x00,0x40,0x76,0x2d,0xd0,0xce,0xd3,0x9f,0x29,0x30,0x11,0xe7,0x13,0xd3,
0x9b,0x90,0x14,0x10,0xe4,0x65,0x1c,0x40,0xb6,0x3b,0xb0,0x5d,0xd9,0xbf,0x35,0x30,
0x60,0xd6,0x25,0x8c,0xed,0x11,0x20,0x5b,0x05,0x1d,0x57,0xf6,0x25,0x1c,0xd0,0x08,
0x29,0xdb,0x32,0x80,0x0f,0xc5,0x80,0x9c,0xdd,0x39,0x3b,0x8b,0xc3,0xbc,0x0c,0x3d,
0xd4,0x51,0x1c,0x74,0xac,0x48,0x37,0x68,0x03,0xd6,0x8b,0x01,0xf1,0x53,0x39,0x7f,
0x14,0xd8,0xe5,0x08,0xa7,0x3e,0x26,0xe3,0x06,0x6d,0x40,0x8e,0xc3,0xb7,0x83,0x41,
0x40,0x06,0xd0,0xb1,0xde,0x4d,0x08,0xe0,0x80,0x18,0x30,0x21,0x9c,0x8c,0x2c,0xde,
0x53,0xfc,0xbe,0xe0,0x6f,0x6e,0xd0,0xcb,0x47,0xb2,0xb9,0x8c,0x0d,0xc8,0x6b,0x01,
0xd0,0x47,0x28,0x6e,0xd0,0x2d,0x7c,0xb0,0xd4,0xca,0xf6,0xa2,0x00,0xc0,0x8c,0x5f,
0x08,0xd8,0xc1,0xfb,0xfd,0x42,0x30,0x48,0xe3,0x5b,0x07,0x6f,0x8a,0x72,0x78,0xca,
0x4e,0x84,0xfc,0x8a,0xc9,0x01,0x6c,0x10,0x03,0x12,0xe7,0xae,0x44,0x31,0xd6,0x06,
0xfb,0x3e,0x51,0x9c,0x1b,0xb4,0x00,0xb9,0x59,0xdb,0x3c,0x05,0x50,0x15,0xa5,0x51,
0x76,0xfc,0x81,0x64,0xac,0xdf,0x09,0x01,0x83,0x71,0x31,0x20,0x7e,0xbe,0x33,0x2a,
0x4a,0x44,0x53,0x12,0x80,0x77,0xc4,0x80,0x00,0x83,0xc4,0x23,0x5d,0x84,0xfd,0x77,
0x33,0xb3,0xd7,0x11,0x30,0x48,0x4a,0xbd,0x26,0x04,0xec,0x00,0x00,0x7e,0x09,0x75,
0x83,0xb3,0x9f,0xe5,0x23,0xb1,0x0c,0xe0,0x8c,0x10,0xf0,0x38,0x00,0x10,0x3b,0xb8,
0xa6,0xbe,0xca,0x36,0xc9,0x9b,0xe6,0x6f,0xd8,0x80,0x19,0x31,0x60,0x76,0x40,0x08,
0xc8,0xd7,0xf8,0x4d,0x6f,0xa4,0x1b,0x1f,0xfe,0x0f,0xef,0x6a,0x83,0x2e,0x2d,0x01,
0xe8,0x17,0x02,0x2e,0x00,0x00,0xb1,0x84,0xbf,0xbb,0xfb,0xa5,0x79,0xce,0x12,0xc6,
0x90,0xab,0x04,0x60,0xba,0x59,0x04,0x18,0x4c,0x00,0x00,0xdf,0x21,0x0f,0xe1,0x74,
0xb0,0x6d,0xde,0x08,0xdf,0x36,0x20,0xa7,0xe4,0xe6,0x78,0x24,0x21,0x60,0xab,0x20,
0x5b,0xf3,0xae,0x48,0xcc,0x1d,0xd4,0x9b,0x6c,0xc0,0x37,0x64,0x00,0x1f,0x0a,0x01,
0x3b,0x84,0x80,0xd9,0xbf,0x67,0xbc,0x1d,0x57,0xa7,0xb6,0x01,0x22,0xd6,0x47,0x8a,
0xf3,0x32,0x26,0x60,0x9d,0x08,0xf0,0x49,0xff,0xec,0xa0,0x17,0x30,0xb2,0x00,0x30,
0x12,0xc0,0xb2,0x6e,0x46,0x08,0x28,0x88,0xab,0x0f,0x9f,0xb6,0x27,0x68,0x6d,0x06,
0xf4,0x84,0x21,0xef,0x5f,0x6e,0x6f,0xbb,0x80,0xe2,0x65,0x9d,0x5f,0x08,0x28,0x88,
0xab,0x0f,0xf2,0x15,0xa1,0x14,0x05,0x90,0xea,0xad,0xb3,0x73,0x89,0x7b,0xc3,0x48,
0xf1,0x5d,0xb8,0xac,0x4b,0x8b,0x01,0xf9,0xe1,0x32,0x33,0x93,0x37,0xf2,0x3b,0x94,
0xf6,0xe7,0xc8,0x7c,0x2c,0x16,0xfb,0xda,0x53,0xfb,0xe8,0xcf,0x17,0x3f,0x1c,0x40,
0x61,0xce,0x2f,0x38,0x52,0x9b,0x07,0x4c,0xf0,0x17,0x68,0x71,0xef,0x8a,0xc4,0x3e,
0xb1,0x16,0x0a,0x85,0x4e,0x0c,0xf3,0x37,0xc1,0x1e,0x14,0x67,0xc4,0x79,0x40,0x6e,
0x3a,0x9d,0x9d,0x35,0xeb,0xba,0x19,0x76,0x57,0xe2,0x78,0x9c,0xbb,0xac,0xfb,0x5e,
0x94,0xb1,0xae,0x0b,0x01,0x79,0x0d,0xa1,0x19,0xab,0x4d,0x2f,0xcd,0xee,0xeb,0xa4,
0xc7,0x65,0x07,0x50,0x58,0x63,0x1d,0x10,0x02,0x72,0xbc,0xcc,0xd3,0x41,0xab,0x2e,
0x9e,0xe6,0x74,0xc6,0x5e,0xe6,0x02,0xa6,0xe3,0x45,0x2c,0x48,0xf2,0x80,0xff,0x07,
0xf7,0x0a,0x96,0x29,0xe8,0xc9,0xdb,0xb6,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,
0xae,0x42,0x60,0x82};
@@ -30,7 +30,7 @@ typedef struct my_private_struct
int xoff, yoff; // corner offset int xoff, yoff; // corner offset
} PRIVATE; } PRIVATE;
int PNGDraw(PNGDRAW *pDraw) void PNGDraw(PNGDRAW *pDraw)
{ {
uint16_t usPixels[320]; uint16_t usPixels[320];
uint8_t ucMask[40]; uint8_t ucMask[40];
@@ -40,7 +40,6 @@ PRIVATE *pPriv = (PRIVATE *)pDraw->pUser;
if (png.getAlphaMask(pDraw, ucMask, 255)) { // if any pixels are opaque, draw them if (png.getAlphaMask(pDraw, ucMask, 255)) { // if any pixels are opaque, draw them
spilcdWritePixelsMasked(&lcd, pPriv->xoff, pPriv->yoff + pDraw->y, (uint8_t *)usPixels, ucMask, pDraw->iWidth, DRAW_TO_LCD); spilcdWritePixelsMasked(&lcd, pPriv->xoff, pPriv->yoff + pDraw->y, (uint8_t *)usPixels, ucMask, pDraw->iWidth, DRAW_TO_LCD);
} }
return 1;
} /* PNGDraw() */ } /* PNGDraw() */
void setup() { void setup() {
@@ -1,441 +0,0 @@
// Created with image_to_c
// https://github.com/bitbank2/image_to_c
//
// octocat_small
// Data size = 6834 bytes
//
// PNG, Compression=Flate, Size: 120 x 100, 32-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t octocat_small[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x64,0x08,0x06,0x00,0x00,0x00,0x4d,0x70,0xf4,
0x32,0x00,0x00,0x00,0x06,0x62,0x4b,0x47,0x44,0x00,0xff,0x00,0xff,0x00,0xff,0xa0,
0xbd,0xa7,0x93,0x00,0x00,0x1a,0x67,0x49,0x44,0x41,0x54,0x78,0xda,0xed,0x9d,0x7b,
0x7c,0x9c,0xd5,0x79,0xe7,0xbf,0xe7,0xbc,0xef,0xdc,0x47,0xd2,0x48,0xa3,0x8b,0xaf,
0x1a,0x59,0xc2,0xb2,0x8c,0xaf,0xc1,0x18,0x03,0xc6,0x80,0x81,0x40,0x80,0x82,0xb9,
0x14,0xd2,0x14,0xd8,0x66,0x83,0x5b,0x9a,0xa4,0x25,0xed,0x7e,0xf6,0x93,0x2e,0xc9,
0x36,0xbb,0x2d,0x01,0x92,0xb0,0x49,0xca,0x2e,0xd0,0xee,0xa7,0x62,0xb7,0x6d,0x48,
0x1b,0x4a,0x52,0x68,0xb2,0x21,0xa6,0x24,0xdc,0x52,0x27,0xe0,0x0b,0x26,0xbe,0x01,
0xb2,0xb1,0x35,0xb6,0xe5,0xab,0x2c,0xcd,0xe8,0x36,0xd7,0xf7,0x3d,0xfb,0xc7,0x7b,
0x46,0x96,0x34,0x23,0x5b,0x17,0x5b,0x23,0x4b,0x7e,0x3e,0x9f,0xf9,0x80,0xe6,0x1d,
0xbf,0xe7,0xf2,0x3b,0xcf,0xe5,0x3c,0xe7,0x79,0x9e,0x03,0x17,0x68,0x4a,0x93,0x28,
0x66,0xe3,0xf5,0xf3,0xe6,0x49,0xdb,0xb6,0x4b,0x75,0x3f,0xd2,0x42,0x88,0xb4,0x69,
0x9a,0xd9,0x3d,0x7b,0xf7,0xaa,0xf3,0x69,0x12,0xf5,0x38,0x5c,0x80,0x07,0x30,0x81,
0x54,0x6b,0x34,0xda,0x3b,0xed,0x01,0xae,0x8b,0x44,0xd6,0x02,0x3f,0xd4,0x13,0xd3,
0x01,0x7c,0x00,0xfc,0x0a,0xf8,0x19,0xb0,0xbd,0x35,0x1a,0x4d,0x4e,0x56,0x50,0xeb,
0x22,0x11,0x09,0x84,0x80,0xeb,0xf5,0x67,0x25,0x10,0x01,0x7c,0xc0,0xfb,0xc0,0xf5,
0x93,0xa1,0xff,0xa2,0xc8,0x13,0xf4,0x34,0xf0,0xf9,0x21,0x8f,0x14,0x90,0xd6,0x93,
0xf4,0x77,0xc0,0x8b,0x40,0x47,0x6b,0x34,0xaa,0x26,0x09,0xb0,0x26,0xb0,0x10,0x78,
0x10,0xb8,0x07,0xa8,0xd6,0x5c,0x3b,0x90,0x52,0xc0,0xda,0xd6,0x68,0xf4,0xd7,0xc5,
0xee,0xaf,0x51,0xac,0x86,0x43,0xa1,0x90,0x0f,0x78,0x12,0xa8,0x28,0xb0,0xe8,0x4c,
0x60,0x0e,0x70,0x33,0x70,0x2f,0x20,0x43,0xa1,0xd0,0x47,0xb1,0x78,0x3c,0x59,0x44,
0x60,0x8d,0x50,0x28,0xb4,0x18,0xf8,0x26,0xf0,0x3f,0x80,0x35,0x40,0x29,0x20,0x87,
0x99,0xd7,0x43,0xa1,0x50,0xe8,0xed,0x58,0x3c,0x5e,0x54,0x80,0xcd,0x22,0xb6,0x7d,
0x91,0x06,0xf1,0x4c,0x0b,0xb0,0x5e,0x4f,0xe8,0x83,0x75,0x91,0xc8,0xa3,0xc0,0x4b,
0xad,0xd1,0x68,0x7a,0x18,0x10,0x84,0xfe,0x37,0x86,0x9e,0x78,0xb7,0x16,0xa3,0x01,
0xc0,0xab,0xbf,0xb7,0xb5,0x84,0xe8,0x03,0xe2,0xfa,0xbf,0x96,0xfe,0xde,0x6a,0x8d,
0x46,0xed,0x02,0xef,0x9c,0x01,0xfc,0x67,0xcd,0xb5,0x65,0x23,0x94,0x8c,0xab,0xf5,
0xfc,0x66,0xa6,0x2b,0xc0,0xcb,0x01,0xd7,0x08,0x7f,0x2b,0x81,0x45,0xc0,0xf7,0x80,
0x57,0xea,0x22,0x91,0x47,0x80,0x8f,0x34,0x60,0x7e,0x60,0x3e,0xb0,0x04,0x58,0x00,
0x34,0x00,0xb5,0xc0,0x6c,0x0d,0xae,0xd4,0x13,0x3e,0x54,0x1d,0xd9,0xfa,0x93,0x00,
0x8e,0x00,0x51,0x60,0x5f,0x5d,0x24,0xd2,0x02,0xec,0x00,0x76,0x03,0xbd,0xc0,0x9d,
0xc0,0xa3,0xc0,0xbc,0x51,0xaa,0xb4,0x65,0x7a,0x81,0x4d,0x3f,0x80,0x35,0x57,0x5c,
0x34,0x06,0x15,0xe1,0x02,0xd6,0x01,0x97,0x03,0x2f,0xe8,0x77,0xac,0xd0,0x40,0x9a,
0x63,0x54,0x39,0x01,0xa0,0x52,0x2f,0x90,0x1c,0xf0,0x59,0x0d,0xee,0x61,0xa0,0x71,
0x14,0x0b,0x71,0x20,0x95,0x02,0xb3,0x80,0x3d,0xd3,0x91,0x83,0x73,0x62,0x6f,0xac,
0x54,0x03,0x3c,0x7c,0x8e,0xfa,0x96,0x13,0xed,0x6e,0xa0,0x7c,0x9c,0xef,0x99,0x59,
0x6c,0x80,0x65,0x11,0xdb,0x2d,0x99,0x06,0x3e,0x86,0xa2,0x8f,0x51,0x4e,0xd3,0xb6,
0xa7,0xcd,0x18,0x8b,0xd5,0x01,0x05,0xf4,0x4c,0x71,0x70,0x95,0xd6,0xe3,0xd3,0x12,
0x60,0x1b,0x38,0x36,0xc5,0x01,0xb6,0x81,0xa3,0xd3,0x12,0x60,0xed,0x95,0xda,0xab,
0xf7,0x9f,0x53,0x95,0x7a,0x80,0x83,0xd3,0x59,0x47,0x6c,0x2d,0xf6,0x1e,0xf1,0x1c,
0xd3,0xfb,0x40,0x72,0x3a,0x03,0xdc,0x02,0x7c,0x3c,0x85,0x01,0xae,0x1a,0xe7,0x56,
0xf0,0xbc,0x07,0x38,0x02,0x04,0xa7,0x30,0xc0,0x4b,0x81,0xff,0x5b,0x17,0x89,0x84,
0x8a,0xd9,0x89,0xa2,0x1c,0x36,0xd4,0x45,0x22,0xe5,0xc0,0x0f,0x38,0xe5,0x3d,0x9a,
0xaa,0xfb,0xe0,0x3a,0xa0,0x2c,0x14,0x0a,0xbd,0x16,0x8b,0xc7,0xed,0x69,0xc1,0xc1,
0xfa,0xb8,0xed,0x6b,0xc0,0x15,0xd3,0x64,0x1f,0xfc,0x20,0x70,0xfb,0x74,0x12,0xd1,
0x57,0x01,0x7f,0xc0,0xf4,0x70,0x74,0x80,0x13,0xcc,0xf0,0x58,0x5d,0x24,0x52,0x39,
0xe5,0x45,0x74,0x5d,0x24,0xe2,0x05,0xfe,0x16,0xe7,0xf4,0x67,0x3a,0x51,0x05,0x10,
0x0f,0x85,0x42,0x1b,0x27,0xfa,0x7c,0x78,0xa2,0xb9,0xe8,0x7a,0xe0,0x4a,0xa6,0x1f,
0x49,0x2d,0xb5,0xca,0x8b,0xd1,0xf0,0x44,0xea,0xde,0xcf,0xe1,0x9c,0xd2,0x4c,0x47,
0x9a,0x0b,0xdc,0x3a,0x95,0x75,0xf0,0x2c,0xe0,0x06,0xa6,0x2f,0x19,0xc0,0x5d,0x7a,
0xa1,0x4f,0x49,0x80,0xaf,0xc7,0x39,0x5c,0x9f,0xce,0x74,0x15,0x23,0x0b,0xf9,0x39,
0xbf,0x00,0xae,0x8b,0x44,0x0c,0xbd,0x2d,0x32,0xa6,0x39,0xc0,0xa5,0x38,0x0e,0x90,
0x29,0xc7,0xc1,0x26,0x4e,0x8c,0xd2,0x59,0x21,0x35,0xe4,0xff,0xcf,0x76,0x3c,0x6d,
0xee,0x7d,0x42,0x08,0x84,0x38,0xab,0xef,0x37,0x81,0xc5,0x13,0x09,0xf0,0x44,0xe9,
0x03,0x17,0x8e,0x6b,0x72,0x4c,0xe4,0x73,0x9b,0x54,0x95,0x05,0x59,0x54,0x37,0x9b,
0x9a,0x8a,0x32,0x4a,0x03,0x3e,0xa4,0x10,0x08,0xc0,0x46,0xa1,0x14,0x24,0x52,0x69,
0xfd,0xc9,0xd0,0xdd,0xdb,0x47,0x5f,0x3a,0xc3,0xf1,0xce,0x2e,0x12,0xc9,0x34,0x96,
0xb2,0xb1,0x6c,0x85,0x52,0x0a,0x21,0x04,0x86,0x10,0x48,0x29,0xf1,0x79,0x5c,0x54,
0x97,0x97,0x12,0xf0,0xb8,0x29,0x09,0xf8,0xf1,0x79,0x5c,0xf8,0xbd,0x1e,0xbc,0x6e,
0x17,0x52,0xff,0x06,0x14,0x96,0x6d,0xd3,0x9b,0x48,0xd3,0x1e,0xeb,0x62,0x77,0xf4,
0x30,0x6d,0xed,0x31,0x7a,0x53,0x99,0xb1,0x32,0x54,0xa4,0x2e,0x12,0x11,0x13,0x15,
0xe7,0x3d,0x51,0x00,0xfb,0x19,0x43,0xf8,0x8a,0xcf,0xed,0x62,0xed,0xf2,0x05,0x5c,
0xb1,0xa4,0x91,0xc8,0x8c,0x2a,0x4a,0x4a,0x02,0x78,0x3d,0x6e,0x4c,0xd3,0x44,0x68,
0x4e,0xb3,0x6d,0x1b,0xcb,0xb6,0xb1,0xb2,0x16,0xd9,0x6c,0x96,0x4c,0x36,0x4b,0x36,
0x93,0xc5,0xb2,0x4f,0x79,0x06,0x2d,0xdb,0xc6,0xb2,0xec,0x53,0x00,0x4b,0x89,0x61,
0x9c,0x12,0x5e,0x86,0x94,0x98,0xa6,0x89,0xcb,0x65,0x62,0x9a,0x26,0xa6,0x69,0x60,
0x18,0x86,0x06,0xd8,0x69,0xc7,0xca,0x66,0x49,0xa5,0x33,0xf4,0xf4,0xf4,0x72,0xe8,
0xf8,0x49,0x36,0xef,0xde,0xcb,0xab,0x9b,0x76,0xd2,0x9d,0x4c,0x8f,0x76,0x58,0x35,
0x1a,0x68,0x6b,0x2a,0x01,0x5c,0x32,0x5a,0x75,0x30,0x27,0x5c,0xc6,0x67,0x6f,0xb9,
0x9a,0x95,0x8b,0x1b,0xa9,0xaa,0x0a,0x13,0xf0,0xfb,0x91,0x52,0x20,0x44,0x7e,0xe4,
0xaa,0x52,0x83,0x05,0xb7,0x52,0x0a,0xdb,0x56,0x58,0xb6,0x85,0x6d,0xd9,0xd8,0xb6,
0x03,0xae,0x42,0xc7,0xcf,0x6a,0xee,0x94,0x86,0xc4,0x90,0x46,0x81,0xf7,0x3a,0xa2,
0x39,0xbf,0x1d,0x47,0x0a,0x5c,0x54,0x9f,0x64,0xd1,0xfc,0x3a,0x3e,0xd1,0x38,0x8f,
0x7f,0xf8,0xd9,0xdb,0x7c,0xd4,0x76,0x62,0x34,0x43,0x0b,0x32,0x81,0x19,0x25,0x13,
0x05,0xf0,0xa8,0x8c,0xab,0xba,0xea,0x72,0xfe,0xf8,0xde,0x4f,0xb1,0x6a,0xd9,0x22,
0xca,0xca,0x4a,0x0a,0x82,0x3a,0x90,0x9c,0xc7,0x62,0xc0,0xdf,0x02,0x29,0xc1,0x3c,
0xcb,0x36,0x9d,0xa3,0x93,0x05,0x81,0x80,0x1f,0xbf,0xdf,0x47,0xb8,0x3c,0x44,0x79,
0x59,0x90,0x67,0x7f,0xf8,0x2a,0x3b,0xa3,0x47,0x47,0x33,0xe7,0x13,0x06,0xf0,0x44,
0x19,0x59,0x23,0x16,0x47,0xe1,0x12,0x3f,0x9f,0xbf,0xeb,0x93,0xac,0x5e,0xb1,0x8c,
0x50,0xa8,0x34,0x1f,0x5c,0x21,0x11,0xa6,0x1b,0x61,0xba,0x41,0x4c,0x40,0xf7,0x87,
0x69,0x4f,0x08,0x41,0x49,0x49,0x90,0x95,0xcb,0x16,0xf1,0xd0,0x5d,0x37,0x32,0xb7,
0x72,0xc4,0xbb,0x9f,0x09,0x3d,0x55,0x9a,0x28,0x0e,0x4e,0x8c,0xc4,0xd8,0x75,0x19,
0x92,0x07,0x6e,0x5a,0xcd,0x55,0x2b,0x97,0x13,0x0c,0xfa,0xf3,0x57,0x63,0x30,0x8c,
0x7b,0xf6,0x02,0x8c,0x40,0xc8,0xd1,0xbf,0xbd,0x31,0xd2,0x6d,0x1f,0x61,0xf7,0x9c,
0x3c,0x37,0xab,0x3f,0x18,0xc6,0x3d,0xbb,0x09,0x23,0xe0,0x80,0x67,0x15,0x68,0xcf,
0xe7,0xf3,0x72,0xd9,0xf2,0x45,0x7c,0xb6,0x23,0xc6,0x93,0xff,0xf8,0x0a,0xc9,0x4c,
0xf6,0x4c,0xaf,0xcd,0x9e,0x03,0xc3,0xbf,0xe8,0x1c,0x9c,0x1c,0x09,0x17,0x5f,0xd6,
0x54,0xc7,0xa7,0xd6,0x5c,0x46,0x59,0x69,0x7e,0x1c,0x80,0x51,0x5a,0x83,0x77,0xfe,
0x4a,0x8c,0xd2,0x4a,0x30,0x4c,0x84,0x61,0x62,0x94,0x56,0xea,0xef,0xaa,0xcf,0xbe,
0x4e,0x29,0xcb,0xb5,0x17,0x06,0xc3,0x84,0xd3,0xb4,0x17,0xf0,0xfb,0xb8,0xee,0xf2,
0x4b,0xb8,0xfe,0x92,0x85,0x67,0x6d,0xb1,0x9f,0x6f,0x00,0xa7,0x39,0x43,0x98,0xac,
0xc7,0x65,0x70,0xfb,0x35,0x97,0x31,0xb3,0xa6,0x2a,0x5f,0x4a,0xba,0x3c,0xb8,0x23,
0x8b,0x11,0xa6,0x1b,0x65,0xdb,0x74,0x1c,0x3c,0x40,0x74,0xeb,0x66,0x3a,0xdb,0x0e,
0x81,0x34,0x71,0x47,0x96,0x20,0x5c,0x9e,0xb3,0x27,0x95,0x5d,0x5e,0xdc,0x91,0x25,
0x20,0x4d,0x4e,0x1e,0x88,0x12,0xdd,0xba,0x99,0xd8,0xe1,0x36,0x94,0x6d,0x23,0x4c,
0xb7,0xee,0xcb,0xe0,0xf6,0xc2,0xe1,0x72,0x6e,0xbb,0xe6,0x32,0x82,0xde,0x33,0xba,
0xda,0x7b,0x26,0x12,0xe0,0x89,0x12,0xd1,0x59,0xa0,0x9d,0xd3,0xc4,0x28,0xd5,0xd5,
0x84,0xb9,0x74,0xf1,0x82,0x41,0xdb,0x97,0xfe,0x4e,0x56,0x46,0x90,0x5e,0x3f,0xca,
0xb6,0x69,0x79,0xeb,0x0d,0x3e,0xfc,0xe7,0xef,0x61,0xf5,0xf5,0x60,0xf8,0x02,0x2c,
0xba,0xff,0x41,0x1a,0xae,0xbc,0x0a,0xb3,0x32,0x42,0xe6,0x48,0xcb,0xd9,0x99,0x94,
0xca,0x08,0xc2,0xe5,0xe1,0xc3,0xd7,0x5f,0xe3,0xa3,0x17,0xbf,0x8f,0x9d,0xec,0xc3,
0xf0,0x07,0x59,0xfc,0xc0,0x7a,0xea,0xaf,0x58,0x8d,0xf4,0x06,0x30,0x2b,0x6b,0xc9,
0x1c,0x3d,0x95,0x95,0x22,0x85,0x60,0xf1,0x82,0x7a,0x96,0xd6,0xcf,0xe1,0x57,0xbb,
0xf7,0x9d,0xee,0xf5,0xf1,0xa9,0xc8,0xc1,0x16,0x4e,0xf6,0xde,0xf0,0xe2,0xf9,0xe2,
0x06,0x2a,0xca,0x0b,0x18,0x2a,0x52,0x62,0x94,0xcf,0x00,0x04,0x1d,0x07,0xa3,0x08,
0x29,0x59,0x70,0xcf,0x7d,0x08,0xc3,0x20,0xdb,0xdb,0xcd,0xae,0xe7,0x9f,0xa3,0xb3,
0xed,0x10,0x46,0x68,0xc6,0xd9,0x31,0xba,0x74,0x7b,0x27,0xf6,0xef,0xe7,0xd8,0xf6,
0x6d,0x2c,0xba,0xef,0x73,0xb8,0xcb,0x2b,0xc9,0xf6,0x74,0xb1,0xf3,0xf9,0x66,0xe2,
0x87,0xdb,0x00,0xe1,0xf4,0x69,0x48,0x7b,0xa5,0xc1,0x00,0xab,0x96,0x34,0x9e,0xc9,
0x49,0x76,0x72,0x22,0x93,0xd9,0x27,0x12,0xe0,0xd3,0x26,0x61,0x35,0xce,0x9b,0x8b,
0x69,0xe4,0x6f,0x6b,0x84,0xe1,0x46,0x7a,0x83,0x28,0xdb,0xe6,0xe0,0x7b,0x5b,0x98,
0xb3,0x6c,0x39,0xb5,0x97,0x5c,0x8a,0xf4,0x3a,0x46,0x58,0xb6,0xb7,0x9b,0x83,0x5b,
0x37,0x21,0xbd,0x01,0x84,0xe9,0x1a,0x77,0x47,0x85,0xe1,0x46,0x78,0xfc,0x44,0xdf,
0xd9,0x48,0xd5,0xc2,0x25,0xcc,0x5b,0x75,0x05,0xa5,0xf3,0x9c,0xf8,0x84,0x6c,0x77,
0x17,0x07,0xb6,0x6e,0x41,0x29,0x85,0xf4,0x95,0xe4,0xb5,0x27,0xa5,0xa4,0xa1,0x76,
0x16,0xa6,0x21,0x4f,0x67,0x41,0x1f,0x99,0x72,0x56,0x74,0x6b,0x34,0x6a,0xd7,0x45,
0x22,0xbb,0xf4,0x00,0x65,0xa1,0x7d,0x6c,0x59,0x49,0xb0,0xe0,0x7e,0x57,0x78,0xfc,
0x08,0x29,0xb1,0x2d,0x9b,0x63,0xef,0x6d,0xa6,0x73,0xaf,0xb3,0x4e,0xb2,0x3d,0x5d,
0xfd,0xbf,0x69,0xdf,0xb5,0x03,0x75,0xeb,0x3a,0x84,0x27,0x80,0xca,0xa4,0xc6,0xb7,
0xe2,0x3d,0x01,0x94,0xad,0x68,0xdf,0xf9,0x1b,0xd2,0x9d,0xed,0x1c,0xdb,0xbe,0x8d,
0xd8,0x87,0xdb,0x4f,0xb5,0xf5,0xc1,0x4e,0xd4,0xad,0xb7,0x21,0xa5,0x44,0xb8,0xfd,
0x79,0xed,0x95,0x04,0x03,0x98,0x86,0x24,0x6b,0xd9,0x63,0x92,0x64,0xe7,0xab,0x0e,
0x06,0xd8,0xac,0x8d,0x2d,0x6f,0x21,0x4f,0x94,0x31,0xcc,0xaa,0x17,0xd2,0xe9,0xa2,
0x6d,0x59,0x64,0xba,0xe3,0xf4,0xb4,0xee,0xcd,0x37,0xd1,0x63,0x9d,0x28,0x14,0x42,
0x9e,0x05,0xc7,0x86,0x34,0xb0,0xb3,0x19,0xb2,0x3d,0xdd,0x64,0x7b,0x7b,0xe8,0xdc,
0xf9,0xde,0xa0,0xc7,0xa9,0xce,0x76,0xed,0x3a,0x13,0xfd,0x7d,0x1b,0xca,0xc5,0x62,
0x78,0x3f,0x46,0x1a,0x27,0xa3,0x63,0xc2,0x68,0x22,0xcf,0x83,0x5b,0x80,0x03,0xc3,
0x3d,0xec,0x4d,0x24,0x0b,0x5a,0x1e,0xca,0xca,0x6a,0xd1,0x69,0x60,0x78,0xfd,0x85,
0xf7,0xcf,0x01,0xc7,0xfb,0xa7,0xec,0xb3,0xe0,0xde,0xb5,0x2d,0x67,0x0b,0xe6,0xf5,
0x15,0x6e,0x2b,0x58,0x9a,0x73,0x9d,0xa1,0xec,0xfc,0x3d,0x6f,0x3a,0x9d,0x19,0xe4,
0x07,0x1f,0x42,0x07,0x70,0xaa,0x09,0x4d,0x4e,0x0e,0xd6,0x99,0xf9,0x72,0xc0,0x67,
0x60,0x4d,0x0c,0x03,0x27,0x82,0xd0,0xcd,0xa9,0x1a,0x19,0x39,0xc3,0x22,0xab,0x3f,
0x1b,0x71,0x32,0xe6,0xf3,0xa8,0x23,0xde,0xd3,0x7f,0x18,0x30,0x08,0xe0,0x74,0x1f,
0xca,0xb6,0x91,0x52,0x52,0xb1,0x70,0x31,0x7d,0x6d,0xf9,0x12,0x2e,0xdc,0xb4,0xc8,
0x39,0xd6,0x4b,0x8d,0x3f,0x99,0xcf,0x4e,0xf5,0x22,0xa5,0xa0,0xbc,0x69,0x11,0x89,
0xa3,0x87,0xf2,0x9e,0x57,0x2c,0xb8,0x18,0x21,0x04,0xca,0xb6,0x51,0xa9,0xbe,0xbc,
0xe7,0xdd,0xbd,0x09,0xd2,0xd9,0x61,0x17,0xda,0xfb,0x40,0x69,0x5d,0x24,0x52,0x31,
0x60,0x9e,0x06,0x8a,0xef,0xac,0xe6,0xf2,0xb4,0xfe,0x3b,0x57,0x3b,0xc4,0xd6,0xf3,
0x68,0x03,0xf6,0x68,0x8c,0x34,0x73,0x18,0x10,0x73,0xe5,0x10,0x82,0x38,0xf5,0x2e,
0xe6,0xe2,0x94,0x0b,0x1a,0xce,0x70,0xc8,0x75,0x24,0xa5,0x3b,0x97,0x1d,0xe0,0x92,
0x93,0xfa,0x7d,0x6e,0x2d,0x9e,0x32,0x14,0x28,0x89,0xb0,0xf7,0xc0,0x61,0x94,0x52,
0x0c,0xf5,0xf2,0xab,0x6c,0x1a,0x3b,0xd1,0x83,0x11,0x0c,0x51,0xbb,0xf2,0x72,0x0e,
0xbf,0xfd,0x73,0xec,0x74,0x6a,0x80,0xce,0xf4,0x32,0x67,0xc5,0x4a,0x54,0xb2,0x07,
0x95,0x1d,0x7f,0xaa,0x93,0xca,0xa6,0x51,0xa9,0x3e,0x6a,0x57,0x5d,0xc1,0xd1,0x8d,
0x6f,0x60,0x67,0x4e,0x9d,0x16,0x49,0xaf,0x8f,0xb9,0x2b,0x2e,0x45,0x48,0x89,0xd5,
0x13,0x47,0x59,0x99,0x21,0xaa,0x46,0x71,0xbc,0x33,0x7e,0x3a,0x43,0xf3,0x04,0x70,
0xa3,0x76,0xfc,0x64,0xf4,0x77,0x39,0xb0,0x0c,0x3d,0x2f,0x6e,0xcd,0x28,0x62,0x00,
0xa3,0xa8,0x21,0x18,0x65,0x81,0x36,0x9c,0xe4,0xb6,0x36,0x20,0x25,0x84,0xc8,0xee,
0x6f,0x6d,0xb5,0x4e,0x0b,0x70,0x5d,0x24,0x52,0x03,0xdc,0x36,0x60,0x65,0x25,0x80,
0x56,0x60,0xbb,0xee,0x5c,0x76,0xc0,0x8a,0xb2,0x01,0x35,0x9a,0xd5,0xa4,0xc3,0x66,
0x6f,0x07,0x56,0x0d,0x7d,0xf6,0xde,0x47,0xfb,0xe8,0x4d,0x24,0x29,0x0d,0x0c,0x11,
0xc3,0xca,0xc6,0xea,0x3c,0x82,0x11,0x2c,0xa3,0x66,0xc1,0x02,0x22,0x37,0xaf,0xa3,
0xf5,0xa7,0x2f,0xa1,0xb2,0x19,0xa4,0xcb,0x4d,0xc3,0xed,0xf7,0x50,0x55,0xdf,0x40,
0xf6,0x70,0x0b,0xa8,0xb3,0xe0,0xe6,0x55,0x36,0x56,0xec,0x28,0x33,0x9b,0x16,0x52,
0x7b,0xd3,0xed,0x44,0x37,0xfc,0xab,0x6e,0xcb,0xc3,0x45,0xeb,0xee,0xa5,0xb2,0x6e,
0x1e,0x28,0x85,0xd5,0x79,0x24,0xaf,0x3d,0xdb,0x56,0x7c,0xd4,0x7a,0x68,0xb8,0x37,
0xc7,0x80,0x6f,0xb6,0x46,0xa3,0x47,0x46,0x29,0x31,0x29,0x20,0x35,0xbd,0x38,0x31,
0x6e,0x11,0x9c,0x28,0x55,0x53,0x29,0x45,0x5d,0x24,0xd2,0x2d,0x84,0x78,0x61,0x20,
0xd0,0xe6,0x60,0x6b,0x56,0xb4,0x2b,0xa5,0xbe,0x9f,0x13,0xa9,0x23,0x01,0x4f,0x17,
0x34,0x93,0x43,0xc4,0x74,0x18,0xa7,0xb0,0x49,0x39,0x4e,0x98,0x4a,0x50,0xaf,0x4c,
0xa5,0xb7,0x4b,0x97,0x0e,0x11,0x4f,0x1c,0xeb,0xe8,0x62,0xdf,0xc1,0xa3,0x2c,0x6f,
0xaa,0xcf,0xf7,0x92,0xb4,0x1f,0xc0,0xac,0x9a,0x8b,0xf4,0x06,0x59,0x76,0xc7,0xdd,
0x54,0x37,0x2e,0x24,0x7e,0xf8,0x10,0xa1,0xb9,0xb5,0xcc,0x5c,0xb0,0x10,0xd2,0x09,
0xb2,0xed,0xa7,0x37,0x4e,0x95,0x52,0xa4,0x13,0x49,0x5c,0x1e,0x0f,0xd2,0x38,0xbd,
0xe9,0x91,0x3d,0x11,0xc5,0xac,0x9c,0xcb,0xf2,0xbb,0xee,0xa1,0xa6,0xe9,0x62,0xe2,
0x87,0xdb,0x28,0xaf,0x8d,0x30,0xa3,0xa9,0x09,0x21,0x0d,0xec,0x44,0x0f,0xd9,0xf6,
0x7c,0x73,0xa2,0x27,0x91,0x60,0xf3,0xae,0x61,0x77,0x83,0xfb,0x80,0x3b,0xeb,0x22,
0x11,0x4b,0x83,0x94,0xd0,0x5e,0xad,0xb8,0xd6,0xcb,0xed,0x7a,0x11,0x64,0x06,0x8a,
0x67,0x8d,0x81,0x35,0xc4,0xd5,0x9b,0xd4,0xbf,0xdd,0x3d,0x00,0x03,0x13,0x30,0x87,
0x72,0xb1,0x18,0xc5,0x6a,0xca,0xbd,0xc4,0x85,0x53,0x5c,0xa4,0x1e,0xa7,0xce,0x95,
0x39,0x44,0x5c,0xa7,0x75,0x67,0x4f,0x02,0x9d,0x40,0x17,0x4e,0x2d,0xaa,0x9c,0x93,
0xdd,0x0d,0xbc,0x0c,0x5c,0x3b,0xb4,0x8d,0xf5,0xeb,0xd6,0xf2,0xc7,0x9f,0x59,0x57,
0xd0,0xa2,0x36,0x4a,0xaa,0xf0,0x34,0x5c,0x72,0xca,0x25,0xa9,0xc5,0xb9,0xca,0xa4,
0x48,0x7e,0xfc,0x1e,0x76,0xf7,0xe9,0xcf,0x64,0x0f,0xed,0x69,0xe5,0xc3,0x37,0x7e,
0xcd,0x8c,0x85,0x17,0xb1,0xe8,0xaa,0x4b,0xcf,0x78,0x04,0x69,0x94,0x56,0xe3,0xa9,
0xbf,0x04,0xe1,0x72,0xf7,0xb7,0x05,0xa0,0x32,0x29,0x52,0x1f,0x6f,0xc5,0xea,0x6e,
0xcf,0xdf,0x26,0xec,0x6c,0xe1,0x0b,0x4f,0xfc,0x6f,0x12,0xe9,0x4c,0x21,0xff,0xf3,
0x27,0x71,0x52,0x66,0x73,0x25,0x9d,0x3c,0x38,0x41,0x88,0xa5,0x38,0x81,0xf1,0x55,
0x9c,0xaa,0x16,0x94,0xc3,0x46,0x69,0x30,0xf7,0xeb,0x05,0xd2,0x39,0x1a,0xe6,0x3b,
0xad,0x91,0xa5,0xc3,0x3b,0xbd,0x38,0xf5,0xa1,0x16,0x31,0x38,0x1a,0xf0,0x30,0x4e,
0xea,0xe7,0x3b,0x43,0x0c,0x82,0x91,0x88,0xec,0x84,0xae,0x73,0xb5,0x61,0xc8,0x3b,
0x79,0xf9,0x8d,0x4d,0xdc,0xba,0xe6,0x32,0xe6,0x47,0x66,0xe7,0x2b,0xb0,0xee,0x13,
0x24,0xf7,0x6c,0xc6,0x3d,0xbb,0x11,0x19,0x70,0xe2,0xc7,0xed,0xde,0x4e,0xe7,0x74,
0xa7,0xb7,0xf3,0x8c,0xdc,0xdb,0x17,0xef,0xc6,0x4a,0xa5,0xe9,0x39,0xd9,0x59,0xd0,
0x98,0xcb,0x6b,0xaf,0xeb,0x38,0xc9,0xbd,0x9b,0x70,0xcf,0x1a,0xd0,0x5e,0x4f,0x27,
0xe9,0xc3,0x85,0xdb,0xcb,0x5a,0x16,0x3f,0x7f,0x67,0x5b,0x21,0x70,0x15,0x4e,0x3d,
0xce,0x77,0x5b,0xa3,0xd1,0x81,0x66,0x77,0x9f,0x06,0x6c,0x38,0x43,0x36,0x27,0x11,
0x03,0x38,0x49,0x6c,0x6b,0xf4,0x02,0x00,0xb0,0xeb,0x22,0x91,0xa3,0x38,0xf5,0xbc,
0x8e,0x02,0x99,0xd6,0x68,0xb4,0xa0,0x65,0x37,0x68,0x94,0xba,0x6a,0xea,0x12,0x9c,
0xda,0x53,0x1e,0xbd,0x5a,0xf6,0x03,0x3b,0xb5,0x48,0xc8,0xe2,0x54,0x83,0x1b,0x97,
0xab,0x4d,0x4b,0x83,0x2f,0xe1,0x94,0x05,0x1c,0x64,0x70,0xdd,0x71,0xf5,0x0a,0x1e,
0x59,0xff,0x69,0x02,0x3e,0xef,0x30,0xae,0x26,0xd9,0xbf,0xdf,0x55,0xb6,0x35,0x62,
0xbd,0x9b,0x4e,0xa6,0x38,0x7e,0xe0,0x30,0xa1,0xea,0x30,0xc1,0x50,0xe9,0x28,0x5c,
0x5b,0x23,0x6b,0x6f,0xe7,0x9e,0x56,0x1e,0x7a,0xec,0x59,0xe2,0xbd,0x79,0x39,0xdf,
0x87,0x80,0x6b,0x5b,0xa3,0xd1,0x71,0xe7,0x42,0x0f,0x30,0x80,0x73,0x52,0x74,0x29,
0x4e,0x08,0x90,0xd0,0x62,0x7e,0x63,0x6b,0x34,0x7a,0x68,0x58,0x80,0xeb,0x22,0x11,
0xb7,0x36,0x80,0x76,0x01,0xdd,0xa3,0x11,0x05,0x63,0xe8,0xac,0x1b,0xf8,0x2e,0xf0,
0xd0,0x40,0x7d,0x6c,0x1a,0x92,0x2f,0xfd,0xce,0x2d,0xdc,0x77,0xeb,0x75,0xb8,0x5d,
0xe3,0xf7,0xc3,0xd8,0x7a,0x4f,0x9a,0x8b,0xaf,0xca,0x71,0xb4,0x6d,0x59,0x18,0xe6,
0xd9,0xf1,0xf3,0xc4,0xba,0x7b,0xf9,0xda,0x33,0xdf,0xe3,0xf5,0xad,0xbb,0x0b,0x89,
0xe6,0xff,0x00,0xfc,0xe8,0x5c,0xcd,0xe3,0x80,0x52,0xc6,0xd5,0x40,0x8d,0x61,0x18,
0xef,0x7d,0xbc,0x6f,0x9f,0x3d,0x6a,0x1d,0x7c,0x8e,0x40,0xf6,0x03,0x7f,0x05,0xfc,
0xc7,0x81,0xea,0xc2,0xeb,0x36,0xf9,0xa3,0x7b,0x6f,0xe6,0xde,0x9b,0xae,0xc6,0xef,
0x1d,0xdf,0x31,0xe0,0x89,0x43,0x47,0xe8,0xe9,0xec,0xa2,0x6e,0x71,0x63,0xbf,0x58,
0x6e,0x6f,0x3b,0x46,0x57,0x7b,0x07,0xf5,0x4b,0x9b,0x40,0x8c,0x6f,0x0a,0x7a,0x13,
0x49,0xfe,0xe6,0xc5,0x57,0xf8,0xfb,0xff,0xf7,0x16,0xb6,0x1a,0x84,0x61,0x0a,0xf8,
0x0a,0xf0,0xd4,0x70,0xe2,0x73,0x22,0xa8,0xa8,0x81,0xe8,0xb1,0x78,0x3c,0x13,0x0a,
0x85,0x5e,0xd3,0xc6,0xd9,0xaa,0x9c,0xb8,0xce,0x5a,0x36,0x9b,0x76,0xed,0xa5,0x23,
0x16,0xa7,0x7e,0xf6,0x0c,0x4a,0x02,0xfe,0x33,0xea,0xcc,0xe1,0xc8,0xe3,0xf3,0x71,
0x70,0xf7,0x1e,0x92,0xbd,0x09,0x84,0x94,0x74,0x1c,0x3d,0xce,0xc1,0x9d,0x2d,0xcc,
0x5b,0xb6,0x10,0xd7,0x38,0x16,0x8f,0x52,0xd0,0x1e,0x8b,0xf3,0xd7,0x2f,0xfc,0x94,
0xef,0x6f,0xd8,0x38,0x14,0xdc,0x5e,0xe0,0xbf,0x00,0x4f,0x17,0x13,0xdc,0xa2,0x03,
0xac,0x41,0xce,0x86,0x42,0xa1,0x7f,0xd7,0x5e,0x9e,0x15,0x7a,0x8b,0x25,0x6c,0xa5,
0xd8,0xbd,0xbf,0x8d,0x37,0x37,0x6f,0xc7,0x65,0x4a,0xc2,0xa1,0x12,0xfc,0x3e,0x2f,
0x72,0x94,0x40,0x4b,0x43,0x52,0x39,0x77,0x26,0x89,0x9e,0x3e,0x3a,0x8f,0x1c,0x47,
0x48,0x41,0xfd,0xf2,0x45,0xf8,0x4a,0x02,0x63,0x04,0x56,0x91,0x4c,0x67,0x78,0x67,
0xfb,0x07,0x3c,0xf1,0xdc,0x8b,0xbc,0xb6,0x79,0xc7,0x40,0x70,0x95,0x36,0x3e,0xd7,
0x03,0xff,0x54,0x6c,0x70,0x8b,0x2e,0xa2,0x0b,0x88,0xec,0x1a,0xe0,0x4f,0xf5,0x04,
0x55,0xe4,0xfa,0x27,0x85,0x60,0x46,0x45,0x29,0x37,0x5d,0xb1,0x9c,0xd5,0xcb,0x2f,
0xa6,0xa1,0x76,0x16,0xe5,0xa5,0x41,0x27,0xf4,0x75,0x14,0x80,0x8f,0xc4,0x7a,0x2e,
0xa8,0xc7,0x95,0xc2,0xb2,0x2c,0x8e,0x77,0xc4,0xd9,0xb9,0x67,0x3f,0x3f,0x7e,0xf3,
0x5d,0xde,0xdd,0xfd,0x31,0xc9,0xf4,0x20,0x5f,0x74,0x37,0x4e,0x35,0xdc,0xc7,0x5b,
0xa3,0xd1,0xb6,0xc9,0x32,0xa7,0x62,0x02,0x40,0xcb,0x79,0x5f,0xec,0x51,0x38,0x4e,
0xea,0x81,0xdf,0x07,0xee,0xc3,0x89,0x02,0xe9,0x97,0x34,0x1e,0x97,0x41,0x79,0x30,
0xc0,0xd2,0xf9,0xb5,0x2c,0x5f,0x50,0xcf,0xdc,0x19,0x55,0x54,0x55,0x94,0x11,0x2a,
0x09,0x12,0xf4,0x7b,0xf1,0x7b,0x1d,0x2e,0xef,0x07,0x52,0x14,0x1e,0xa8,0x2a,0xf0,
0x87,0xc2,0x89,0x7b,0x4e,0xa4,0xd2,0xf4,0xf6,0x25,0x89,0x75,0xf7,0x70,0xbc,0x23,
0xce,0x81,0x23,0xc7,0xd8,0xbc,0x6b,0x0f,0x3b,0xf6,0x1e,0xa4,0xa3,0xbb,0x17,0xcb,
0x56,0x03,0xf7,0xfd,0x71,0xe0,0x47,0xc0,0x33,0xc0,0x8e,0xc9,0xc0,0xb5,0x13,0x02,
0x70,0x43,0x7d,0xbd,0xb0,0x2c,0xeb,0x26,0x9c,0x7a,0xcb,0x41,0xbd,0x5d,0x78,0x1b,
0x78,0x73,0x24,0x17,0x56,0x68,0xa0,0x2b,0x70,0xaa,0xbe,0xdf,0xa9,0xf7,0x81,0x65,
0x43,0xb7,0x55,0x52,0x08,0xfc,0x1e,0x17,0x3e,0x8f,0x0b,0xd3,0x30,0x70,0xbb,0x4c,
0xaa,0xcb,0xcb,0x98,0x11,0x0e,0xe1,0xf1,0xb8,0x71,0xbb,0x4c,0xdc,0xa6,0x89,0x69,
0x9e,0x3a,0xc6,0x53,0x80,0x65,0x59,0x64,0x2d,0x9b,0xac,0x65,0x91,0xc9,0x66,0x49,
0xa7,0xb3,0x9c,0x88,0x75,0x71,0xec,0x64,0x8c,0x44,0x3a,0x8d,0x65,0xd9,0x24,0x52,
0x19,0xfa,0x52,0xe9,0x81,0x80,0xe6,0x7c,0xca,0x7d,0x38,0xc7,0x9f,0x3f,0x06,0x5e,
0x02,0xda,0x26,0x1b,0xb0,0xe7,0x1c,0x60,0xbd,0x0d,0xfa,0x89,0x76,0xae,0x23,0x0c,
0x83,0x4f,0xac,0xfb,0xdd,0x4c,0xd7,0x89,0xa3,0x3b,0xf7,0xfe,0xf2,0xb5,0xaf,0x01,
0x1b,0x86,0x6c,0xfc,0x39,0x83,0xd3,0x25,0xa4,0xfd,0xae,0xab,0xb5,0xab,0x73,0xb1,
0xf6,0x02,0xe5,0x0e,0x46,0xce,0xf6,0x58,0x06,0xba,0x08,0x7b,0x70,0x0a,0x90,0x6f,
0xd5,0xce,0x9d,0x5f,0xe2,0x94,0x62,0xcc,0x4c,0x96,0xbb,0x24,0x8a,0x22,0xa2,0x1b,
0xe6,0x37,0x36,0x19,0x1e,0xef,0x33,0xe9,0xee,0xf8,0x1a,0x21,0xa5,0x6b,0xc5,0x5d,
0x0f,0x90,0x4d,0xa7,0x39,0xb4,0xfb,0xfd,0x44,0xef,0xc9,0x13,0x4f,0x26,0x3a,0xdb,
0x1f,0x6f,0x8d,0x46,0x53,0xa3,0x5c,0x38,0x42,0x73,0xb1,0x17,0xe7,0x94,0xab,0x11,
0xa8,0x4f,0xa7,0xd3,0x77,0x5b,0x96,0x75,0xb9,0x70,0x28,0xe7,0x5c,0x3f,0xe3,0x00,
0x55,0xce,0x24,0xa6,0x3f,0x35,0xc5,0x72,0xbb,0xdd,0x2f,0x1a,0x86,0xb1,0x09,0xe7,
0xfc,0x76,0x2f,0x4e,0x14,0x46,0x9f,0xf6,0x0b,0xd8,0x9c,0x47,0x74,0x4e,0x01,0xfe,
0xdb,0x8f,0x3a,0x3d,0x99,0x54,0xf2,0x9e,0xef,0x7e,0xfa,0x86,0x74,0xa6,0xaf,0xe7,
0x6b,0xc0,0xc5,0xee,0x92,0x32,0xf1,0x99,0xc7,0x9e,0x61,0xff,0x6f,0xb6,0x64,0xde,
0x6e,0xfe,0xee,0x37,0x11,0xe2,0x2f,0x46,0xca,0xc9,0x05,0xb7,0x01,0x86,0x21,0x95,
0x52,0xbf,0x07,0x3c,0x65,0x48,0x59,0x62,0xba,0x5c,0xb8,0x4c,0xd3,0x31,0xc0,0xa4,
0x74,0x74,0x71,0x01,0xa0,0x15,0xa0,0x6c,0x1b,0xcb,0xb2,0xc8,0x64,0x32,0xa4,0xd3,
0x69,0x2c,0xbb,0x3f,0x41,0x6d,0xb7,0x94,0xf2,0x33,0x96,0x65,0x6d,0xe7,0x3c,0xa7,
0x73,0x0a,0x70,0x73,0x4b,0x6c,0x11,0xf0,0x54,0x36,0x93,0xbe,0xf5,0x1b,0xb7,0xac,
0x0c,0x01,0xcf,0x02,0x77,0x94,0xcd,0xae,0x93,0xb6,0x6d,0xe1,0xf6,0x05,0x92,0xdd,
0xc7,0x8f,0x3c,0x90,0xee,0x89,0x8f,0xd9,0xd3,0x53,0x53,0x5d,0x7d,0x0b,0x42,0xbc,
0xe0,0x76,0xb9,0x82,0x39,0x6f,0xd5,0x68,0x2d,0xe5,0x5c,0x52,0x59,0x26,0x93,0xa1,
0xaf,0xaf,0x8f,0xee,0x9e,0x1e,0x94,0x52,0xbb,0xa4,0x94,0x37,0x5b,0x96,0x75,0xf0,
0x7c,0x06,0xf8,0x5c,0x87,0xec,0x5c,0x0f,0xac,0x34,0x5d,0xee,0x19,0xad,0xd1,0xe8,
0x31,0xed,0xb1,0xda,0x10,0x6f,0x6b,0x55,0x28,0xc5,0xfd,0x8f,0x3f,0xed,0x5d,0x76,
0xf3,0x5d,0x4f,0xa0,0xd4,0x98,0x6a,0x3a,0xd6,0x45,0x22,0x61,0x9f,0xcf,0xf7,0xa4,
0xcf,0xeb,0x0d,0x1a,0x86,0xd1,0x9f,0x1c,0x36,0xea,0x55,0xae,0xb3,0x0d,0x3d,0x1e,
0x0f,0xe5,0xe5,0xe5,0xcc,0x9c,0x31,0x03,0x8f,0xdb,0x7d,0xb1,0x6d,0xdb,0x5f,0x37,
0x0c,0xc3,0xbc,0x00,0x70,0x61,0xee,0x95,0x38,0x97,0x66,0x78,0xd1,0x75,0xb1,0x5a,
0xa3,0xd1,0x2e,0xe0,0x8b,0x40,0xb4,0xaf,0xe3,0x04,0x5b,0x7e,0xf6,0x32,0x27,0x0f,
0x1f,0x68,0x10,0xd2,0x78,0x7c,0x5e,0x5d,0x9d,0x67,0x94,0xe0,0x0a,0xe0,0xb3,0x40,
0xd3,0xd9,0xee,0xbb,0xcb,0xe5,0xa2,0xaa,0xaa,0x4a,0x78,0x3d,0x9e,0x7b,0x94,0x52,
0x2b,0x2f,0x00,0x5c,0x80,0xd6,0x37,0x86,0x6c,0xe0,0x6f,0x80,0x47,0x80,0x77,0x07,
0x3c,0x8a,0x02,0x7f,0x69,0xa5,0x53,0xd9,0x8d,0x7f,0xff,0x34,0xc7,0x5a,0x76,0x8b,
0x75,0x5f,0xfd,0xd6,0x7d,0x0b,0xae,0xbb,0xf5,0xcb,0x75,0x91,0xc8,0x68,0x02,0x9b,
0xbd,0xc0,0x03,0xe7,0x6a,0x0c,0x86,0x61,0x10,0x0e,0x87,0x7d,0xa6,0x69,0xde,0x6f,
0x18,0x86,0xbc,0x00,0x70,0x61,0x90,0x77,0xaf,0x6f,0x0c,0x7d,0x67,0x7d,0x63,0xa8,
0x3b,0xf7,0x9d,0xd6,0xb5,0x3f,0x00,0xfe,0x3d,0x27,0x1e,0x67,0x34,0x34,0xba,0xe6,
0x2e,0x5c,0xfa,0xe7,0xc0,0xb7,0x46,0x52,0x9d,0xb5,0x76,0xee,0x5c,0xa1,0x94,0xba,
0x18,0xe7,0x9e,0xa4,0xd1,0x6c,0x7b,0xf6,0x6b,0xc7,0xc4,0x88,0xc8,0x34,0x4d,0x42,
0x65,0x65,0x37,0xb8,0x5c,0x2e,0xef,0x05,0x23,0x6b,0xf4,0xfa,0xf3,0x1a,0xe0,0x15,
0x10,0x7e,0x5f,0x45,0x25,0x56,0x26,0xcd,0xbc,0x4b,0x57,0xdb,0x86,0xe9,0xda,0xfe,
0xe1,0x1b,0xaf,0xfc,0x95,0x9d,0xcd,0xfc,0x14,0x27,0x1a,0x24,0x17,0x51,0x28,0x01,
0xb7,0x90,0xc6,0xa2,0x92,0x19,0x73,0x6e,0x3f,0x79,0x28,0xfa,0x80,0x4b,0x52,0x3b,
0x9c,0x77,0xb1,0xc0,0xe2,0x4d,0xe1,0x44,0x91,0x7c,0x0a,0xa7,0x18,0x6a,0x21,0xc3,
0x3a,0x6f,0x3e,0x6c,0xdb,0xee,0x4b,0xa7,0xd3,0x4d,0x47,0x8f,0x1d,0x3b,0x2f,0x8d,
0xad,0x62,0x1a,0x10,0x1b,0x81,0x66,0x50,0x7f,0x94,0xe8,0x38,0x21,0x0d,0xb7,0x87,
0xc5,0xd7,0xde,0x24,0x67,0xcd,0x6f,0x5a,0x7e,0x60,0xc7,0x96,0xe7,0xca,0x67,0xd5,
0xc6,0xaa,0xeb,0x2e,0xda,0xb9,0x7d,0xc3,0xbf,0x1c,0x06,0xa1,0x16,0xae,0xbd,0xa5,
0xea,0xe0,0xae,0x6d,0x0b,0x12,0x9d,0x27,0x6b,0xee,0xfe,0xca,0x13,0xee,0x7f,0xfb,
0x3f,0x4f,0x8b,0xb6,0xf7,0x7e,0x55,0xe8,0xbd,0x1f,0x69,0x35,0x70,0x63,0x01,0x00,
0x7b,0x71,0x7c,0xc6,0x43,0xc9,0x02,0xde,0x04,0xae,0x19,0x3a,0x27,0x52,0x4a,0xd3,
0xeb,0xf5,0xce,0x66,0x12,0x94,0xe7,0x1f,0x93,0xaa,0x29,0x56,0xc3,0xb1,0x78,0xdc,
0x0e,0x85,0x42,0x9b,0xb4,0x77,0x2a,0xa2,0x2c,0x8b,0x7d,0xdb,0xde,0xa5,0x75,0xc7,
0x36,0x62,0x87,0x5a,0xe5,0x9a,0xfb,0xff,0xd0,0xbf,0xe2,0x53,0x77,0xd4,0xb5,0xee,
0xfa,0xcd,0x92,0xd0,0xac,0xda,0x25,0xbf,0xf5,0xf0,0x57,0x1a,0x82,0xe1,0xea,0xb2,
0x0f,0xde,0xda,0x60,0x26,0x93,0x09,0xb1,0xff,0xfd,0x2d,0x90,0x9f,0xa6,0x62,0x01,
0x7f,0xa6,0xf5,0xf3,0x50,0xe3,0x28,0x8b,0x53,0x08,0xb5,0x41,0x83,0x2f,0x86,0x70,
0xfc,0x7f,0xc5,0xf1,0x7b,0x47,0x0a,0x48,0x83,0x97,0x62,0xf1,0xf8,0xde,0xf3,0x11,
0xe0,0xa2,0x9f,0x26,0xd5,0x45,0x22,0x11,0xad,0x93,0x57,0x0d,0xec,0x8f,0x3b,0x58,
0x8a,0xaf,0xac,0x82,0xee,0xa3,0x87,0x40,0x08,0xca,0x6b,0x1b,0xe8,0xed,0x38,0x41,
0x32,0x76,0xd2,0x39,0xb2,0x4b,0x26,0xf1,0xf9,0xf2,0xb2,0x0f,0xba,0x70,0xae,0x7e,
0xfd,0x2a,0xf0,0x85,0x21,0xcf,0x92,0xc0,0x65,0x1a,0xdc,0x27,0x87,0x8c,0x3d,0x0b,
0xfc,0x36,0x4e,0xec,0xd3,0x77,0x86,0x88,0xf7,0x0c,0x70,0x77,0x6b,0x34,0xfa,0x93,
0x0b,0x46,0xd6,0x18,0xa8,0x35,0x1a,0x8d,0x02,0x77,0xe0,0x1c,0xb5,0xf5,0xb3,0x64,
0xba,0xa7,0x8b,0x78,0x5b,0x2b,0xb6,0x95,0xc5,0xce,0x66,0x38,0xb9,0xef,0x43,0x92,
0xb1,0x33,0x96,0x6a,0x38,0x88,0x13,0x3b,0x36,0x56,0xda,0xaa,0xc1,0x9e,0x32,0x34,
0x29,0xcc,0x7f,0xed,0x04,0x59,0x0f,0xdc,0x05,0xbc,0xca,0xa9,0x2b,0x5f,0x87,0xb3,
0x86,0xb3,0x42,0x88,0x42,0xcf,0x8f,0x73,0xe6,0x22,0x27,0xa7,0x1b,0xf3,0x01,0xa6,
0xd8,0x55,0x3f,0x93,0xc6,0x4b,0xd3,0x1a,0x8d,0x66,0x70,0xae,0x8e,0xfd,0x39,0xa7,
0xc2,0x44,0x2f,0xd6,0x7a,0xd1,0xaf,0x45,0x65,0x0c,0x68,0x13,0x42,0xb4,0xb8,0xdd,
0xee,0xbb,0x81,0xbb,0x87,0xbc,0x26,0xcd,0xf8,0xb2,0xe7,0x7b,0x99,0xc0,0xec,0xfb,
0x69,0x05,0xf0,0x00,0xa0,0xd3,0x38,0x99,0x88,0x2d,0x03,0x62,0x84,0x73,0xfa,0xd2,
0xd6,0xb9,0xc6,0x52,0x4a,0x39,0x1d,0x0b,0x8b,0x9f,0xff,0x00,0x0f,0x01,0x5b,0x31,
0xb5,0x6f,0x47,0x9b,0x1e,0x3a,0x78,0x02,0xc9,0xbe,0x00,0xf0,0xd4,0x26,0x75,0x01,
0xe0,0x0b,0x74,0x01,0xe0,0xc9,0x4a,0x86,0xc7,0x2b,0xee,0xfc,0xda,0x77,0xdc,0x9e,
0xb2,0x8a,0xbc,0x71,0x49,0xd3,0x25,0x6e,0x7b,0xe4,0x1b,0x0d,0x4d,0xd7,0xfd,0x56,
0xfe,0xd9,0xb3,0x10,0xd4,0x34,0x2d,0x73,0x5f,0xf1,0xc0,0x17,0x3c,0xe3,0xcd,0x74,
0xb8,0x00,0xf0,0x38,0xa9,0xb9,0x25,0x66,0x3c,0xfc,0x4f,0xaf,0x79,0xfc,0xe1,0xea,
0x3c,0x03,0x71,0xe9,0x2d,0xbf,0xbd,0x62,0xe1,0x95,0xd7,0xbc,0x76,0xcd,0xef,0x7d,
0xe1,0xde,0xa1,0xcf,0x3c,0xa5,0xe5,0x9e,0x79,0x4b,0x57,0xfc,0x70,0xf1,0xda,0x9b,
0x1e,0x16,0xd2,0x18,0x84,0xa2,0x3b,0x50,0x62,0xde,0xfa,0xf0,0x57,0x9e,0x5d,0x73,
0xcf,0x03,0xbf,0xf0,0x95,0x57,0x0e,0x3a,0x39,0x12,0xd2,0x10,0x97,0xdc,0x79,0x7f,
0x4d,0x73,0x4b,0x2c,0xd0,0xdc,0x12,0x73,0xeb,0x73,0xee,0x0b,0x56,0xf4,0x59,0x04,
0xd4,0xc4,0x49,0xa1,0x5c,0x82,0xe3,0x6a,0x5c,0x5e,0x12,0xae,0x5a,0xb6,0xe6,0xfe,
0x87,0x16,0xbc,0xfa,0xd4,0xa3,0x83,0x7e,0xeb,0x0b,0x96,0x84,0x41,0x84,0x5d,0x1e,
0x6f,0x21,0x26,0x05,0x21,0xdc,0x05,0x23,0x3e,0x84,0x44,0x9a,0x46,0xa5,0x90,0xb2,
0x52,0x1a,0x83,0x8f,0xa4,0x5d,0xfe,0x80,0xf9,0x89,0x1b,0x6f,0x7b,0x06,0xf8,0x3a,
0x4e,0xc2,0xf5,0xfb,0xcd,0x2d,0xb1,0xf7,0x70,0xce,0xb8,0x0f,0x02,0x69,0x7d,0xf6,
0x7d,0x01,0xe0,0x51,0x80,0xea,0xc2,0x29,0x51,0x70,0xa3,0xfe,0x5c,0x85,0x13,0x23,
0x6d,0xe6,0xa4,0x8e,0x34,0x26,0xea,0x9c,0x44,0x20,0x84,0x70,0xe3,0xa4,0x69,0xd6,
0x00,0x6b,0xf5,0xd6,0x2d,0x85,0x13,0x71,0xf9,0x7a,0x73,0x4b,0xec,0x67,0x38,0xe1,
0xb4,0x3d,0x93,0x0d,0x6c,0x73,0x12,0x81,0x2a,0x70,0x2a,0xc3,0xdf,0x02,0xfc,0x2e,
0x70,0x35,0x4e,0xc0,0xbc,0x51,0x5c,0x7b,0x58,0x15,0x6a,0xca,0xc0,0xf1,0xae,0x2d,
0xd5,0x9f,0x2f,0xe2,0x04,0xf6,0xbf,0xd4,0xdc,0x12,0x7b,0x1e,0xd8,0xb9,0xbe,0x31,
0x34,0x29,0x2e,0xbf,0x96,0x93,0x04,0xdc,0x72,0xe0,0x61,0x60,0x13,0xce,0xa1,0xc3,
0x6d,0x38,0x59,0x0c,0xc3,0xb2,0x69,0x3a,0x95,0x7f,0xb9,0xb6,0x3c,0x0b,0x85,0xd0,
0x8c,0x21,0x39,0xc9,0x56,0x2a,0x45,0xa2,0xeb,0x8c,0x41,0x20,0x2e,0x9c,0x4a,0x08,
0x7f,0x8a,0x73,0xce,0xfd,0xcf,0xcd,0x2d,0xb1,0xab,0xb5,0x24,0x9a,0xbe,0x00,0x37,
0xb7,0xc4,0xcc,0xe6,0x96,0xd8,0x3a,0x9c,0x4c,0x81,0x6f,0xe3,0x84,0xe0,0x9c,0x51,
0xaa,0x58,0xd9,0x0c,0x07,0x76,0x6e,0xcb,0x13,0xa5,0xa5,0x55,0x35,0x63,0x4e,0x33,
0x75,0xc4,0xbe,0x49,0x75,0xc3,0xe0,0x28,0x20,0x2b,0x93,0xe2,0xe3,0x6d,0x9b,0xb0,
0x47,0x56,0x64,0x4d,0x00,0x3e,0x9c,0xd3,0xb1,0x0d,0xc0,0x73,0xcd,0x2d,0xb1,0x3a,
0x2d,0x9d,0xa6,0x17,0xc0,0xcd,0x2d,0xb1,0x00,0xf0,0x2d,0xe0,0x05,0x9c,0x1a,0x20,
0x23,0x62,0x3f,0xa5,0x14,0xd1,0x1d,0xdb,0x68,0xdd,0xb2,0x71,0x88,0x95,0x1c,0x62,
0xd6,0xfc,0x85,0x67,0x4e,0xe8,0x56,0xea,0x34,0x00,0x1b,0x34,0xae,0xba,0x1a,0x21,
0x07,0x4f,0xcb,0xf6,0x0d,0x2f,0x71,0x74,0xdf,0x9e,0xd1,0x0e,0xd1,0x07,0xdc,0x0f,
0xbc,0x0e,0x7c,0xb2,0x58,0xd6,0xb7,0x2c,0x12,0xb8,0x5e,0x9c,0x20,0xf8,0x87,0x71,
0x6a,0x81,0x8c,0x88,0xac,0x4c,0x86,0x7d,0xdb,0x36,0xf1,0xca,0xff,0x7c,0x9c,0x4c,
0x5f,0xcf,0x00,0x23,0x58,0xb2,0xe2,0xf6,0xdf,0xa1,0x3a,0x32,0xef,0x8c,0xec,0xa5,
0x0a,0x28,0x70,0xa7,0xec,0x8d,0x13,0x53,0xbd,0x60,0xd5,0x55,0xcc,0x59,0x36,0xb8,
0x8c,0x57,0xa2,0xb3,0x9d,0x0d,0xcf,0x3e,0xc9,0xd1,0x7d,0x7b,0xfa,0x4b,0x42,0x8c,
0xd8,0x42,0x73,0x44,0xf7,0x0f,0x80,0x9b,0x8b,0xc1,0xc9,0xb2,0x08,0xe0,0x0a,0xe0,
0xf3,0xda,0x90,0x1a,0xb1,0xd2,0x3c,0xb6,0x7f,0x2f,0x3f,0xf9,0x5f,0x4f,0xf0,0xc3,
0xbf,0xf8,0x4f,0xc4,0xdb,0x5a,0x07,0x6c,0x63,0x82,0x5c,0xf6,0xe9,0xcf,0x71,0xe5,
0xdd,0xf7,0x21,0x75,0x8c,0xba,0x2a,0xc0,0xa5,0x42,0x1a,0x18,0x2e,0x17,0x86,0x61,
0xe6,0x71,0xa8,0x6d,0x59,0x64,0x75,0x45,0xbb,0x40,0xa8,0x82,0x5b,0x1f,0x7e,0x84,
0xba,0x55,0xd7,0xf6,0xbf,0x0f,0xe0,0xf0,0x8e,0x2d,0xfc,0xe3,0x57,0xbf,0xc8,0xaf,
0x7e,0xf4,0x3c,0xe9,0x44,0x62,0xb4,0xc3,0x2e,0x07,0xfe,0x9a,0x71,0x5c,0x0e,0x76,
0x3e,0x71,0x70,0x09,0x4e,0x85,0x9d,0x11,0x5b,0xf0,0xb6,0x65,0xb1,0x75,0xc3,0xcb,
0x7c,0xf0,0xfa,0x06,0x6c,0x4b,0xe1,0x0a,0x94,0xe3,0x0d,0xcf,0xa6,0xe1,0xba,0x4f,
0x73,0xc7,0x9f,0x3f,0xc5,0xda,0x07,0xfe,0x10,0x6f,0xb0,0xa4,0xdf,0xea,0x4d,0x74,
0xe7,0x1b,0x45,0x15,0x73,0x22,0xb8,0x7d,0x01,0x82,0x15,0x61,0xcc,0x21,0x45,0x4d,
0xb3,0xa9,0x3e,0xba,0x3b,0x4e,0xd5,0xbd,0xaa,0x9c,0x13,0xe1,0xee,0x3f,0xfb,0x3a,
0x9f,0xfc,0x93,0xc7,0x98,0xb9,0xfc,0x3a,0x3c,0x65,0xd5,0x98,0xfe,0x32,0x52,0xdd,
0xdd,0xbc,0xf3,0xe2,0xf3,0x1c,0x3f,0xb0,0x7f,0x2c,0xe3,0x9e,0x03,0x7c,0xee,0xb9,
0x09,0xe6,0xe2,0x62,0x6c,0x93,0x1a,0x38,0x4d,0x69,0xff,0xe1,0x74,0xe3,0x9a,0x7b,
0x3f,0xcb,0xbc,0x4b,0x6f,0xa0,0xb7,0xd7,0xc6,0xf4,0xf8,0xf0,0x95,0x55,0xe0,0xf6,
0xfa,0x31,0x4c,0x83,0x9e,0x5e,0x28,0x2b,0x73,0xb2,0xf7,0xad,0x4c,0x86,0xe8,0x8e,
0x6d,0x43,0xb8,0x57,0xb2,0x78,0xed,0xcd,0x18,0xa6,0x49,0x78,0x76,0x2d,0x33,0x17,
0x2e,0x23,0xba,0xf9,0x97,0xa7,0xd4,0xb2,0x65,0x11,0xdd,0xbe,0x95,0xc6,0x95,0xab,
0x91,0x86,0x81,0x65,0x29,0x7a,0x53,0x1e,0xaa,0x9b,0xae,0x66,0xed,0xfc,0x2b,0x49,
0xf6,0xc4,0x49,0x76,0xc7,0xb1,0x33,0x49,0xca,0x2b,0x83,0xcc,0x6c,0xb8,0x68,0x6c,
0x1b,0x6a,0xb8,0x5c,0x39,0x73,0x9e,0x99,0xca,0x00,0x8f,0xe9,0x5a,0x99,0x92,0x70,
0x25,0x4d,0x15,0x95,0xf4,0xf6,0x66,0x39,0x79,0x32,0xdd,0x6f,0x2b,0xd9,0x36,0xc4,
0x62,0x19,0xac,0xac,0xa2,0xac,0x14,0x76,0xbc,0xf5,0x1a,0xd1,0xad,0x83,0x0d,0xb0,
0xda,0x4b,0x57,0xd3,0x74,0xe5,0x35,0x08,0x21,0x70,0x7b,0x7d,0x5c,0x73,0xdf,0xef,
0xf3,0xe2,0xc7,0x1f,0x92,0xe8,0x38,0x55,0x1d,0x6f,0xfb,0xab,0x2f,0xd3,0xb8,0xea,
0x6a,0xe6,0x5e,0xbc,0x9c,0xf6,0x93,0x19,0x92,0x49,0xbb,0xdf,0xb2,0xf6,0x97,0x85,
0x29,0xad,0xa8,0xa4,0xb2,0xca,0x8d,0xd7,0x3b,0xae,0xad,0xd8,0x84,0xef,0x8d,0x8b,
0x21,0xa2,0xf7,0xe1,0x14,0x2a,0x19,0x3d,0x0b,0x08,0x08,0x06,0x4d,0x42,0x65,0xf9,
0xdb,0xcb,0xae,0xee,0x34,0xbf,0xf8,0xfe,0xf3,0xbc,0xfa,0xd4,0xd7,0xb1,0xf4,0x1e,
0x59,0x48,0x83,0x99,0xcb,0xaf,0xe5,0xc6,0x87,0xbe,0x4c,0xa0,0xec,0xd4,0xed,0xea,
0x73,0x17,0x2e,0xe1,0xe6,0x3f,0x79,0x94,0xe0,0xac,0x8b,0xfa,0xad,0xee,0x54,0x57,
0x8c,0x7f,0x79,0xec,0xcb,0xbc,0xff,0xf6,0xaf,0xfb,0xc1,0x1d,0xd8,0x6e,0x38,0x3c,
0x6e,0x70,0x6d,0xe0,0x4d,0x21,0xc4,0x84,0x06,0xf5,0x15,0x83,0x83,0xfb,0x80,0x6f,
0x00,0xcf,0x31,0xc6,0xeb,0xde,0x83,0x25,0x26,0x5d,0xdd,0x59,0x2c,0x6b,0xc0,0x7d,
0x85,0xb6,0xcd,0xfe,0xf7,0x7e,0x8d,0x52,0x0a,0x33,0x10,0xa2,0x74,0x56,0x03,0x8d,
0x6b,0x6e,0xa3,0x76,0xd9,0x6a,0xf0,0x94,0x0e,0x2c,0x37,0x89,0x6d,0x0b,0x4a,0xe7,
0x2c,0xe3,0x86,0x2f,0x7d,0x9b,0xfd,0x5b,0xdf,0x64,0xdf,0xc6,0x9f,0x92,0xe8,0x38,
0x4a,0x36,0x9d,0xa6,0xe3,0xd8,0x31,0xc2,0xf5,0x83,0x8b,0xb5,0x78,0xbd,0x06,0x5e,
0xdf,0xb8,0x9d,0x28,0x1f,0x00,0x7f,0xf7,0xe0,0xfc,0xb2,0x09,0x3d,0x93,0x2e,0xca,
0x06,0x5c,0x7b,0x78,0xfe,0x1b,0xf0,0x65,0x0a,0xd4,0x8e,0x1e,0x09,0x9d,0x38,0x91,
0xa2,0xb7,0x77,0xb0,0xf3,0x21,0xdd,0x75,0x14,0x32,0x1d,0xf4,0xa5,0x03,0x04,0xc3,
0x35,0x98,0x2e,0x8f,0x93,0xfc,0x2d,0xa0,0xba,0xda,0x83,0x4f,0x83,0x14,0x8b,0x65,
0x88,0xc5,0x32,0xda,0xe2,0xb6,0xc9,0x24,0xfb,0xe8,0xeb,0x38,0x46,0x65,0xa5,0x49,
0xda,0x98,0x81,0xcc,0xbb,0x13,0xc9,0x45,0x49,0xc9,0xb8,0x9c,0x52,0x07,0x80,0x7b,
0xd6,0x37,0x86,0x36,0x4d,0xf4,0x5c,0x17,0xcd,0xc3,0xa2,0x41,0xfe,0x3c,0xf0,0xdf,
0xf5,0x36,0x62,0x54,0xd4,0xd1,0x91,0xa6,0xab,0x6b,0xb0,0xb4,0xf3,0xfb,0x0d,0x2a,
0x2b,0xdd,0xb4,0xb5,0x25,0x07,0x71,0x37,0x40,0x69,0x89,0x49,0x45,0xd8,0x8d,0x52,
0x70,0xe4,0x48,0x92,0x74,0x7a,0xb0,0x18,0x0e,0xf8,0x0d,0xc2,0x95,0x6e,0x0e,0x1d,
0x4a,0x30,0x70,0xab,0x2b,0x04,0x54,0x55,0x79,0xf0,0xfb,0xc7,0xc4,0xc1,0x36,0xb0,
0x05,0xf8,0x83,0xf5,0x8d,0xa1,0xdf,0x4c,0x2b,0x4f,0x96,0x76,0xc6,0x3f,0x8d,0x53,
0x66,0xf7,0x55,0x9c,0x90,0xd7,0xf1,0xaf,0x58,0x21,0xf0,0xb8,0xf3,0x87,0x95,0x4c,
0xd9,0x28,0x05,0x96,0xa5,0xc8,0x66,0xf2,0x9d,0x15,0x6e,0x8f,0x3c,0x9b,0xeb,0x5d,
0xe1,0x94,0x54,0x7e,0x14,0xb8,0xa9,0x58,0xe0,0x16,0x15,0x60,0x0d,0xb2,0xbd,0xbe,
0x31,0xb4,0x15,0x58,0x87,0x93,0x3a,0xf2,0x1a,0x4e,0x8a,0xc9,0xb8,0xf4,0x94,0x61,
0xe6,0x03,0x95,0xe3,0x68,0xcb,0x2a,0x78,0x3a,0x84,0xd9,0xff,0x6f,0xc4,0x30,0x78,
0x8d,0x98,0x63,0x8f,0xe3,0x14,0x59,0xbd,0x02,0xf8,0xcb,0xf5,0x8d,0xa1,0x58,0x31,
0xe7,0x78,0x52,0x1c,0x17,0xae,0x6f,0x0c,0xa5,0x80,0x9f,0x34,0xb7,0xc4,0x5e,0x05,
0x96,0x03,0x9f,0xc1,0x29,0xfd,0x3f,0x67,0x2c,0x86,0x98,0x3c,0xcd,0xe5,0xce,0xb6,
0xad,0x0a,0xea,0xa9,0x71,0xf0,0xae,0xad,0x17,0xe5,0x26,0xe0,0x45,0x9c,0xba,0x59,
0xc7,0x26,0xcb,0xb9,0xf0,0xa4,0x3a,0xf0,0x5f,0xdf,0x18,0x4a,0x03,0x9b,0x9a,0x5b,
0x62,0x5b,0x70,0x72,0x78,0x73,0xc9,0x62,0xd7,0xe2,0x24,0x95,0xf9,0x38,0x4d,0x4d,
0xac,0x33,0x82,0xa4,0x46,0xf5,0xb5,0x5e,0x18,0x79,0x3f,0xb0,0xf5,0x7e,0xb6,0x13,
0xe7,0x90,0xff,0x17,0xc0,0xbf,0x01,0xad,0xba,0xff,0x93,0x8a,0x26,0x65,0x44,0x87,
0x5e,0xfd,0xdd,0xc0,0x2f,0x9a,0x5b,0x62,0xaf,0x6b,0x2e,0xae,0x06,0x2e,0x01,0x3e,
0x01,0x2c,0x55,0x8a,0xe5,0x9c,0x2a,0x73,0x98,0xbb,0x9d,0x44,0x9c,0x0e,0x30,0x35,
0x7a,0xce,0xb4,0x84,0xc0,0x02,0xd1,0x87,0x93,0x6d,0xb1,0x13,0xe7,0x82,0x92,0x2d,
0x38,0xe1,0x3b,0xbd,0xeb,0x1b,0x43,0x93,0x3a,0x59,0x6d,0xd2,0xc7,0x64,0xad,0x6f,
0x0c,0x29,0x9c,0xf0,0x98,0x83,0xc0,0xc1,0xe6,0x96,0xd8,0x8f,0x51,0x18,0x4a,0xe1,
0x72,0xbb,0x65,0xd8,0xb2,0x54,0x83,0x52,0xaa,0x4e,0x29,0xe6,0x08,0x49,0x0d,0x50,
0x8e,0xa2,0x5a,0x08,0x27,0xa7,0x49,0x29,0x7c,0x42,0xe0,0x17,0x42,0x98,0x80,0xa5,
0x54,0xff,0x82,0x50,0xda,0xb0,0xeb,0x16,0x82,0x84,0x82,0x93,0x42,0x70,0x5c,0x4a,
0x4e,0x0a,0x21,0x4e,0x08,0xc1,0x61,0x29,0x45,0xab,0xdb,0x2d,0xf7,0x49,0x43,0x1c,
0xd0,0xbf,0xcd,0x4c,0xe6,0xf8,0xab,0xf3,0x12,0xe0,0x61,0x00,0xcf,0x5d,0xb4,0x75,
0x48,0x7f,0xde,0x02,0xf8,0xf6,0xe6,0x13,0x52,0x80,0x50,0x0a,0x29,0xa5,0x90,0x4a,
0x39,0x17,0xa6,0x49,0x29,0x0c,0x21,0x90,0x42,0xa0,0x94,0x52,0xba,0x6a,0x92,0x50,
0x42,0x60,0xd9,0xb6,0xca,0xea,0xea,0xc5,0x36,0x60,0x7b,0x3c,0x86,0xf2,0xfb,0x0c,
0xfb,0x4b,0x97,0x84,0xa7,0x5d,0x90,0xfc,0x05,0x3a,0x0f,0xe9,0xff,0x03,0x9d,0x2a,
0xb9,0x9c,0xf1,0x9e,0xa6,0x7a,0x00,0x00,0x00,0x00,0x49,0x45,0x4e,0x44,0xae,0x42,
0x60,0x82};
@@ -1,79 +0,0 @@
//
// PNGDisplay class demo
//
// This sketch shows how to use the new helper class, PNGDisplay to more easily
// display PNG images on displays supported by my bb_spi_lcd library
// There are only two overloaded methods exposed by the library: loadPNG(), getPNGInfo()
// They allow you to pass PNG image data as a pointer or a filename on a uSD card
// loadPNG() requires a x,y position for where to draw the image. This code doesn't
// currently support clipping, so attempts to draw off the edge of the display
// will return with an error.
// An optional background color can be specified for PNGs with an alpha channel
//
#include <PNGDisplay.h>
#include <PNGDisplay.inl>
#include <bb_spi_lcd.h>
#include <SPI.h>
#include <SD.h>
#include "octocat_small.h"
BB_SPI_LCD lcd, sprite; // one instance for the display and another for a 'sprite'
PNGDisplay pd; // only one instance of this class is needed
SPIClass SD_SPI;
bool bSD = false;
// These GPIOs are for the uSD card slot on the JC4827W543 "Cheap Yellow Display"
#define SD_CS 10
#define SD_MOSI 11
#define SD_SCK 12
#define SD_MISO 13
void setup() {
int x, y, w, h, bpp;
lcd.begin(DISPLAY_CYD_543);
lcd.fillScreen(TFT_BLACK);
lcd.setTextColor(TFT_GREEN);
lcd.setFont(FONT_12x16);
SD_SPI.begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);
if (!SD.begin(SD_CS, SD_SPI, 10000000)) { // Faster than 10MHz seems to fail on the CYDs
lcd.println("Card Mount Failed");
} else {
lcd.println("Card Mount Succeeded");
bSD = true;
}
// Load a PNG from the uSD card
if (bSD) {
// The PNG can be directly decoded to the LCD
if (pd.getPNGInfo(&w, &h, &bpp, "/tulips_320x213.png")) { // get info
// center it on the LCD
x = (lcd.width() - w)/2;
y = (lcd.height() - h)/2;
if (x < 0) x = 0;
if (y < 0) y = 0;
pd.loadPNG(&lcd, x, y, "/tulips_320x213.png"); // load this image from the root dir of the SD card
delay(5000);
}
}
//
// Load and display the PNG image all over the display by using a 'sprite'
// First, create a sprite instance of BB_SPI_LCD with the createVirtual() method
// Next, decode a PNG image directly into the sprite memory
// And finally, draw it in multiple places on the LCD
//
lcd.fillScreen(TFT_BLACK);
// You can request the dimensions and bit depth of the image BEFORE decoding it
if (pd.getPNGInfo(&w, &h, &bpp, octocat_small, sizeof(octocat_small))) {
sprite.createVirtual(w, h); // create a sprite of the PNG image size
// The PNG image can be decoded directly into the sprite instance
pd.loadPNG(&sprite, 0, 0, octocat_small, sizeof(octocat_small), 0);
for (int y = 0; y < lcd.height(); y += h) { // now draw it all over the LCD
for (int x = 0; x < lcd.width(); x += w) {
lcd.drawSprite(x, y, &sprite, 0xffffffff); // 0xffffffff = no transparent color
} // for x
} // for y
sprite.freeVirtual(); // free the sprite memory
}
}
void loop() {
}
@@ -59,12 +59,11 @@ int32_t mySeek(PNGFILE *handle, int32_t position) {
} }
// Function to draw pixels to the display // Function to draw pixels to the display
int PNGDraw(PNGDRAW *pDraw) { void PNGDraw(PNGDRAW *pDraw) {
uint16_t usPixels[320]; uint16_t usPixels[320];
png.getLineAsRGB565(pDraw, usPixels, PNG_RGB565_LITTLE_ENDIAN, 0xffffffff); png.getLineAsRGB565(pDraw, usPixels, PNG_RGB565_LITTLE_ENDIAN, 0xffffffff);
tft.writeRect(0, pDraw->y + 24, pDraw->iWidth, 1, usPixels); tft.writeRect(0, pDraw->y + 24, pDraw->iWidth, 1, usPixels);
return 1;
} }
// Main loop, scan for all .PNG files on the card and display them // Main loop, scan for all .PNG files on the card and display them
+1 -1
View File
@@ -1,5 +1,5 @@
name=PNGdec name=PNGdec
version=1.1.6 version=1.0.2
author=Larry Bank author=Larry Bank
maintainer=Larry Bank maintainer=Larry Bank
sentence=Universal PNG decoder for MCUs with at least 48K of RAM. sentence=Universal PNG decoder for MCUs with at least 48K of RAM.
-1
View File
@@ -127,7 +127,6 @@ int main(int argc, const char * argv[]) {
printf("image specs: (%d x %d), %d bpp, pixel type: %d\n", png.getWidth(), png.getHeight(), png.getBpp(), png.getPixelType()); printf("image specs: (%d x %d), %d bpp, pixel type: %d\n", png.getWidth(), png.getHeight(), png.getBpp(), png.getPixelType());
png.setBuffer((uint8_t *)malloc(png.getBufferSize())); png.setBuffer((uint8_t *)malloc(png.getBufferSize()));
rc = png.decode(NULL, 0); //PNG_CHECK_CRC); rc = png.decode(NULL, 0); //PNG_CHECK_CRC);
printf("decode returned: %d\n", rc);
i = 1; i = 1;
pPalette = NULL; pPalette = NULL;
switch (png.getPixelType()) { switch (png.getPixelType()) {
-65
View File
@@ -1,65 +0,0 @@
//
// PNG Display helper class
//
// written by Larry Bank
// bitbank@pobox.com
//
// Copyright 2025 BitBank Software, Inc. All Rights Reserved.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//===========================================================================
//
#ifndef __PNGDISPLAY__
#define __PNGDISPLAY__
#include <PNGdec.h>
#include <SD.h>
#ifndef ARDUINO_ARCH_NRF52
#include "FS.h"
#include <LittleFS.h>
#endif
#if !defined(__BB_EPAPER__) && !defined(SPI_LCD_H) && !defined(__FASTEPD_H__)
#error "One of the following display libraries must be included BEFORE PNGDisplay: bb_spi_lcd, bb_epaper, FastEPD"
#endif
// To center one or both coordinates for the drawing position
// use this constant value
#define PNGDISPLAY_CENTER -2
class PNGDisplay
{
public:
#ifdef SPI_LCD_H
int loadPNG(BB_SPI_LCD *pLCD, int x, int y, const void *pData, int iDataSize, uint32_t bgColor = 0xffffffff);
int loadPNG(BB_SPI_LCD *pLCD, int x, int y, const char *fname, uint32_t bgColor = 0xffffffff);
int loadPNG_LFS(BB_SPI_LCD *pLCD, int x, int y, const char *fname, uint32_t bgColor = 0xffffffff);
#endif // SPI_LCD_H
#ifdef __FASTEPD_H__
int loadPNG(FASTEPD *pDisplay, int x, int y, const void *pData, int iDataSize, uint32_t bgColor = 0xffffffff);
int loadPNG(FASTEPD *pDisplay, int x, int y, const char *fname, uint32_t bgColor = 0xffffffff);
int loadPNG_LFS(FASTEPD *pDisplay, int x, int y, const char *fname, uint32_t bgColor = 0xffffffff);
#endif // __FASTEPD_H__
#ifdef __BB_EPAPER__
int loadPNG(BBEPAPER *pDisplay, int x, int y, const void *pData, int iDataSize, uint32_t bgColor = 0xffffffff);
int loadPNG(BBEPAPER *pDisplay, int x, int y, const char *fname, uint32_t bgColor = 0xffffffff);
int loadPNG_LFS(BBEPAPER *pDisplay, int x, int y, const char *fname, uint32_t bgColor = 0xffffffff);
#endif // __BB_EPAPER__
int getPNGInfo(int *width, int *height, int *bpp, const void *pData, int iDataSize);
int getPNGInfo(int *width, int *height, int *bpp, const char *fname);
int getPNGInfo_LFS(int *width, int *height, int *bpp, const char *fname);
int getLastError() {return _iLastError;}
private:
int _iLastError;
};
#endif // __PNGDISPLAY__
-465
View File
@@ -1,465 +0,0 @@
//
// PNG Display helper class
//
// written by Larry Bank
// bitbank@pobox.com
//
// Copyright 2025 BitBank Software, Inc. All Rights Reserved.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// http://www.apache.org/licenses/LICENSE-2.0
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//===========================================================================
//
#ifndef __PNGDISPLAY_IMPL__
#define __PNGDISPLAY_IMPL__
#include "PNGDisplay.h"
static int PNGDraw(PNGDRAW *pDraw)
{
int *pInfo = (int *)pDraw->pUser;
uint16_t *p16;
PNG *pPNG;
#ifdef SPI_LCD_H
BB_SPI_LCD *pLCD;
pLCD = (BB_SPI_LCD *)pInfo[0]; // pointer to LCD class pointer
pPNG = (PNG *)pInfo[1]; // pointer to PNG class pointer
p16 = (uint16_t *)&pInfo[3]; // start of temporary pixel space
pPNG->getLineAsRGB565(pDraw, p16, PNG_RGB565_BIG_ENDIAN, (uint32_t)pInfo[2]);
pLCD->pushPixels(p16, pDraw->iWidth);
#endif // SPI_LCD_H
#ifdef __BB_EPAPER__
BBEPAPER *pEPD;
int w, iLen, iPitch; // bits per pixel mode of the EPD
uint8_t uc_s, uc_d, srcMask, destMask, *s, *d;
int32_t iWidth, i, x, y;
pEPD = (BBEPAPER *)pInfo[0]; // pointer to display class object
pPNG = (PNG *)pInfo[1]; // pointer to PNG class pointer
if (pPNG->getBpp() != 1) {
return 0; // mismatch, don't try to convert the bit depth
}
d = (uint8_t *)pEPD->getBuffer();
x = pInfo[3]; y = pInfo[4]; // display offset to draw the image
if (pDraw->y + y > pEPD->height()) return 0; // off bottom edge
w = pPNG->getWidth();
if (w + x > pEPD->width()) w = pEPD->width() - x; // clip to right edge
iPitch = (pEPD->width()+7)/8;
d += (x/8) + ((pDraw->y + y) * iPitch);
srcMask = 0x80;
destMask = 0x80 >> (x & 7);
s = pDraw->pPixels;
i = 0;
if ((x & 7) == 0) { // take advantage of src/dest bit alignment
while (i < w-7) {
*d++ = *s++;
i += 8;
}
}
uc_s = *s++;
uc_d = d[0];
for (; i<w; i++) { // do it pixel-by-pixel
if (uc_s & srcMask) {
uc_d |= destMask; // use the same pixel color polarity
} else {
uc_d &= ~destMask;
}
srcMask >>= 1;
if (srcMask == 0) {
srcMask = 0x80;
uc_s = *s++;
}
destMask >>= 1;
if (destMask == 0) {
destMask = 0x80;
*d++ = uc_d;
uc_d = d[0];
}
} // for i
if (destMask != 0x80) { // store the last partial byte
d[0] = uc_d;
}
#endif // __BB_EPAPER__
#ifdef __FASTEPD_H__
FASTEPD *pEPD;
int i, iLen, iPitch, iBpp; // bits per pixel mode of the EPD
uint8_t srcMask, destMask, uc_s, uc_d, *s, *d;
int32_t iWidth, w, x, y;
pEPD = (FASTEPD *)pInfo[0]; // pointer to display class object
pPNG = (PNG *)pInfo[1]; // pointer to PNG class pointer
iBpp = (pEPD->getMode() == BB_MODE_1BPP) ? 1:4;
if (pPNG->getBpp() != iBpp) return 0; // mismatch, don't try to convert the bit depth
d = (uint8_t *)pEPD->currentBuffer();
x = pInfo[3]; y = pInfo[4]; // display offset to draw the image
if (pDraw->y + y > pEPD->height()) return 0; // off bottom edge
w = pPNG->getWidth();
if (w + x > pEPD->width()) w = pEPD->width() - x; // clip to right edge
iPitch = (pEPD->width()*iBpp)/8;
d += ((x * iBpp)/8) + ((pDraw->y + y) * iPitch);
if (iBpp == 4) {
memcpy(d, pDraw->pPixels, (w*iBpp)/8);
} else { // 1 bpp
srcMask = 0x80;
destMask = 0x80 >> (x & 7);
s = pDraw->pPixels;
if ((x & 7) == 0) { // take advantage of src/dest bit alignment
while (i <= w-7) {
*d++ = *s++;
i += 8;
}
}
uc_s = *s++;
uc_d = d[0];
for (; i<w; i++) { // do it pixel-by-pixel
if (uc_s & srcMask) {
uc_d |= destMask; // use the same pixel color polarity
} else {
uc_d &= ~destMask;
}
srcMask >>= 1;
if (srcMask == 0) {
srcMask = 0x80;
uc_s = *s++;
}
destMask >>= 1;
if (destMask == 0) {
destMask = 0x80;
*d++ = uc_d;
uc_d = d[0];
}
} // for i
if (destMask != 0) { // store the last partial byte
d[0] = uc_d;
}
} // 1-bpp
#endif // __FASTEPD_H__
return 1; // continue decoding
} /* PNGDraw() */
// Functions to access a file on the SD card
static void * pngOpen(const char *filename, int32_t *size) {
static File myfile;
myfile = SD.open(filename);
*size = myfile.size();
return &myfile;
}
#ifndef ARDUINO_ARCH_NRF52
static void * pngOpenLFS(const char *filename, int32_t *size) {
static File myfile;
myfile = LittleFS.open(filename, FILE_READ);
if (myfile) {
*size = myfile.size();
return &myfile;
} else {
return NULL;
}
}
#endif // !nRF52
static void pngClose(void *handle) {
File *pFile = (File *)handle;
if (pFile) pFile->close();
}
static int32_t pngRead(PNGFILE *handle, uint8_t *buffer, int32_t length) {
File *pFile = (File *)handle->fHandle;
if (!pFile) return 0;
return pFile->read(buffer, length);
}
static int32_t pngSeek(PNGFILE *handle, int32_t position) {
File *pFile = (File *)handle->fHandle;
if (!pFile) return 0;
return pFile->seek(position);
}
#ifdef SPI_LCD_H
int PNGDisplay::loadPNG(BB_SPI_LCD *pDisplay, int x, int y, const void *pData, int iDataSize, uint32_t bgColor)
#endif // SPI_LCD_H
#ifdef __FASTEPD_H__
int PNGDisplay::loadPNG(FASTEPD *pDisplay, int x, int y, const void *pData, int iDataSize, uint32_t bgColor)
#endif // __FASTEPD_H__
#ifdef __BB_EPAPER__
int PNGDisplay::loadPNG(BBEPAPER *pDisplay, int x, int y, const void *pData, int iDataSize, uint32_t bgColor)
#endif // __BB_EPAPER__
{
PNG *png;
int w, h, rc;
uint32_t *png_info;
png = (PNG *)malloc(sizeof(PNG));
if (!png) {
_iLastError = PNG_MEM_ERROR;
return 0;
}
rc = png->openRAM((uint8_t *)pData, iDataSize, PNGDraw);
if (rc == PNG_SUCCESS) {
w = png->getWidth();
h = png->getHeight();
if (x == PNGDISPLAY_CENTER) {
x = (pDisplay->width() - w)/2;
if (x < 0) x = 0;
} else if (x < 0 || w + x > pDisplay->width()) {
// clipping is not supported
_iLastError = PNG_INVALID_PARAMETER;
free(png);
return 0;
}
if (y == PNGDISPLAY_CENTER) {
y = (pDisplay->height() - h)/2;
if (y < 0) y = 0;
} else if (y < 0 || y + h > pDisplay->height()) {
// clipping is not supported
free(png);
_iLastError = PNG_INVALID_PARAMETER;
return 0;
}
png_info = (uint32_t *)malloc((w * sizeof(uint16_t)) + 3 * sizeof(int)); // enough for pixels and 3 32-bit values
png_info[0] = (uint32_t)pDisplay;
png_info[1] = (uint32_t)png;
png_info[2] = bgColor;
png_info[3] = x;
png_info[4] = y;
#ifdef SPI_LCD_H
pDisplay->setAddrWindow(x, y, w, h);
#endif
png->decode((void *)png_info, 0); // simple decode, no options
png->close();
free(png);
_iLastError = PNG_SUCCESS;
return 1;
}
_iLastError = png->getLastError();
free(png);
return 0;
} /* loadPNG() */
#ifdef SPI_LCD_H
int PNGDisplay::loadPNG(BB_SPI_LCD *pDisplay, int x, int y, const char *fname, uint32_t bgColor)
#endif
#ifdef __FASTEPD_H__
int PNGDisplay::loadPNG(FASTEPD *pDisplay, int x, int y, const char *fname, uint32_t bgColor)
#endif
#ifdef __BB_EPAPER__
int PNGDisplay::loadPNG(BBEPAPER *pDisplay, int x, int y, const char *fname, uint32_t bgColor)
#endif
{
PNG *png;
int w, h, rc;
uint32_t *png_info;
png = (PNG *)malloc(sizeof(PNG));
if (!png) {
_iLastError = PNG_MEM_ERROR;
return 0;
}
rc = png->open(fname, pngOpen, pngClose, pngRead, pngSeek, PNGDraw);
if (rc == PNG_SUCCESS) {
w = png->getWidth();
h = png->getHeight();
if (x == PNGDISPLAY_CENTER) {
x = (pDisplay->width() - w)/2;
if (x < 0) x = 0;
} else if (x < 0 || w + x > pDisplay->width()) {
// clipping is not supported
free(png);
_iLastError = PNG_INVALID_PARAMETER;
return 0;
}
if (y == PNGDISPLAY_CENTER) {
y = (pDisplay->height() - h)/2;
if (y < 0) y = 0;
} else if (y < 0 || y + h > pDisplay->height()) {
free(png);
_iLastError = PNG_INVALID_PARAMETER;
return 0;
}
png_info = (uint32_t *)malloc((w * sizeof(uint16_t)) + 3 * sizeof(int)); // enough for pixels and 3 32-bit values
png_info[0] = (uint32_t)pDisplay;
png_info[1] = (uint32_t)png;
png_info[2] = bgColor;
png_info[3] = x;
png_info[4] = y;
#ifdef SPI_LCD_H
pDisplay->setAddrWindow(x, y, w, h);
#endif
png->decode((void *)png_info, 0); // simple decode, no options
png->close();
free(png);
_iLastError = PNG_SUCCESS;
return 1;
}
_iLastError = png->getLastError();
free(png);
return 0;
} /* loadPNG() */
#ifndef ARDUINO_ARCH_NRF52
#ifdef SPI_LCD_H
int PNGDisplay::loadPNG_LFS(BB_SPI_LCD *pDisplay, int x, int y, const char *fname, uint32_t bgColor)
#endif
#ifdef __FASTEPD_H__
int PNGDisplay::loadPNG_LFS(FASTEPD *pDisplay, int x, int y, const char *fname, uint32_t bgColor)
#endif
#ifdef __BB_EPAPER__
int PNGDisplay::loadPNG_LFS(BBEPAPER *pDisplay, int x, int y, const char *fname, uint32_t bgColor)
#endif
{
PNG *png;
int w, h, rc;
uint32_t *png_info;
if (!LittleFS.begin(false)) {
return 0;
}
png = (PNG *)malloc(sizeof(PNG));
if (!png) {
_iLastError = PNG_MEM_ERROR;
return 0;
}
rc = png->open(fname, pngOpenLFS, pngClose, pngRead, pngSeek, PNGDraw);
if (rc == PNG_SUCCESS) {
w = png->getWidth();
h = png->getHeight();
if (x == PNGDISPLAY_CENTER) {
x = (pDisplay->width() - w)/2;
if (x < 0) x = 0;
} else if (x < 0 || w + x > pDisplay->width()) {
// clipping is not supported
free(png);
_iLastError = PNG_INVALID_PARAMETER;
return 0;
}
if (y == PNGDISPLAY_CENTER) {
y = (pDisplay->height() - h)/2;
if (y < 0) y = 0;
} else if (y < 0 || y + h > pDisplay->height()) {
free(png);
_iLastError = PNG_INVALID_PARAMETER;
return 0;
}
png_info = (uint32_t *)malloc((w * sizeof(uint16_t)) + 3 * sizeof(int)); // enough for pixels and 3 32-bit values
png_info[0] = (uint32_t)pDisplay;
png_info[1] = (uint32_t)png;
png_info[2] = bgColor;
png_info[3] = x;
png_info[4] = y;
#ifdef SPI_LCD_H
pDisplay->setAddrWindow(x, y, w, h);
#endif
png->decode((void *)png_info, 0); // simple decode, no options
png->close();
free(png);
_iLastError = PNG_SUCCESS;
return 1;
}
_iLastError = png->getLastError();
free(png);
return 0;
} /* loadPNG_LFS() */
#endif // !nRF52
int PNGDisplay::getPNGInfo(int *width, int *height, int *bpp, const void *pData, int iDataSize)
{
PNG *png;
int rc;
uint32_t *png_info;
if (!width || !height || !bpp || !pData || iDataSize < 32) return 0;
png = (PNG *)malloc(sizeof(PNG));
if (!png) {
_iLastError = PNG_MEM_ERROR;
return 0;
}
rc = png->openRAM((uint8_t *)pData, iDataSize, PNGDraw);
if (rc == PNG_SUCCESS) {
*width = png->getWidth();
*height = png->getHeight();
*bpp = png->getBpp();
free(png);
_iLastError = PNG_SUCCESS;
return 1;
}
_iLastError = png->getLastError();
free(png);
return 0;
} /* getPNGInfo() */
int PNGDisplay::getPNGInfo(int *width, int *height, int *bpp, const char *fname)
{
PNG *png;
int rc;
uint32_t *png_info;
if (!width || !height || !bpp || !fname) return 0;
png = (PNG *)malloc(sizeof(PNG));
if (!png) {
_iLastError = PNG_MEM_ERROR;
return 0;
}
rc = png->open(fname, pngOpen, pngClose, pngRead, pngSeek, PNGDraw);
if (rc == PNG_SUCCESS) {
*width = png->getWidth();
*height = png->getHeight();
*bpp = png->getBpp();
png->close();
free(png);
_iLastError = PNG_SUCCESS;
return 1;
}
_iLastError = png->getLastError();
free(png);
return 0;
} /* getPNGInfo() */
#ifndef ARDUINO_ARCH_NRF52
int PNGDisplay::getPNGInfo_LFS(int *width, int *height, int *bpp, const char *fname)
{
PNG *png;
int rc;
uint32_t *png_info;
if (!LittleFS.begin(false)) {
return 0;
}
if (!width || !height || !bpp || !fname) return 0;
png = (PNG *)malloc(sizeof(PNG));
if (!png) {
_iLastError = PNG_MEM_ERROR;
return 0;
}
rc = png->open(fname, pngOpenLFS, pngClose, pngRead, pngSeek, PNGDraw);
if (rc == PNG_SUCCESS) {
*width = png->getWidth();
*height = png->getHeight();
*bpp = png->getBpp();
png->close();
free(png);
_iLastError = PNG_SUCCESS;
return 1;
}
_iLastError = png->getLastError();
free(png);
return 0;
} /* getPNGInfo_LFS() */
#endif // !nRF52
#endif // __PNGDISPLAY_IMPL__
+26 -35
View File
@@ -49,13 +49,8 @@
/* Defines and variables */ /* Defines and variables */
#define PNG_FILE_BUF_SIZE 2048 #define PNG_FILE_BUF_SIZE 2048
// Number of bytes to reserve for current and previous lines // Number of bytes to reserve for current and previous lines
// Defaults to 320 32-bit pixels max width // Defaults to 640 32-bit pixels max width
// but can be overidden with a macro defined at compile time #define PNG_MAX_BUFFERED_PIXELS (640*4 + 1)
#ifndef PNG_MAX_BUFFERED_PIXELS
#define PNG_MAX_BUFFERED_PIXELS ((320*4 + 1)*2)
#endif
#ifndef __PNGENC__
// PNG filter type // PNG filter type
enum { enum {
PNG_FILTER_NONE=0, PNG_FILTER_NONE=0,
@@ -80,6 +75,16 @@ enum {
PNG_PIXEL_GRAY_ALPHA=4, PNG_PIXEL_GRAY_ALPHA=4,
PNG_PIXEL_TRUECOLOR_ALPHA=6 PNG_PIXEL_TRUECOLOR_ALPHA=6
}; };
// RGB565 endianness
enum {
PNG_RGB565_LITTLE_ENDIAN = 0,
PNG_RGB565_BIG_ENDIAN
};
enum {
PNG_MEM_RAM=0,
PNG_MEM_FLASH
};
// Error codes returned by getLastError() // Error codes returned by getLastError()
enum { enum {
@@ -90,29 +95,7 @@ enum {
PNG_NO_BUFFER, PNG_NO_BUFFER,
PNG_UNSUPPORTED_FEATURE, PNG_UNSUPPORTED_FEATURE,
PNG_INVALID_FILE, PNG_INVALID_FILE,
PNG_TOO_BIG, PNG_TOO_BIG
PNG_QUIT_EARLY
};
typedef struct png_file_tag
{
int32_t iPos; // current file position
int32_t iSize; // file size
uint8_t *pData; // memory file pointer
void * fHandle; // class pointer to File/SdFat or whatever you want
} PNGFILE;
#endif // !__PNGENC__
// RGB565 endianness
enum {
PNG_RGB565_LITTLE_ENDIAN = 0,
PNG_RGB565_BIG_ENDIAN
};
enum {
PNG_MEM_RAM=0,
PNG_MEM_FLASH
}; };
typedef struct png_draw_tag typedef struct png_draw_tag
@@ -129,11 +112,19 @@ typedef struct png_draw_tag
uint8_t *pPixels; uint8_t *pPixels;
} PNGDRAW; } PNGDRAW;
typedef struct png_file_tag
{
int32_t iPos; // current file position
int32_t iSize; // file size
uint8_t *pData; // memory file pointer
void * fHandle; // class pointer to File/SdFat or whatever you want
} PNGFILE;
// Callback function prototypes // Callback function prototypes
typedef int32_t (PNG_READ_CALLBACK)(PNGFILE *pFile, uint8_t *pBuf, int32_t iLen); typedef int32_t (PNG_READ_CALLBACK)(PNGFILE *pFile, uint8_t *pBuf, int32_t iLen);
typedef int32_t (PNG_SEEK_CALLBACK)(PNGFILE *pFile, int32_t iPosition); typedef int32_t (PNG_SEEK_CALLBACK)(PNGFILE *pFile, int32_t iPosition);
typedef void * (PNG_OPEN_CALLBACK)(const char *szFilename, int32_t *pFileSize); typedef void * (PNG_OPEN_CALLBACK)(const char *szFilename, int32_t *pFileSize);
typedef int (PNG_DRAW_CALLBACK)(PNGDRAW *); typedef void (PNG_DRAW_CALLBACK)(PNGDRAW *);
typedef void (PNG_CLOSE_CALLBACK)(void *pHandle); typedef void (PNG_CLOSE_CALLBACK)(void *pHandle);
// //
@@ -156,9 +147,9 @@ typedef struct png_image_tag
PNG_DRAW_CALLBACK *pfnDraw; PNG_DRAW_CALLBACK *pfnDraw;
PNG_CLOSE_CALLBACK *pfnClose; PNG_CLOSE_CALLBACK *pfnClose;
PNGFILE PNGFile; PNGFILE PNGFile;
uint8_t ucZLIB[32768 + sizeof(struct inflate_state)]; // put this here to avoid needing malloc/free uint8_t ucZLIB[32768 + sizeof(inflate_state)]; // put this here to avoid needing malloc/free
uint8_t ucPalette[1024]; uint8_t ucPalette[1024];
uint8_t ucPixels[PNG_MAX_BUFFERED_PIXELS]; uint8_t ucPixels[PNG_MAX_BUFFERED_PIXELS * 2];
uint8_t ucFileBuf[PNG_FILE_BUF_SIZE]; // holds temp file data uint8_t ucFileBuf[PNG_FILE_BUF_SIZE]; // holds temp file data
} PNGIMAGE; } PNGIMAGE;
@@ -195,8 +186,8 @@ class PNG
}; };
#else #else
#define PNG_STATIC #define PNG_STATIC
int PNG_openRAM(PNGIMAGE *pPNG, uint8_t *pData, int iDataSize, PNG_DRAW_CALLBACK *pfnDraw); int PNG_openRAM(PNGIMAGE *pPNG, uint8_t *pData, int iDataSize);
int PNG_openFile(PNGIMAGE *pPNG, const char *szFilename, PNG_DRAW_CALLBACK *pfnDraw); int PNG_openFile(PNGIMAGE *pPNG, const char *szFilename);
int PNG_getWidth(PNGIMAGE *pPNG); int PNG_getWidth(PNGIMAGE *pPNG);
int PNG_getHeight(PNGIMAGE *pPNG); int PNG_getHeight(PNGIMAGE *pPNG);
int PNG_decode(PNGIMAGE *pPNG, void *pUser, int iOptions); int PNG_decode(PNGIMAGE *pPNG, void *pUser, int iOptions);
+20 -10
View File
@@ -7,9 +7,6 @@
#include "zutil.h" #include "zutil.h"
#ifndef __ADLER32_C__
#define __ADLER32_C__
local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2)); local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
#define BASE 65521U /* largest prime smaller than 65536 */ #define BASE 65521U /* largest prime smaller than 65536 */
@@ -63,7 +60,10 @@ local uLong adler32_combine_ OF((uLong adler1, uLong adler2, z_off64_t len2));
#endif #endif
/* ========================================================================= */ /* ========================================================================= */
uLong ZEXPORT adler32_z(uLong adler, const Bytef *buf, z_size_t len) uLong ZEXPORT adler32_z(adler, buf, len)
uLong adler;
const Bytef *buf;
z_size_t len;
{ {
unsigned long sum2; unsigned long sum2;
unsigned n; unsigned n;
@@ -131,13 +131,19 @@ uLong ZEXPORT adler32_z(uLong adler, const Bytef *buf, z_size_t len)
} }
/* ========================================================================= */ /* ========================================================================= */
uLong ZEXPORT adler32(uLong adler, const Bytef *buf, uInt len) uLong ZEXPORT adler32(adler, buf, len)
uLong adler;
const Bytef *buf;
uInt len;
{ {
return adler32_z(adler, buf, len); return adler32_z(adler, buf, len);
} }
/* ========================================================================= */ /* ========================================================================= */
local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2) local uLong adler32_combine_(adler1, adler2, len2)
uLong adler1;
uLong adler2;
z_off64_t len2;
{ {
unsigned long sum1; unsigned long sum1;
unsigned long sum2; unsigned long sum2;
@@ -163,14 +169,18 @@ local uLong adler32_combine_(uLong adler1, uLong adler2, z_off64_t len2)
} }
/* ========================================================================= */ /* ========================================================================= */
uLong ZEXPORT adler32_combine(uLong adler1, uLong adler2, z_off_t len2) uLong ZEXPORT adler32_combine(adler1, adler2, len2)
uLong adler1;
uLong adler2;
z_off_t len2;
{ {
return adler32_combine_(adler1, adler2, len2); return adler32_combine_(adler1, adler2, len2);
} }
uLong ZEXPORT adler32_combine64(uLong adler1, uLong adler2, z_off64_t len2) uLong ZEXPORT adler32_combine64(adler1, adler2, len2)
uLong adler1;
uLong adler2;
z_off64_t len2;
{ {
return adler32_combine_(adler1, adler2, len2); return adler32_combine_(adler1, adler2, len2);
} }
#endif // __ADLER32_C__
+35 -10
View File
@@ -185,7 +185,7 @@ local void write_table(out, table)
/* ========================================================================= /* =========================================================================
* This function can be used by asm versions of crc32() * This function can be used by asm versions of crc32()
*/ */
const z_crc_t FAR * ZEXPORT get_crc_table(void) const z_crc_t FAR * ZEXPORT get_crc_table()
{ {
#ifdef DYNAMIC_CRC_TABLE #ifdef DYNAMIC_CRC_TABLE
if (crc_table_empty) if (crc_table_empty)
@@ -199,7 +199,10 @@ const z_crc_t FAR * ZEXPORT get_crc_table(void)
#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1 #define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
/* ========================================================================= */ /* ========================================================================= */
unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char FAR *buf, z_size_t len) unsigned long ZEXPORT crc32_z(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
z_size_t len;
{ {
if (buf == Z_NULL) return 0UL; if (buf == Z_NULL) return 0UL;
@@ -231,7 +234,10 @@ unsigned long ZEXPORT crc32_z(unsigned long crc, const unsigned char FAR *buf, z
} }
/* ========================================================================= */ /* ========================================================================= */
unsigned long ZEXPORT crc32(unsigned long crc, const unsigned char FAR *buf, uInt len) unsigned long ZEXPORT crc32(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
uInt len;
{ {
return crc32_z(crc, buf, len); return crc32_z(crc, buf, len);
} }
@@ -257,7 +263,10 @@ unsigned long ZEXPORT crc32(unsigned long crc, const unsigned char FAR *buf, uIn
#define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4 #define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4
/* ========================================================================= */ /* ========================================================================= */
local unsigned long crc32_little(unsigned long crc, const unsigned char FAR *buf, z_size_t len) local unsigned long crc32_little(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
z_size_t len;
{ {
register z_crc_t c; register z_crc_t c;
register const z_crc_t FAR *buf4; register const z_crc_t FAR *buf4;
@@ -294,7 +303,10 @@ local unsigned long crc32_little(unsigned long crc, const unsigned char FAR *buf
#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4 #define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
/* ========================================================================= */ /* ========================================================================= */
local unsigned long crc32_big(unsigned long crc, const unsigned char FAR *buf, z_size_t len) local unsigned long crc32_big(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
z_size_t len;
{ {
register z_crc_t c; register z_crc_t c;
register const z_crc_t FAR *buf4; register const z_crc_t FAR *buf4;
@@ -329,7 +341,9 @@ local unsigned long crc32_big(unsigned long crc, const unsigned char FAR *buf, z
#define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */ #define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */
/* ========================================================================= */ /* ========================================================================= */
local unsigned long gf2_matrix_times(unsigned long *mat, unsigned long vec) local unsigned long gf2_matrix_times(mat, vec)
unsigned long *mat;
unsigned long vec;
{ {
unsigned long sum; unsigned long sum;
@@ -344,7 +358,9 @@ local unsigned long gf2_matrix_times(unsigned long *mat, unsigned long vec)
} }
/* ========================================================================= */ /* ========================================================================= */
local void gf2_matrix_square(unsigned long *square, unsigned long *mat) local void gf2_matrix_square(square, mat)
unsigned long *square;
unsigned long *mat;
{ {
int n; int n;
@@ -353,7 +369,10 @@ local void gf2_matrix_square(unsigned long *square, unsigned long *mat)
} }
/* ========================================================================= */ /* ========================================================================= */
local uLong crc32_combine_(uLong crc1, uLong crc2, z_off64_t len2) local uLong crc32_combine_(crc1, crc2, len2)
uLong crc1;
uLong crc2;
z_off64_t len2;
{ {
int n; int n;
unsigned long row; unsigned long row;
@@ -406,12 +425,18 @@ local uLong crc32_combine_(uLong crc1, uLong crc2, z_off64_t len2)
} }
/* ========================================================================= */ /* ========================================================================= */
uLong ZEXPORT crc32_combine(uLong crc1, uLong crc2, z_off_t len2) uLong ZEXPORT crc32_combine(crc1, crc2, len2)
uLong crc1;
uLong crc2;
z_off_t len2;
{ {
return crc32_combine_(crc1, crc2, len2); return crc32_combine_(crc1, crc2, len2);
} }
uLong ZEXPORT crc32_combine64(uLong crc1, uLong crc2, z_off64_t len2) uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
uLong crc1;
uLong crc2;
z_off64_t len2;
{ {
return crc32_combine_(crc1, crc2, len2); return crc32_combine_(crc1, crc2, len2);
} }
+17 -5
View File
@@ -16,7 +16,7 @@
#include "inffast.h" #include "inffast.h"
/* function prototypes */ /* function prototypes */
local void fixedtables (struct inflate_state FAR *state); local void fixedtables OF((struct inflate_state FAR *state));
/* /*
strm provides memory allocation functions in zalloc and zfree, or strm provides memory allocation functions in zalloc and zfree, or
@@ -25,7 +25,12 @@ local void fixedtables (struct inflate_state FAR *state);
windowBits is in the range 8..15, and window is a user-supplied windowBits is in the range 8..15, and window is a user-supplied
window and output buffer that is 2**windowBits bytes. window and output buffer that is 2**windowBits bytes.
*/ */
int ZEXPORT inflateBackInit_(z_streamp strm, int windowBits, unsigned char FAR *window, const char *version, int stream_size) int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size)
z_streamp strm;
int windowBits;
unsigned char FAR *window;
const char *version;
int stream_size;
{ {
struct inflate_state FAR *state; struct inflate_state FAR *state;
@@ -74,7 +79,8 @@ int ZEXPORT inflateBackInit_(z_streamp strm, int windowBits, unsigned char FAR *
used for threaded applications, since the rewriting of the tables and virgin used for threaded applications, since the rewriting of the tables and virgin
may not be thread-safe. may not be thread-safe.
*/ */
local void fixedtables(struct inflate_state FAR *state) local void fixedtables(state)
struct inflate_state FAR *state;
{ {
#ifdef BUILDFIXED #ifdef BUILDFIXED
static int virgin = 1; static int virgin = 1;
@@ -241,7 +247,12 @@ local void fixedtables(struct inflate_state FAR *state)
inflateBack() can also return Z_STREAM_ERROR if the input parameters inflateBack() can also return Z_STREAM_ERROR if the input parameters
are not correct, i.e. strm is Z_NULL or the state was not initialized. are not correct, i.e. strm is Z_NULL or the state was not initialized.
*/ */
int ZEXPORT inflateBack(z_streamp strm, in_func in, void FAR *in_desc, out_func out, void FAR *out_desc) int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc)
z_streamp strm;
in_func in;
void FAR *in_desc;
out_func out;
void FAR *out_desc;
{ {
struct inflate_state FAR *state; struct inflate_state FAR *state;
z_const unsigned char FAR *next; /* next input */ z_const unsigned char FAR *next; /* next input */
@@ -617,7 +628,8 @@ int ZEXPORT inflateBack(z_streamp strm, in_func in, void FAR *in_desc, out_func
return ret; return ret;
} }
int ZEXPORT inflateBackEnd(z_streamp strm) int ZEXPORT inflateBackEnd(strm)
z_streamp strm;
{ {
if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0) if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
return Z_STREAM_ERROR; return Z_STREAM_ERROR;
+69 -35
View File
@@ -8,13 +8,24 @@
#include "inflate.h" #include "inflate.h"
#include "inffast.h" #include "inffast.h"
#if (INTPTR_MAX == INT64_MAX) || defined(HAL_ESP32_HAL_H_) || defined(TEENSYDUINO) || defined(ARM_MATH_CM4) || defined(ARM_MATH_CM7)
#define ALLOWS_UNALIGNED
#endif
#if INTPTR_MAX == INT64_MAX
#define REGISTER_WIDTH 64
typedef uint64_t BIGUINT;
typedef uint32_t SMALLUINT;
#else
#define REGISTER_WIDTH 32
typedef uint32_t BIGUINT;
typedef uint16_t SMALLUINT;
#endif // native register size
#ifdef ASMINF #ifdef ASMINF
# pragma message("Assembler code may have bugs -- use at your own risk") # pragma message("Assembler code may have bugs -- use at your own risk")
#else #else
#if ((INTPTR_MAX == INT64_MAX) || defined(HAL_ESP32_HAL_H_) || defined(TEENSYDUINO) || defined(ARM_MATH_CM4) || defined(ARM_MATH_CM7)) && !defined(ARDUINO_ARCH_RP2040)
#define ALLOWS_UNALIGNED
#endif
/* /*
Decode literal, length, and distance codes and write out the resulting Decode literal, length, and distance codes and write out the resulting
literal and match bytes until either not enough input or output is literal and match bytes until either not enough input or output is
@@ -50,7 +61,10 @@
requires strm->avail_out >= 258 for each loop to avoid checking for requires strm->avail_out >= 258 for each loop to avoid checking for
output space. output space.
*/ */
void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) { void ZLIB_INTERNAL inflate_fast(strm, start)
z_streamp strm;
unsigned start; /* inflate()'s starting value for strm->avail_out */
{
struct inflate_state FAR *state; struct inflate_state FAR *state;
z_const unsigned char FAR *in; /* local strm->next_in */ z_const unsigned char FAR *in; /* local strm->next_in */
z_const unsigned char FAR *last; /* have enough input while in < last */ z_const unsigned char FAR *last; /* have enough input while in < last */
@@ -64,13 +78,14 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
unsigned whave; /* valid bytes in the window */ unsigned whave; /* valid bytes in the window */
unsigned wnext; /* window write index */ unsigned wnext; /* window write index */
unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */ unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */
unsigned long hold; /* local strm->hold */ BIGUINT hold, tmpbits; /* local strm->hold */
// unsigned long hold; /* local strm->hold */
unsigned bits; /* local strm->bits */ unsigned bits; /* local strm->bits */
code const FAR *lcode; /* local strm->lencode */ code const FAR *lcode; /* local strm->lencode */
code const FAR *dcode; /* local strm->distcode */ code const FAR *dcode; /* local strm->distcode */
unsigned lmask; /* mask for first level of length codes */ unsigned lmask; /* mask for first level of length codes */
unsigned dmask; /* mask for first level of distance codes */ unsigned dmask; /* mask for first level of distance codes */
code const *here; /* retrieved table entry */ code here; /* retrieved table entry */
unsigned op; /* code bits, operation, extra bits, or */ unsigned op; /* code bits, operation, extra bits, or */
/* window position, window bytes to copy */ /* window position, window bytes to copy */
unsigned len; /* match length, unused bytes */ unsigned len; /* match length, unused bytes */
@@ -101,60 +116,84 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
/* decode literals and length/distances until end-of-block or not enough /* decode literals and length/distances until end-of-block or not enough
input data or output space */ input data or output space */
do { do {
if (bits < 15) { if (bits < (REGISTER_WIDTH/2)) { // helps on 32 and 64-bit CPUs
#ifdef ALLOWS_UNALIGNED
tmpbits = *(SMALLUINT *)in;
hold |= (BIGUINT)(tmpbits << bits);
in += sizeof(SMALLUINT);
bits += (REGISTER_WIDTH / 2);
#else
hold += (unsigned long)(*in++) << bits; hold += (unsigned long)(*in++) << bits;
bits += 8; bits += 8;
hold += (unsigned long)(*in++) << bits; hold += (unsigned long)(*in++) << bits;
bits += 8; bits += 8;
#endif
} }
here = lcode + (hold & lmask); here = lcode[hold & lmask];
dolen: dolen:
op = (unsigned)(here->bits); op = (unsigned)(here.bits);
hold >>= op; hold >>= op;
bits -= op; bits -= op;
op = (unsigned)(here->op); op = (unsigned)(here.op);
if (op == 0) { /* literal */ if (op == 0) { /* literal */
Tracevv((stderr, here->val >= 0x20 && here->val < 0x7f ? Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?
"inflate: literal '%c'\n" : "inflate: literal '%c'\n" :
"inflate: literal 0x%02x\n", here->val)); "inflate: literal 0x%02x\n", here.val));
*out++ = (unsigned char)(here->val); *out++ = (unsigned char)(here.val);
} }
else if (op & 16) { /* length base */ else if (op & 16) { /* length base */
len = (unsigned)(here->val); len = (unsigned)(here.val);
op &= 15; /* number of extra bits */ op &= 15; /* number of extra bits */
if (op) { if (op) {
#if REGISTER_WIDTH == 32
if (bits < op) { if (bits < op) {
hold += (unsigned long)(*in++) << bits; hold += (uint32_t)(*in++) << bits;
bits += 8; bits += 8;
} }
#endif
len += (unsigned)hold & ((1U << op) - 1); len += (unsigned)hold & ((1U << op) - 1);
hold >>= op; hold >>= op;
bits -= op; bits -= op;
} }
Tracevv((stderr, "inflate: length %u\n", len)); Tracevv((stderr, "inflate: length %u\n", len));
if (bits < 15) { if (bits < (REGISTER_WIDTH/2)) { // helps on 32 and 64-bit CPUs
#ifdef UNALIGNED_OK
tmpbits = *(SMALLUINT *)in;
hold |= (BIGUINT)(tmpbits << bits);
in += sizeof(SMALLUINT);
bits += (REGISTER_WIDTH / 2);
#else
hold += (unsigned long)(*in++) << bits; hold += (unsigned long)(*in++) << bits;
bits += 8; bits += 8;
hold += (unsigned long)(*in++) << bits; hold += (unsigned long)(*in++) << bits;
bits += 8; bits += 8;
#endif
} }
here = dcode + (hold & dmask); here = dcode[hold & dmask];
dodist: dodist:
op = (unsigned)(here->bits); op = (unsigned)(here.bits);
hold >>= op; hold >>= op;
bits -= op; bits -= op;
op = (unsigned)(here->op); op = (unsigned)(here.op);
if (op & 16) { /* distance base */ if (op & 16) { /* distance base */
dist = (unsigned)(here->val); dist = (unsigned)(here.val);
op &= 15; /* number of extra bits */ op &= 15; /* number of extra bits */
#if REGISTER_WIDTH == 32
if (bits < op) { if (bits < op) {
#ifdef ALLOWS_UNALIGNED
hold |= (*(uint16_t *)in << bits);
bits += 16;
in += 2;
#else
hold += (unsigned long)(*in++) << bits; hold += (unsigned long)(*in++) << bits;
bits += 8; bits += 8;
if (bits < op) { if (bits < op) { // this is NEVER true
hold += (unsigned long)(*in++) << bits; hold += (unsigned long)(*in++) << bits;
bits += 8; bits += 8;
} }
#endif // ALLOWS_UNALIGNED
} }
#endif // 32-bit CPU
dist += (unsigned)hold & ((1U << op) - 1); dist += (unsigned)hold & ((1U << op) - 1);
#ifdef INFLATE_STRICT #ifdef INFLATE_STRICT
if (dist > dmax) { if (dist > dmax) {
@@ -267,7 +306,7 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
{ {
uint8_t *pEnd = out+len; uint8_t *pEnd = out+len;
int overlap = (int)(intptr_t)(out-from); int overlap = (int)(intptr_t)(out-from);
if (overlap > 4) { // overlap of source/dest won't impede normal copy if (overlap >= 4) { // overlap of source/dest won't impede normal copy
while (out < pEnd) { while (out < pEnd) {
*(uint32_t *)out = *(uint32_t *)from; *(uint32_t *)out = *(uint32_t *)from;
out += 4; out += 4;
@@ -275,15 +314,10 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
} }
// correct for possible overshoot of destination ptr // correct for possible overshoot of destination ptr
out = pEnd; out = pEnd;
} else if (overlap == 1 || overlap == 4) { // copy 1/4-byte patterns } else if (overlap == 1) { // copy 1-byte pattern
uint32_t pattern; uint32_t pattern = *from;
if (overlap == 1) {
pattern = *from;
pattern = pattern | (pattern << 8); pattern = pattern | (pattern << 8);
pattern = pattern | (pattern << 16); pattern = pattern | (pattern << 16);
} else {
pattern = *(uint32_t *)from;
}
while (out < pEnd) { while (out < pEnd) {
*(uint32_t *)out = pattern; *(uint32_t *)out = pattern;
out += 4; out += 4;
@@ -311,7 +345,7 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
} }
} }
else if ((op & 64) == 0) { /* 2nd level distance code */ else if ((op & 64) == 0) { /* 2nd level distance code */
here = dcode + here->val + (hold & ((1U << op) - 1)); here = dcode[here.val + (hold & ((1U << op) - 1))];
goto dodist; goto dodist;
} }
else { else {
@@ -321,7 +355,7 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
} }
} }
else if ((op & 64) == 0) { /* 2nd level length code */ else if ((op & 64) == 0) { /* 2nd level length code */
here = lcode + here->val + (hold & ((1U << op) - 1)); here = lcode[here.val + (hold & ((1U << op) - 1))];
goto dolen; goto dolen;
} }
else if (op & 32) { /* end-of-block */ else if (op & 32) { /* end-of-block */
@@ -337,10 +371,10 @@ void ZLIB_INTERNAL inflate_fast(z_streamp strm, unsigned start) {
} while (in < last && out < end); } while (in < last && out < end);
/* return unused bytes (on entry, bits < 8, so in won't go too far back) */ /* return unused bytes (on entry, bits < 8, so in won't go too far back) */
len = bits >> 3; // len = bits >> 3;
in -= len; // in -= len;
bits -= len << 3; // bits -= len << 3;
hold &= (1U << bits) - 1; // hold &= (1 << bits) - 1;
/* update state and return */ /* update state and return */
strm->next_in = in; strm->next_in = in;
File diff suppressed because it is too large Load Diff
+4 -10
View File
@@ -16,13 +16,9 @@
# define GUNZIP # define GUNZIP
#endif #endif
#ifndef __INFLATE_H__
#define __INFLATE_H__
/* Possible inflate modes between inflate() calls */ /* Possible inflate modes between inflate() calls */
typedef enum typedef enum {
{ HEAD = 16180, /* i: waiting for magic header */
PNG_HEADER = 16180, /* i: waiting for magic header */
FLAGS, /* i: waiting for method and flags (gzip) */ FLAGS, /* i: waiting for method and flags (gzip) */
TIME, /* i: waiting for modification time (gzip) */ TIME, /* i: waiting for modification time (gzip) */
OS, /* i: waiting for extra flags and operating system (gzip) */ OS, /* i: waiting for extra flags and operating system (gzip) */
@@ -62,7 +58,7 @@ typedef enum
(most modes can go to BAD or MEM on error -- not shown for clarity) (most modes can go to BAD or MEM on error -- not shown for clarity)
Process header: Process header:
PNG_HEADER -> (gzip) or (zlib) or (raw) HEAD -> (gzip) or (zlib) or (raw)
(gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT -> (gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME -> COMMENT ->
HCRC -> TYPE HCRC -> TYPE
(zlib) -> DICTID or TYPE (zlib) -> DICTID or TYPE
@@ -83,8 +79,7 @@ typedef enum
/* State maintained between inflate() calls -- approximately 7K bytes, not /* State maintained between inflate() calls -- approximately 7K bytes, not
including the allocated sliding window, which is up to 32K bytes. */ including the allocated sliding window, which is up to 32K bytes. */
struct inflate_state struct inflate_state {
{
z_streamp strm; /* pointer back to this zlib stream */ z_streamp strm; /* pointer back to this zlib stream */
inflate_mode mode; /* current inflate mode */ inflate_mode mode; /* current inflate mode */
int last; /* true if processing last block */ int last; /* true if processing last block */
@@ -129,4 +124,3 @@ struct inflate_state
int back; /* bits back of last unprocessed length/lit */ int back; /* bits back of last unprocessed length/lit */
unsigned was; /* initial length of match */ unsigned was; /* initial length of match */
}; };
#endif // __INFLATE_H__
+7 -1
View File
@@ -29,7 +29,13 @@ const char inflate_copyright[] =
table index bits. It will differ if the request is greater than the table index bits. It will differ if the request is greater than the
longest code or if it is less than the shortest code. longest code or if it is less than the shortest code.
*/ */
int ZLIB_INTERNAL inflate_table(codetype type, unsigned short FAR *lens, unsigned codes, code FAR * FAR *table, unsigned FAR *bits, unsigned short FAR *work) int ZLIB_INTERNAL inflate_table(type, lens, codes, table, bits, work)
codetype type;
unsigned short FAR *lens;
unsigned codes;
code FAR * FAR *table;
unsigned FAR *bits;
unsigned short FAR *work;
{ {
unsigned len; /* a code's length in bits */ unsigned len; /* a code's length in bits */
unsigned sym; /* index of code symbols */ unsigned sym; /* index of code symbols */
-3
View File
@@ -7,8 +7,6 @@
part of the implementation of the compression library and is part of the implementation of the compression library and is
subject to change. Applications should only use zlib.h. subject to change. Applications should only use zlib.h.
*/ */
#ifndef __INFTREES_H__
#define __INFTREES_H__
/* Structure for decoding tables. Each entry provides either the /* Structure for decoding tables. Each entry provides either the
information needed to do the operation requested by the code that information needed to do the operation requested by the code that
@@ -62,4 +60,3 @@ typedef enum {
int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens, int ZLIB_INTERNAL inflate_table OF((codetype type, unsigned short FAR *lens,
unsigned codes, code FAR * FAR *table, unsigned codes, code FAR * FAR *table,
unsigned FAR *bits, unsigned short FAR *work)); unsigned FAR *bits, unsigned short FAR *work));
#endif // __INFTREES_H__
+32 -134
View File
@@ -60,41 +60,21 @@ static const uint16_t usGrayTo565[] = {0x0000,0x0000,0x0000,0x0000,0x0020,0x0020
// C interface // C interface
// //
#ifndef __cplusplus #ifndef __cplusplus
// Forward references
PNG_STATIC int32_t readFLASH(PNGFILE *pFile, uint8_t *pBuf, int32_t iLen);
PNG_STATIC int32_t seekMem(PNGFILE *pFile, int32_t iPosition);
PNG_STATIC int PNGInit(PNGIMAGE *pPNG);
// C API // C API
int PNG_openRAM(PNGIMAGE *pPNG, uint8_t *pData, int iDataSize, PNG_DRAW_CALLBACK *pfnDraw) int PNG_openRAM(PNGIMAGE *pPNG, uint8_t *pData, int iDataSize, PNG_DRAW_CALLBACK *pfnDraw)
{ {
pPNG->iError = PNG_SUCCESS; pPNG->iError = PNG_SUCCESS;
pPNG->pfnRead = readFLASH; pPNG->pfnRead = readMem;
pPNG->pfnSeek = seekMem; pPNG->pfnSeek = seekMem;
pPNG->pfnDraw = pfnDraw; pPNG->pfnDraw = pfnDraw;
pPNG->pfnOpen = NULL; pPNG->pfnOpen = NULL;
pPNG->pfnClose = NULL; pPNG->pfnClose = NULL;
pPNG->PNGFile.iSize = iDataSize; pPNG->PNGFile.iSize = iDataSize;
pPNG->PNGFile.pData = pData; pPNG->PNGFile.pData = pData;
pPNG->PNGFile.iPos = 0;
return PNGInit(pPNG); return PNGInit(pPNG);
} /* PNG_openRAM() */ } /* PNG_openRAM() */
#ifdef __LINUX__ #ifdef __LINUX__
int32_t readFile(PNGFILE *handle, uint8_t *buffer, int32_t length) {
if (!handle->fHandle) return 0;
return (int32_t)fread(buffer, 1, length, (FILE *)handle->fHandle);
}
int32_t seekFile(PNGFILE *handle, int32_t position) {
if (!handle->fHandle) return 0;
return fseek((FILE *)handle->fHandle, position, SEEK_SET);
}
void closeFile(void *handle) {
if (handle) {
FILE *f = (FILE *)handle;
fclose(f);
}
}
int PNG_openFile(PNGIMAGE *pPNG, const char *szFilename, PNG_DRAW_CALLBACK *pfnDraw) int PNG_openFile(PNGIMAGE *pPNG, const char *szFilename, PNG_DRAW_CALLBACK *pfnDraw)
{ {
pPNG->iError = PNG_SUCCESS; pPNG->iError = PNG_SUCCESS;
@@ -239,15 +219,6 @@ PNG_STATIC uint8_t PNGMakeMask(PNGDRAW *pDraw, uint8_t *pMask, uint8_t ucThresho
} // switch on pixel type } // switch on pixel type
return cHasOpaque; // let the caller know if any pixels are opaque return cHasOpaque; // let the caller know if any pixels are opaque
} /* PNGMakeMask() */ } /* PNGMakeMask() */
#ifdef ARDUINO_ESP32S3_DEV
#ifdef __cplusplus
extern "C" {
#endif // __cplusplus
void s3_rgb565(uint8_t *pSrc, uint8_t *pDest, int iCount, bool bBigEndian);
#ifdef __cplusplus
};
#endif
#endif
// //
// Convert a line of native PNG pixels into RGB565 // Convert a line of native PNG pixels into RGB565
// handles all standard pixel types // handles all standard pixel types
@@ -257,30 +228,10 @@ PNG_STATIC void PNGRGB565(PNGDRAW *pDraw, uint16_t *pPixels, int iEndiannes, uin
{ {
int x, j; int x, j;
uint16_t usPixel, *pDest = pPixels; uint16_t usPixel, *pDest = pPixels;
uint8_t c=0, a, *pPal, *s = pDraw->pPixels; uint8_t c, a, *pPal, *s = pDraw->pPixels;
switch (pDraw->iPixelType) { switch (pDraw->iPixelType) {
case PNG_PIXEL_GRAY_ALPHA: case PNG_PIXEL_GRAY_ALPHA:
if (u32Bkgd != 0xffffffff) {
// gray level of background color choice
uint8_t u8BG = (uint8_t)(((u32Bkgd & 0xff) + ((u32Bkgd >> 7) & 0x1fe) + ((u32Bkgd >> 16) & 0xff)) / 4);
uint16_t usBG = usGrayTo565[u8BG];
for (x=0; x<pDraw->iWidth; x++) {
c = *s++; // gray level
a = *s++;
if (a == 0) {
usPixel = usBG;
} else if (a == 255) { // fully opaque
usPixel = usGrayTo565[c];
} else { // mix the colors
usPixel = (c * a) + (u8BG * (255-a));
usPixel = usGrayTo565[(usPixel >> 8)];
}
if (iEndiannes == PNG_RGB565_BIG_ENDIAN)
usPixel = __builtin_bswap16(usPixel);
*pDest++ = usPixel;
} // for x
} else {
for (x=0; x<pDraw->iWidth; x++) { for (x=0; x<pDraw->iWidth; x++) {
c = *s++; // gray level c = *s++; // gray level
a = *s++; a = *s++;
@@ -290,7 +241,6 @@ PNG_STATIC void PNGRGB565(PNGDRAW *pDraw, uint16_t *pPixels, int iEndiannes, uin
usPixel = __builtin_bswap16(usPixel); usPixel = __builtin_bswap16(usPixel);
*pDest++ = usPixel; *pDest++ = usPixel;
} }
}
break; break;
case PNG_PIXEL_GRAYSCALE: case PNG_PIXEL_GRAYSCALE:
switch (pDraw->iBpp) { switch (pDraw->iBpp) {
@@ -387,36 +337,6 @@ PNG_STATIC void PNGRGB565(PNGDRAW *pDraw, uint16_t *pPixels, int iEndiannes, uin
switch (pDraw->iBpp) { switch (pDraw->iBpp) {
case 8: // 8-bit palette also supports palette alpha case 8: // 8-bit palette also supports palette alpha
if (pDraw->iHasAlpha) { // use the alpha to modify the palette if (pDraw->iHasAlpha) { // use the alpha to modify the palette
if (u32Bkgd != 0xffffffff) { // user wants to blend it with a background color
uint32_t b_r, b_g, b_b;
b_r = u32Bkgd & 0xff; b_g = (u32Bkgd & 0xff00) >> 8;
b_b = (u32Bkgd >> 16) & 0xff;
uint16_t u16Clr = (u32Bkgd & 0xf8) << 8;
u16Clr |= ((u32Bkgd & 0xfc00) >> 5);
u16Clr |= ((u32Bkgd & 0xf80000) >> 19);
for (x=0; x<pDraw->iWidth; x++) {
int a;
c = *s++;
a = pDraw->pPalette[768+c]; // get alpha
if (a == 0) { // pure BGColor
usPixel = u16Clr;
} else if (a == 255) { // opaque
pPal = &pDraw->pPalette[c * 3];
usPixel = ((pPal[2] * a) >> 11); // blue
usPixel |= (((pPal[1] * a) >> 10) << 5); // green
usPixel |= (((pPal[0] * a) >> 11) << 11); // red
} else { // need to mix the bg & fg colors
pPal = &pDraw->pPalette[c * 3];
usPixel = ((((pPal[2] * a) + (b_b * (255-a)))) >> 11); // blue
usPixel |= ((((pPal[1] * a) + (b_g * (255-a)))>> 10) << 5); // green
usPixel |= ((((pPal[0] * a) + (b_r * (255-a)))>> 11) << 11); // red
} // need to mix with alpha
if (iEndiannes == PNG_RGB565_BIG_ENDIAN)
usPixel = __builtin_bswap16(usPixel);
*pDest++ = usPixel;
} // for x
} else { // alpha 0 = black
for (x=0; x<pDraw->iWidth; x++) { for (x=0; x<pDraw->iWidth; x++) {
int a; int a;
c = *s++; c = *s++;
@@ -429,7 +349,6 @@ PNG_STATIC void PNGRGB565(PNGDRAW *pDraw, uint16_t *pPixels, int iEndiannes, uin
usPixel = __builtin_bswap16(usPixel); usPixel = __builtin_bswap16(usPixel);
*pDest++ = usPixel; *pDest++ = usPixel;
} // for x } // for x
}
} else { } else {
for (x=0; x<pDraw->iWidth; x++) { for (x=0; x<pDraw->iWidth; x++) {
c = *s++; c = *s++;
@@ -525,9 +444,6 @@ PNG_STATIC void PNGRGB565(PNGDRAW *pDraw, uint16_t *pPixels, int iEndiannes, uin
s += 4; // skip alpha s += 4; // skip alpha
} }
} else { // ignore alpha } else { // ignore alpha
#ifdef ARDUINO_ESP32S3_DEV
s3_rgb565(s, (uint8_t *)pDest, pDraw->iWidth, (iEndiannes == PNG_RGB565_BIG_ENDIAN));
#else
for (x=0; x<pDraw->iWidth; x++) { for (x=0; x<pDraw->iWidth; x++) {
usPixel = (s[2] >> 3); // blue usPixel = (s[2] >> 3); // blue
usPixel |= ((s[1] >> 2) << 5); // green usPixel |= ((s[1] >> 2) << 5); // green
@@ -537,7 +453,6 @@ PNG_STATIC void PNGRGB565(PNGDRAW *pDraw, uint16_t *pPixels, int iEndiannes, uin
*pDest++ = usPixel; *pDest++ = usPixel;
s += 4; // skip alpha s += 4; // skip alpha
} }
#endif
} }
break; break;
} }
@@ -591,8 +506,8 @@ PNG_STATIC int PNGParseInfo(PNGIMAGE *pPage)
pPage->iHasAlpha = pPage->iInterlaced = 0; pPage->iHasAlpha = pPage->iInterlaced = 0;
// Read a few bytes to just parse the size/pixel info // Read a few bytes to just parse the size/pixel info
iBytesRead = (*pPage->pfnRead)(&pPage->PNGFile, s, 33); iBytesRead = (*pPage->pfnRead)(&pPage->PNGFile, s, 32);
if (iBytesRead < 33) { // a PNG file this tiny? probably bad if (iBytesRead < 32) { // a PNG file this tiny? probably bad
pPage->iError = PNG_INVALID_FILE; pPage->iError = PNG_INVALID_FILE;
return pPage->iError; return pPage->iError;
} }
@@ -602,17 +517,6 @@ PNG_STATIC int PNGParseInfo(PNGIMAGE *pPage)
return pPage->iError; return pPage->iError;
} }
if (MOTOLONG(&s[12]) == 0x49484452/*'IHDR'*/) { if (MOTOLONG(&s[12]) == 0x49484452/*'IHDR'*/) {
int len = MOTOLONG(&s[8]);
if (len != 13) {
pPage->iError = PNG_INVALID_FILE;
return pPage->iError;
}
int crc = (int)crc32(0, &s[12], len+4);
int hdrcrc = MOTOLONG(&s[16+len]);
if (len != 13 || crc != hdrcrc) {
pPage->iError = PNG_INVALID_FILE;
return pPage->iError;
}
pPage->iWidth = MOTOLONG(&s[16]); pPage->iWidth = MOTOLONG(&s[16]);
pPage->iHeight = MOTOLONG(&s[20]); pPage->iHeight = MOTOLONG(&s[20]);
pPage->ucBpp = s[24]; // bits per pixel pPage->ucBpp = s[24]; // bits per pixel
@@ -725,7 +629,7 @@ PNG_STATIC void DeFilter(uint8_t *pCurr, uint8_t *pPrev, int iWidth, int iPitch)
b = *pPrev++; b = *pPrev++;
p = b - c; p = b - c;
pc = a - c; pc = a - c;
// assume no native ABS() instruction // asume no native ABS() instruction
pa = p < 0 ? -p : p; pa = p < 0 ? -p : p;
pb = pc < 0 ? -pc : pc; pb = pc < 0 ? -pc : pc;
pc = (p + pc) < 0 ? -(p + pc) : p + pc; pc = (p + pc) < 0 ? -(p + pc) : p + pc;
@@ -773,13 +677,8 @@ PNG_STATIC int DecodePNG(PNGIMAGE *pPage, void *pUser, int iOptions)
return 0; return 0;
} }
// Use internal buffer to maintain the current and previous lines // Use internal buffer to maintain the current and previous lines
y = (int)(intptr_t)&pPage->ucPixels[0]; pCurr = pPage->ucPixels;
y &= 15; // make sure we're 16-byte aligned, -1 for filter byte pPrev = &pPage->ucPixels[pPage->iPitch+1];
y += (15 - y);
pCurr = &pPage->ucPixels[y]; // so that the pixels are 16-byte aligned
y += pPage->iPitch + 1; // both lines are 16-byte (minus 1)
y += (15 - (y & 15));
pPrev = &pPage->ucPixels[y];
pPage->iError = PNG_SUCCESS; pPage->iError = PNG_SUCCESS;
// Start decoding the image // Start decoding the image
bDone = FALSE; bDone = FALSE;
@@ -792,7 +691,7 @@ PNG_STATIC int DecodePNG(PNGIMAGE *pPage, void *pUser, int iOptions)
// Insert the memory pointer here to avoid having to use malloc() inside zlib // Insert the memory pointer here to avoid having to use malloc() inside zlib
state = (struct inflate_state FAR *)pPage->ucZLIB; state = (struct inflate_state FAR *)pPage->ucZLIB;
d_stream.state = (struct internal_state FAR *)state; d_stream.state = (struct internal_state FAR *)state;
state->window = &pPage->ucZLIB[sizeof(struct inflate_state)]; // point to 32k dictionary buffer state->window = &pPage->ucZLIB[sizeof(inflate_state)]; // point to 32k dictionary buffer
err = inflateInit(&d_stream); err = inflateInit(&d_stream);
#ifdef FUTURE #ifdef FUTURE
// if (inpage->cCompression == PIL_COMP_IPHONE_FLATE) // if (inpage->cCompression == PIL_COMP_IPHONE_FLATE)
@@ -803,27 +702,18 @@ PNG_STATIC int DecodePNG(PNGIMAGE *pPage, void *pUser, int iOptions)
iFileOffset = 8; // skip PNG file signature iFileOffset = 8; // skip PNG file signature
iOffset = 0; // internal buffer offset starts at 0 iOffset = 0; // internal buffer offset starts at 0
iBytesRead = 0; // We haven't read yet anything // Read some data to start
(*pPage->pfnSeek)(&pPage->PNGFile, iFileOffset);
iBytesRead = (*pPage->pfnRead)(&pPage->PNGFile, s, PNG_FILE_BUF_SIZE);
iFileOffset += iBytesRead;
y = 0; y = 0;
d_stream.avail_out = 0; d_stream.avail_out = 0;
d_stream.next_out = pPage->pImage; d_stream.next_out = pPage->pImage;
// continue until fully decoded while (y < pPage->iHeight) { // continue until fully decoded
// parse the markers until the next data block // parse the markers until the next data block
while (!bDone && y < pPage->iHeight) while (!bDone)
{ {
if (iOffset > iBytesRead-8) { // need to read more data
iFileOffset += (iOffset - iBytesRead);
(*pPage->pfnSeek)(&pPage->PNGFile, iFileOffset);
iBytesRead = (*pPage->pfnRead)(&pPage->PNGFile, s, PNG_FILE_BUF_SIZE);
if (iBytesRead < 8) {
pPage->iError = PNG_DECODE_ERROR;
return 1;
}
iFileOffset += iBytesRead;
iOffset = 0;
}
iLen = MOTOLONG(&s[iOffset]); // chunk length iLen = MOTOLONG(&s[iOffset]); // chunk length
if (iLen < 0 || iLen + (iFileOffset - iBytesRead) > pPage->PNGFile.iSize) // invalid data if (iLen < 0 || iLen + (iFileOffset - iBytesRead) > pPage->PNGFile.iSize) // invalid data
{ {
@@ -931,10 +821,7 @@ PNG_STATIC int DecodePNG(PNGIMAGE *pPage, void *pUser, int iOptions)
pngd.iHasAlpha = pPage->iHasAlpha; pngd.iHasAlpha = pPage->iHasAlpha;
pngd.iBpp = pPage->ucBpp; pngd.iBpp = pPage->ucBpp;
pngd.y = y; pngd.y = y;
if (!(*pPage->pfnDraw)(&pngd)) { // user code returned 0 from PNGDraw (*pPage->pfnDraw)(&pngd);
pPage->iError = PNG_QUIT_EARLY;
return pPage->iError;
}
} else { } else {
// copy to destination bitmap // copy to destination bitmap
memcpy(&pPage->pImage[y * pPage->iPitch], &pCurr[1], pPage->iPitch); memcpy(&pPage->pImage[y * pPage->iPitch], &pCurr[1], pPage->iPitch);
@@ -959,14 +846,17 @@ PNG_STATIC int DecodePNG(PNGIMAGE *pPage, void *pUser, int iOptions)
y |= 0; // need more data y |= 0; // need more data
} }
} // while (iLen) } // while (iLen)
if (y != pPage->iHeight && iFileOffset < pPage->PNGFile.iSize) {
// need to read more IDAT chunks
if (iBytesRead) { // data remaining in buffer if (iBytesRead) { // data remaining in buffer
// Restore iBytesRead to be total ucFileBuf bytes, not remainder // move the data down
iBytesRead += iOffset; memmove(pPage->ucFileBuf, &pPage->ucFileBuf[iOffset], iBytesRead);
} else {
// We consumed everything, so move the pointer to the zero.
// We haven't read CRC for the block, but it doesn't matter as
// pfnSeek will move past it to the next chunk.
iOffset = 0; iOffset = 0;
} else {
iBytesRead = (*pPage->pfnRead)(&pPage->PNGFile, pPage->ucFileBuf, PNG_FILE_BUF_SIZE);
iFileOffset += iBytesRead;
iOffset = 0;
}
} }
break; break;
// case 0x69545874: //'iTXt' // case 0x69545874: //'iTXt'
@@ -999,6 +889,14 @@ PNG_STATIC int DecodePNG(PNGIMAGE *pPage, void *pUser, int iOptions)
#endif #endif
} // switch } // switch
iOffset += (iLen + 4); // skip data + CRC iOffset += (iLen + 4); // skip data + CRC
if (iOffset > iBytesRead-8) { // need to read more data
iFileOffset += (iOffset - iBytesRead);
(*pPage->pfnSeek)(&pPage->PNGFile, iFileOffset);
iBytesRead = (*pPage->pfnRead)(&pPage->PNGFile, s, PNG_FILE_BUF_SIZE);
iFileOffset += iBytesRead;
iOffset = 0;
}
} // while !bDone
} // while y < height } // while y < height
err = inflateEnd(&d_stream); err = inflateEnd(&d_stream);
return pPage->iError; return pPage->iError;
-63
View File
@@ -1,63 +0,0 @@
//
// ESP32-S3 SIMD optimized code
// Written by Larry Bank
// Copyright (c) 2024 BitBank Software, Inc.
// written April 17, 2024
//
#ifdef ARDUINO_ARCH_ESP32
#include "dsps_fft2r_platform.h"
#if (dsps_fft2r_sc16_aes3_enabled == 1)
.text
.align 4
// Convert N pixels of RGBA (RGB8888) to RGB565
// A2 A3 A4 A5
// Call as void s3_rgb565(uint8_t *pSrc, uint8_t *pDest, int iCount, bool bBigEndian);
.global s3_rgb565
.type s3_rgb565,@function
s3_rgb565:
# no idea what this frequency keyword does
# .frequency 1.000 0.000
entry a1,16
addi.n a4,a4,7 # process pixels in groups of 8
movi.n a6,-8
and a4,a4,a6
.top_rgb565:
ee.vld.128.ip q0,a2,16 # load 4 pixels into Q0
ee.vld.128.ip q1,a2,16 # load another 4 pixels into Q1
ee.xorq q4,q4,q4 # destination reg set to 0s
ee.vcmp.eq.s16 q2,q2,q2 # create FFs
ee.vunzip.16 q0,q1 # interleave RG and BA from Q0/Q1
ee.vsubs.s16 q3,q4,q2 # make 16-bit 1's in q3
movi.n a6,10 # load the shift register with 10 (for green)
wsr.sar a6 # put it in the SAR (shift amount register)
ee.vmul.u16 q5,q0,q3 # shift green into lower 6 bits of q5
movi.n a6,3 # shift value 3 for red and blue
wsr.sar a6
ee.vmul.s16 q6,q0,q3 # shift red into lower 5 bits of q6
ee.vmul.s16 q7,q1,q3 # shift blue into lower 5 bits of q7
movi.n a6,5
wsr.sar a6 # set shift to 5
ee.vsl.32 q4,q3 # q4 = 0x00200020...
ee.vsubs.s16 q4,q4,q3 # Now q4 has the r/b mask of 0x001f001f...
ee.andq q6,q4,q6 # mask off 5 bits of red
ee.andq q7,q4,q7 # mask off 5 bits of blue
ee.vsl.32 q5,q5 # shift green left 5
movi.n a6,11
wsr.sar a6 # set shift to 11
ee.vsl.32 q6,q6 # shift red left 11
ee.orq q6,q6,q5 # combine red+green
ee.orq q6,q6,q7 # combine rg with b
mv.qr q5,q6 # in case we're generating little endian output
beqi a5,0,.rgb565_out # RGB565 little endian?
ee.vunzip.8 q6,q5 # swap the byte order to be big-endian
ee.vzip.8 q5,q6
.rgb565_out:
ee.vst.128.ip q5,a3,16 # store 8 RGB565 pixels
addi.n a4,a4,-8
bnez.n a4,.top_rgb565
retw.n
#endif // dsps_fft2r_sc16_aes3_enabled
#endif // ESP32
-4
View File
@@ -8,10 +8,6 @@
#ifndef ZCONF_H #ifndef ZCONF_H
#define ZCONF_H #define ZCONF_H
#ifdef __GNUC__
#pragma GCC optimize("O2")
#endif
/* /*
* If you *really* need a unique prefix for all types and library functions, * If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it. * compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
+13 -6
View File
@@ -24,12 +24,12 @@ z_const char * const z_errmsg[10] = {
}; };
const char * ZEXPORT zlibVersion(void) const char * ZEXPORT zlibVersion()
{ {
return ZLIB_VERSION; return ZLIB_VERSION;
} }
uLong ZEXPORT zlibCompileFlags(void) uLong ZEXPORT zlibCompileFlags()
{ {
uLong flags; uLong flags;
@@ -119,7 +119,8 @@ uLong ZEXPORT zlibCompileFlags(void)
# endif # endif
int ZLIB_INTERNAL z_verbose = verbose; int ZLIB_INTERNAL z_verbose = verbose;
void ZLIB_INTERNAL z_error (char * m) void ZLIB_INTERNAL z_error (m)
char *m;
{ {
fprintf(stderr, "%s\n", m); fprintf(stderr, "%s\n", m);
exit(1); exit(1);
@@ -129,7 +130,8 @@ void ZLIB_INTERNAL z_error (char * m)
/* exported to allow conversion of error code to string for compress() and /* exported to allow conversion of error code to string for compress() and
* uncompress() * uncompress()
*/ */
const char * ZEXPORT zError(int err) const char * ZEXPORT zError(err)
int err;
{ {
return ERR_MSG(err); return ERR_MSG(err);
} }
@@ -300,7 +302,10 @@ extern voidp calloc OF((uInt items, uInt size));
extern void free OF((voidpf ptr)); extern void free OF((voidpf ptr));
#endif #endif
voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size) voidpf ZLIB_INTERNAL zcalloc (opaque, items, size)
voidpf opaque;
unsigned items;
unsigned size;
{ {
(void)opaque; (void)opaque;
// return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) : // return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
@@ -308,7 +313,9 @@ voidpf ZLIB_INTERNAL zcalloc (voidpf opaque, unsigned items, unsigned size)
return Z_NULL; // DEBUG - no longer used return Z_NULL; // DEBUG - no longer used
} }
void ZLIB_INTERNAL zcfree (voidpf opaque, voidpf ptr) void ZLIB_INTERNAL zcfree (opaque, ptr)
voidpf opaque;
voidpf ptr;
{ {
(void)opaque; (void)opaque;
// free(ptr); // DEBUG - no longer used // free(ptr); // DEBUG - no longer used
+1 -2
View File
@@ -24,7 +24,6 @@
#if defined(STDC) && !defined(Z_SOLO) #if defined(STDC) && !defined(Z_SOLO)
# if !(defined(_WIN32_WCE) && defined(_MSC_VER)) # if !(defined(_WIN32_WCE) && defined(_MSC_VER))
# include <stddef.h> # include <stddef.h>
# include <stdint.h>
# endif # endif
# include <string.h> # include <string.h>
# include <stdlib.h> # include <stdlib.h>
@@ -160,7 +159,7 @@ extern z_const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
# define OS_CODE 18 # define OS_CODE 18
#endif #endif
#if defined( __APPLE__ ) && !(defined(MACOS) || defined(TARGET_OS_MAC)) #ifdef __APPLE__
# define OS_CODE 19 # define OS_CODE 19
#endif #endif
-143
View File
@@ -1,143 +0,0 @@
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t bugpng[] PROGMEM = {
0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x01, 0x2F, 0x00, 0x00, 0x00, 0xA1, 0x08, 0x06, 0x00, 0x00, 0x00, 0x96, 0x13, 0x39,
0xC4, 0x00, 0x00, 0x00, 0x01, 0x73, 0x52, 0x47, 0x42, 0x00, 0xAE, 0xCE, 0x1C, 0xE9, 0x00, 0x00,
0x00, 0x04, 0x67, 0x41, 0x4D, 0x41, 0x00, 0x00, 0xB1, 0x8F, 0x0B, 0xFC, 0x61, 0x05, 0x00, 0x00,
0x00, 0x09, 0x70, 0x48, 0x59, 0x73, 0x00, 0x00, 0x12, 0x74, 0x00, 0x00, 0x12, 0x74, 0x01, 0xDE,
0x66, 0x1F, 0x78, 0x00, 0x00, 0x04, 0x0F, 0x49, 0x44, 0x41, 0x54, 0x78, 0x5E, 0xED, 0xD4, 0xD9,
0x72, 0xE3, 0x48, 0x0C, 0x44, 0x51, 0xFF, 0xFF, 0x4F, 0x7B, 0xC4, 0x98, 0x76, 0x87, 0x5A, 0xCE,
0x82, 0xC4, 0x5A, 0xB1, 0xDC, 0x13, 0x91, 0x0F, 0x33, 0x2D, 0x93, 0x55, 0x00, 0x88, 0xAF, 0x6F,
0x00, 0x08, 0x88, 0xE5, 0x05, 0x20, 0x24, 0x96, 0x17, 0x80, 0x90, 0x58, 0x5E, 0x48, 0xED, 0xEB,
0xEB, 0xEB, 0x6F, 0x90, 0x0B, 0x1D, 0x45, 0x5A, 0xCF, 0x8B, 0x8B, 0x05, 0x96, 0x0F, 0xDD, 0x44,
0x5A, 0x2C, 0xAF, 0xDC, 0xE8, 0x26, 0xD2, 0x62, 0x79, 0xE5, 0x46, 0x37, 0x91, 0x16, 0xCB, 0x2B,
0x37, 0xBA, 0x89, 0xB4, 0x58, 0x5E, 0xB9, 0xD1, 0x4D, 0xA4, 0xC5, 0xF2, 0xCA, 0x8D, 0x6E, 0x22,
0x2D, 0x96, 0x57, 0x6E, 0x74, 0x13, 0x29, 0xB1, 0xB8, 0xF2, 0xA3, 0xA3, 0x48, 0x89, 0xE5, 0x95,
0x1F, 0x1D, 0x45, 0x4A, 0x2C, 0xAF, 0xFC, 0xE8, 0x28, 0x52, 0x62, 0x79, 0xE5, 0x47, 0x47, 0x91,
0x12, 0xCB, 0x2B, 0x3F, 0x3A, 0x8A, 0x94, 0x58, 0x5E, 0xF9, 0x1D, 0xE9, 0x28, 0x03, 0x85, 0xD5,
0x9E, 0x67, 0x8C, 0x59, 0xCB, 0x69, 0x7B, 0x47, 0xD5, 0x50, 0x5D, 0x01, 0x66, 0x62, 0xC6, 0xF2,
0x73, 0xB3, 0xBC, 0x7E, 0x02, 0xCC, 0xC0, 0x6C, 0xE5, 0xE7, 0x6E, 0x79, 0xFD, 0x04, 0x18, 0xC1,
0x4C, 0xE5, 0x77, 0xA4, 0xA3, 0x6A, 0xB0, 0x5A, 0x01, 0xEE, 0x62, 0x8E, 0x6A, 0x38, 0xDA, 0x55,
0x35, 0x64, 0x2A, 0xC0, 0x1D, 0xCC, 0x50, 0x0D, 0x2E, 0xBA, 0xAA, 0x86, 0x4D, 0x05, 0xF8, 0x04,
0xB3, 0x53, 0x83, 0xAB, 0xAE, 0xAA, 0xA1, 0x53, 0x01, 0x2C, 0xCC, 0x4C, 0x0D, 0xEE, 0xBA, 0xAA,
0x06, 0xAF, 0x15, 0x40, 0x61, 0x56, 0x6A, 0x70, 0xDB, 0x55, 0x35, 0x80, 0xAD, 0x00, 0xCF, 0x98,
0x91, 0x1A, 0xDC, 0x77, 0x55, 0x0D, 0x62, 0x2B, 0xC0, 0x85, 0xD9, 0xA8, 0x21, 0x4C, 0x57, 0xD5,
0x40, 0xB6, 0x82, 0xDA, 0x98, 0x89, 0x1A, 0xC2, 0x75, 0x55, 0x0D, 0x66, 0x2B, 0xA8, 0x89, 0x59,
0xA8, 0x21, 0x6C, 0x57, 0xD5, 0x80, 0xAA, 0xA0, 0x1E, 0xE6, 0xA0, 0x86, 0xF0, 0x5D, 0x55, 0x83,
0xAA, 0x82, 0x1A, 0xE8, 0x7D, 0x1D, 0x69, 0x3A, 0xAB, 0x86, 0x56, 0x05, 0xB9, 0xD1, 0xF3, 0x3A,
0x52, 0x75, 0x56, 0x0D, 0x6E, 0x2B, 0xC8, 0x89, 0x5E, 0xD7, 0x91, 0xB2, 0xB3, 0x6A, 0x80, 0x5B,
0x41, 0x2E, 0xF4, 0xB8, 0x8E, 0xD4, 0x9D, 0x55, 0x83, 0xDC, 0x0A, 0x72, 0x68, 0xF5, 0xF6, 0xF5,
0xBF, 0x11, 0x5F, 0x89, 0x4E, 0x3E, 0x0F, 0xEE, 0xBB, 0x20, 0x36, 0xD5, 0x53, 0x15, 0xC4, 0x57,
0xAA, 0x8B, 0x6A, 0x88, 0x5B, 0x41, 0x4C, 0xAA, 0x97, 0x2A, 0x88, 0xAF, 0x64, 0x17, 0xD5, 0x30,
0xAB, 0x20, 0x16, 0xD5, 0xC3, 0x56, 0x10, 0x5F, 0xE9, 0x2E, 0xAA, 0xA1, 0x56, 0x81, 0x6F, 0xAA,
0x67, 0x56, 0x90, 0x03, 0x9D, 0x7C, 0x50, 0x03, 0xAE, 0x02, 0x5F, 0x54, 0x8F, 0xAC, 0x20, 0x17,
0x3A, 0xFA, 0x87, 0x1A, 0xF6, 0x56, 0x70, 0x96, 0xEA, 0x89, 0x15, 0xE4, 0x44, 0x67, 0x5F, 0xA8,
0xE1, 0x6F, 0x05, 0x7B, 0xA9, 0x1E, 0xBC, 0x0B, 0xF2, 0xA2, 0xBB, 0x0D, 0xEA, 0x43, 0x68, 0x05,
0xEB, 0xA8, 0x7A, 0xDF, 0x09, 0xF2, 0xA2, 0xBB, 0x6F, 0xA8, 0x0F, 0xA2, 0x15, 0xCC, 0xA3, 0xEA,
0x6B, 0xA5, 0xF5, 0x37, 0xC8, 0x8B, 0xEE, 0x7E, 0x48, 0x7D, 0x18, 0xAD, 0xA0, 0x9F, 0xAA, 0xA7,
0x95, 0x67, 0xEF, 0xFE, 0x1D, 0xB9, 0xD0, 0xDD, 0x9B, 0xD4, 0x07, 0xA2, 0x82, 0x7B, 0x54, 0x0D,
0xAD, 0x28, 0x9F, 0xFE, 0x0E, 0x39, 0xD0, 0xDD, 0x4E, 0xEA, 0x43, 0x51, 0x81, 0x4D, 0xD5, 0xCC,
0x8A, 0xE5, 0xEE, 0xEF, 0x11, 0x1B, 0xDD, 0x1D, 0xA4, 0x3E, 0x18, 0x15, 0xFC, 0x4B, 0xD5, 0xC8,
0xCA, 0x27, 0x7A, 0xFF, 0x0E, 0x31, 0xD1, 0xDD, 0x09, 0xD4, 0x47, 0xD3, 0x4A, 0x65, 0xAA, 0x1E,
0x56, 0xEE, 0x9A, 0xF1, 0x0C, 0xC4, 0x41, 0x77, 0x27, 0x52, 0x1F, 0x4F, 0x2B, 0x95, 0xA8, 0xFB,
0x5B, 0xE9, 0x35, 0xF3, 0x59, 0xF0, 0x8F, 0xEE, 0x2E, 0xA0, 0x3E, 0xA2, 0x56, 0x32, 0x53, 0xF7,
0xB5, 0x32, 0x6A, 0xF6, 0xF3, 0xE0, 0x1B, 0x1D, 0x5E, 0xE8, 0xF5, 0x63, 0xB2, 0x92, 0x89, 0xBA,
0x9F, 0x95, 0x19, 0x56, 0x3D, 0x17, 0x7E, 0xD1, 0xE1, 0x0D, 0xD4, 0x87, 0xD5, 0x4A, 0x64, 0xEA,
0x3E, 0x56, 0x66, 0x5A, 0xFD, 0x7C, 0xF8, 0x43, 0x87, 0x37, 0x52, 0x1F, 0x98, 0x4A, 0x24, 0xEA,
0xFC, 0x56, 0x56, 0xD9, 0xF9, 0x2E, 0x6F, 0x2A, 0xDE, 0xF9, 0xC2, 0xF2, 0x3A, 0xE0, 0x79, 0xD8,
0xAC, 0x78, 0xA6, 0xCE, 0x6B, 0x65, 0xB5, 0x13, 0xEF, 0xF4, 0xA0, 0xEA, 0xBD, 0x2F, 0x2C, 0xAF,
0x83, 0xD4, 0xE0, 0xA9, 0x78, 0xA2, 0xCE, 0x67, 0x65, 0x97, 0x93, 0xEF, 0x3E, 0xA9, 0xEA, 0xBD,
0x2F, 0x2C, 0xAF, 0xC3, 0xD4, 0xF0, 0xB5, 0x72, 0x92, 0x3A, 0x8F, 0x95, 0xDD, 0x3C, 0x9C, 0xE1,
0x84, 0xAA, 0xF7, 0xBE, 0xB0, 0xBC, 0x9C, 0x50, 0x43, 0xD8, 0xCA, 0x4E, 0xEA, 0xFD, 0x56, 0x4E,
0xF1, 0x74, 0x96, 0x9D, 0xAA, 0xDE, 0xFB, 0xC2, 0xF2, 0x72, 0x46, 0x0D, 0x63, 0x2B, 0x2B, 0xA9,
0xF7, 0x59, 0x39, 0xCD, 0xE3, 0x99, 0x76, 0xA9, 0x7A, 0x77, 0x96, 0x97, 0x53, 0x6A, 0x20, 0x5B,
0x99, 0x45, 0x3D, 0xDB, 0x8A, 0x27, 0xDE, 0xCF, 0xB7, 0x52, 0xD5, 0xBB, 0xB3, 0xBC, 0x9C, 0x53,
0x83, 0xD9, 0x4A, 0x2F, 0xF5, 0x2C, 0x2B, 0x1E, 0x45, 0x39, 0xE7, 0x0A, 0x55, 0xEF, 0xCE, 0xF2,
0x0A, 0x42, 0x0D, 0x68, 0x2B, 0x9F, 0x52, 0x7F, 0x6B, 0xC5, 0xAB, 0x48, 0x67, 0x5D, 0xA1, 0xEA,
0xFD, 0x59, 0x5E, 0xC1, 0xA8, 0x41, 0x55, 0xB1, 0xA8, 0xDF, 0x5B, 0xF1, 0x2E, 0xE2, 0x99, 0x67,
0xAA, 0x7A, 0x7F, 0x96, 0x57, 0x50, 0x6A, 0x60, 0x55, 0x9E, 0xA9, 0x7F, 0xB7, 0x12, 0x45, 0xE4,
0xB3, 0xCF, 0xA0, 0xEE, 0x7F, 0x25, 0x3B, 0x96, 0x57, 0x60, 0x6A, 0x60, 0x47, 0x13, 0x51, 0x96,
0x7B, 0x8C, 0xA8, 0x58, 0x03, 0x96, 0x57, 0x02, 0x6A, 0x70, 0xEF, 0x26, 0xB2, 0x6C, 0xF7, 0xE9,
0x51, 0xB1, 0x06, 0x2C, 0xAF, 0x44, 0xD4, 0x00, 0xBF, 0x4B, 0x06, 0x59, 0xEF, 0x75, 0x47, 0xC5,
0x1A, 0xB0, 0xBC, 0x92, 0x50, 0xC3, 0xFB, 0x49, 0x32, 0xC8, 0x7A, 0xAF, 0x3B, 0x2A, 0xD6, 0x80,
0xE5, 0x15, 0x9C, 0x1A, 0xDA, 0x9E, 0x44, 0x96, 0xED, 0x3E, 0x3D, 0x54, 0x0D, 0xAE, 0x64, 0xC6,
0xF2, 0x0A, 0x48, 0x0D, 0xE9, 0xAC, 0x44, 0x94, 0xE5, 0x1E, 0xA3, 0xAA, 0xD5, 0x81, 0xE5, 0x15,
0x88, 0x1A, 0x4E, 0x2B, 0xAF, 0xD4, 0x6F, 0x54, 0xA2, 0xC9, 0x70, 0x87, 0x19, 0xAA, 0xD5, 0x81,
0xE5, 0x15, 0x80, 0x1A, 0x4A, 0x2B, 0xEF, 0xA8, 0xBF, 0x51, 0x89, 0x20, 0xEA, 0xB9, 0x57, 0xA8,
0x56, 0x0B, 0x96, 0x97, 0x63, 0x6A, 0x18, 0xAD, 0xDC, 0xA5, 0x9E, 0xA1, 0xE2, 0x59, 0xB4, 0xF3,
0xAE, 0x54, 0xAD, 0x16, 0x2C, 0x2F, 0x87, 0xD4, 0x10, 0x5A, 0x19, 0xA1, 0x9E, 0xD7, 0x8A, 0x47,
0x51, 0xCE, 0xB9, 0x83, 0xAA, 0xC5, 0x95, 0xAC, 0x58, 0x5E, 0x8E, 0xA8, 0xC1, 0xB3, 0x32, 0x93,
0x7A, 0x7E, 0x2B, 0x9E, 0x78, 0x3F, 0xDF, 0x6E, 0x95, 0xEA, 0xC1, 0xF2, 0x3A, 0x4C, 0x0D, 0x9B,
0x95, 0xD5, 0xD4, 0x3B, 0x5B, 0xF1, 0xC0, 0xEB, 0xB9, 0x4E, 0xA9, 0x54, 0x0F, 0x96, 0xD7, 0x21,
0x6A, 0xC8, 0xAC, 0xEC, 0xA6, 0xCE, 0xD0, 0xCA, 0x49, 0xDE, 0xCE, 0x73, 0x5A, 0xA5, 0x7A, 0xB0,
0xBC, 0x36, 0x53, 0xC3, 0x65, 0xE5, 0x34, 0x75, 0xA6, 0x56, 0x4D, 0x9E, 0x6A, 0x8A, 0x00, 0x00,
0x04, 0x0F, 0x49, 0x44, 0x41, 0x54, 0x4E, 0xF0, 0x72, 0x0E, 0x2F, 0x2A, 0xD5, 0x83, 0xE5, 0xB5,
0x89, 0x1A, 0x2A, 0x2B, 0xDE, 0xA8, 0x33, 0xAA, 0xEC, 0xE6, 0xE1, 0x0C, 0x9E, 0x54, 0xAA, 0x07,
0xCB, 0x6B, 0x31, 0x35, 0x4C, 0x56, 0xBC, 0x53, 0x67, 0x56, 0xD9, 0xE5, 0xE4, 0xBB, 0xBD, 0xAA,
0x52, 0x13, 0x3A, 0xBD, 0x80, 0x1A, 0x1E, 0x2B, 0x11, 0xA9, 0x7B, 0xA8, 0xAC, 0x76, 0xE2, 0x9D,
0xDE, 0x55, 0xA9, 0x09, 0x9D, 0x9E, 0x48, 0x0D, 0x8D, 0x95, 0xE8, 0xD4, 0x9D, 0x5A, 0x59, 0x61,
0xD7, 0x7B, 0xA2, 0xA9, 0x52, 0x17, 0xBA, 0x3D, 0x81, 0x1A, 0x16, 0x2B, 0xD9, 0xA8, 0x3B, 0xAA,
0xCC, 0xB6, 0xE3, 0x1D, 0x11, 0x55, 0xA9, 0x0B, 0xDD, 0x1E, 0xA0, 0x86, 0xC4, 0x4A, 0x76, 0xEA,
0xCE, 0xCF, 0x99, 0x6D, 0xC7, 0x3B, 0x22, 0x9A, 0x55, 0x97, 0x19, 0xCF, 0x58, 0x89, 0x6E, 0x77,
0x78, 0x6D, 0xEA, 0xBB, 0x54, 0xA3, 0x6A, 0x70, 0x65, 0xB6, 0x1D, 0xEF, 0x88, 0xAA, 0xB7, 0x36,
0xEA, 0xEF, 0x9E, 0xE3, 0x09, 0xDD, 0xBE, 0x41, 0x35, 0xD3, 0x4A, 0x75, 0xAB, 0x6B, 0xF1, 0xFC,
0xFC, 0x95, 0xEF, 0x89, 0xE8, 0xD3, 0xDA, 0xA8, 0xDF, 0x59, 0xF1, 0x84, 0x6E, 0xBF, 0xA1, 0x1A,
0x68, 0x05, 0xFB, 0x50, 0xFF, 0xB6, 0x56, 0x6D, 0xD4, 0xFF, 0xBF, 0x13, 0x4F, 0xE8, 0x76, 0x83,
0x6A, 0x9C, 0x15, 0xEC, 0x47, 0x1F, 0xDA, 0x54, 0x6D, 0x46, 0xE3, 0x0D, 0xDD, 0x7E, 0xA1, 0x9A,
0x66, 0x05, 0xE7, 0xD0, 0x0F, 0x4D, 0xD5, 0xA5, 0x37, 0x9E, 0xD1, 0xED, 0x3F, 0x54, 0xE3, 0xAC,
0xE0, 0x3C, 0xFA, 0xF2, 0x3F, 0x55, 0x87, 0xDE, 0x44, 0x52, 0xFE, 0x2B, 0x54, 0x0D, 0xB4, 0x02,
0x3F, 0xAA, 0xF6, 0x47, 0xDD, 0xBB, 0x37, 0x91, 0x95, 0xFC, 0x1A, 0x55, 0x13, 0xAD, 0xC0, 0x9F,
0x4A, 0x7D, 0x52, 0x77, 0x1D, 0x49, 0x16, 0xA5, 0xBE, 0x4C, 0xD5, 0x48, 0x2B, 0xF0, 0x2B, 0x73,
0xBF, 0xD4, 0xDD, 0x66, 0x25, 0x93, 0x12, 0x5F, 0xA8, 0x6A, 0xA2, 0x15, 0xF8, 0x97, 0xAD, 0x6F,
0xEA, 0x3E, 0xBD, 0xF9, 0x61, 0xFD, 0x5B, 0x06, 0xA9, 0xBF, 0x54, 0xD5, 0x3C, 0x2B, 0x88, 0x23,
0x7A, 0xFF, 0xD4, 0xF9, 0x7B, 0xD3, 0xA2, 0x7E, 0x7B, 0x25, 0x8B, 0x94, 0x5F, 0xAC, 0x6A, 0x98,
0x15, 0xC4, 0x13, 0xAD, 0x8F, 0xEA, 0xBC, 0x23, 0xF9, 0xD4, 0xC8, 0xDF, 0x7A, 0x97, 0xE6, 0x26,
0xAA, 0x49, 0xEF, 0x82, 0xB8, 0xBC, 0xF7, 0x53, 0x9D, 0x6F, 0x24, 0xBD, 0x66, 0x3E, 0xCB, 0x9B,
0xF0, 0x37, 0x51, 0xCD, 0xB1, 0x82, 0x1C, 0x3C, 0xF6, 0x56, 0x9D, 0xA9, 0x37, 0xB3, 0xAC, 0x7C,
0xF6, 0x69, 0x61, 0x6F, 0xA2, 0x9A, 0x62, 0x05, 0xB9, 0x78, 0xE8, 0xB1, 0x3A, 0x43, 0x6F, 0x56,
0xD9, 0xF9, 0xAE, 0xDD, 0xC2, 0xDD, 0x44, 0x35, 0xC3, 0x0A, 0x72, 0x3A, 0xD1, 0x6B, 0xF5, 0xCE,
0xDE, 0xEC, 0x72, 0xF2, 0xDD, 0xAB, 0x85, 0xB9, 0x89, 0x6A, 0x82, 0x15, 0xE4, 0xB6, 0xA3, 0xE7,
0xEA, 0x1D, 0x23, 0x39, 0xC5, 0xD3, 0x59, 0x66, 0x72, 0x7F, 0x0B, 0x55, 0x78, 0x2B, 0xA8, 0x61,
0x45, 0xDF, 0x5F, 0x9F, 0x39, 0x1A, 0x2F, 0x3C, 0x9F, 0x6D, 0x84, 0xCB, 0x5B, 0xA8, 0x62, 0x5B,
0x41, 0x2D, 0x33, 0x67, 0x40, 0x3D, 0xAB, 0x37, 0x5E, 0x45, 0x3A, 0xEB, 0x1D, 0xAE, 0x6E, 0xA1,
0x8A, 0x6C, 0x05, 0x35, 0x8D, 0xCC, 0x82, 0xFA, 0xDB, 0xDE, 0x44, 0x11, 0xF9, 0xEC, 0x16, 0x17,
0xB7, 0x50, 0xC5, 0xB5, 0x82, 0xDA, 0xEE, 0xCC, 0x84, 0xFA, 0xED, 0x48, 0x22, 0xCA, 0x72, 0x8F,
0x57, 0x47, 0x6F, 0xA1, 0x8A, 0x6A, 0x05, 0xB8, 0x58, 0xB3, 0xA1, 0xFE, 0x6D, 0x24, 0x59, 0x64,
0xBC, 0xDB, 0x91, 0x1B, 0xA8, 0x42, 0x5A, 0x01, 0x9E, 0xA9, 0x19, 0x99, 0x95, 0xAC, 0x32, 0xDE,
0x75, 0xDB, 0x0D, 0x54, 0xF1, 0xAC, 0x00, 0x2D, 0x6A, 0x5E, 0x7A, 0x53, 0x45, 0xC6, 0xBB, 0x2F,
0xBF, 0x81, 0x2A, 0x9A, 0x15, 0xE0, 0x95, 0x9A, 0x93, 0xDE, 0x54, 0x95, 0xB1, 0x16, 0xCB, 0x6E,
0xA0, 0x8A, 0x65, 0x05, 0xF8, 0xA1, 0xE6, 0x63, 0x24, 0x60, 0x79, 0x7D, 0x44, 0x15, 0xC9, 0x0A,
0xA0, 0xE6, 0x62, 0x24, 0xF8, 0x4D, 0xD5, 0xE9, 0x4A, 0x64, 0xD3, 0x4E, 0xAF, 0x0A, 0x63, 0x05,
0xB5, 0xA9, 0x99, 0xE8, 0x0D, 0x3E, 0x93, 0xAD, 0x76, 0xC3, 0xA7, 0x57, 0x05, 0xB1, 0x82, 0x9A,
0xD4, 0x2C, 0xCC, 0x0A, 0x3E, 0x93, 0xAD, 0x76, 0x5D, 0xA7, 0x57, 0x45, 0xB0, 0x82, 0x7A, 0xD4,
0x1C, 0x8C, 0xE4, 0x87, 0xF5, 0x6F, 0xB0, 0x65, 0xAB, 0xDD, 0xAD, 0xD3, 0xAB, 0xCB, 0x5B, 0x41,
0x1D, 0xAA, 0xFF, 0x23, 0x69, 0xB9, 0xF3, 0x5B, 0xFC, 0x2B, 0x5B, 0xED, 0x3E, 0x3A, 0xBD, 0xBA,
0xB4, 0x15, 0xE4, 0xA7, 0xFA, 0x3E, 0x92, 0x4F, 0x8D, 0xFC, 0x6D, 0x75, 0xAA, 0x76, 0x57, 0xA2,
0x32, 0x4F, 0xAE, 0x2E, 0x6A, 0x05, 0xB9, 0xA9, 0x9E, 0xF7, 0xA6, 0xD7, 0xCC, 0x67, 0x55, 0x94,
0xA9, 0x7E, 0xF2, 0xE4, 0xEA, 0x82, 0x56, 0x90, 0x93, 0xEA, 0x75, 0x6F, 0x66, 0x59, 0xF9, 0xEC,
0x0A, 0x32, 0xD5, 0xEF, 0xEF, 0xC9, 0xD5, 0xA5, 0xAC, 0x20, 0x1F, 0xD5, 0xE7, 0x91, 0xAC, 0xB0,
0xEB, 0x3D, 0x59, 0x65, 0xAA, 0xDF, 0xE3, 0xEC, 0xBF, 0x2F, 0x63, 0x05, 0x79, 0xA8, 0xFE, 0x8E,
0x64, 0x87, 0x53, 0xEF, 0xCD, 0x22, 0x53, 0xFD, 0x1E, 0x67, 0xFF, 0x7D, 0x19, 0x15, 0xE4, 0xA0,
0x7A, 0xDB, 0x9B, 0x13, 0xBC, 0x9C, 0x23, 0xAA, 0x4C, 0xF5, 0x7B, 0x9C, 0xFD, 0xF7, 0x65, 0x9E,
0x83, 0xD8, 0x54, 0x4F, 0x7B, 0xE3, 0x81, 0xD7, 0x73, 0x45, 0x92, 0xA5, 0x86, 0x8F, 0x73, 0xFF,
0xBE, 0xC8, 0x15, 0xC4, 0xA4, 0x7A, 0x39, 0x12, 0x4F, 0xBC, 0x9F, 0x2F, 0x8A, 0x2C, 0x75, 0x7C,
0x9C, 0x3B, 0xFE, 0x25, 0x2A, 0x7B, 0xED, 0xDF, 0x68, 0x3C, 0x8B, 0x76, 0x5E, 0xAF, 0xB2, 0xD4,
0xF1, 0x71, 0x6E, 0x06, 0x20, 0x9A, 0xE7, 0xA1, 0x1B, 0x4D, 0x24, 0xD1, 0xCF, 0xEF, 0x45, 0x96,
0x3A, 0xD2, 0xFD, 0x60, 0xD4, 0xE0, 0xDD, 0x49, 0x64, 0xD9, 0xEE, 0x73, 0x4A, 0x96, 0x3A, 0xD2,
0xFD, 0x60, 0xD4, 0xE0, 0x59, 0xC9, 0x24, 0xFB, 0xFD, 0x76, 0xCA, 0x50, 0x4B, 0xBA, 0x1F, 0x8C,
0x1A, 0xBA, 0xD7, 0x64, 0x55, 0xE9, 0xAE, 0xAB, 0x65, 0xA8, 0x25, 0xDD, 0x0F, 0x28, 0xFA, 0xD0,
0x8D, 0xA8, 0x7A, 0xEF, 0xD9, 0x9E, 0xEB, 0x18, 0xB5, 0x9E, 0x4C, 0x00, 0x50, 0x10, 0xCB, 0x0B,
0x40, 0x48, 0x2C, 0x2F, 0x00, 0x21, 0xA9, 0xE5, 0x75, 0x25, 0x12, 0x96, 0x17, 0x50, 0x14, 0xCB,
0x0B, 0x40, 0x48, 0x2C, 0x2F, 0x00, 0x21, 0xB1, 0xBC, 0x00, 0x84, 0xC4, 0xF2, 0x02, 0x10, 0x92,
0x5A, 0x5E, 0x57, 0xA2, 0x60, 0x79, 0x01, 0x85, 0xB1, 0xBC, 0x00, 0x84, 0xC4, 0xF2, 0x02, 0x10,
0x12, 0xCB, 0x0B, 0x40, 0x48, 0x2C, 0x2F, 0x00, 0x21, 0xA9, 0xE5, 0x75, 0x25, 0x02, 0x96, 0x17,
0x50, 0x1C, 0xCB, 0x0B, 0x40, 0x48, 0x2C, 0x2F, 0x00, 0x21, 0xB1, 0xBC, 0x00, 0x84, 0xC4, 0xF2,
0x02, 0x10, 0x56, 0xB4, 0xC5, 0x75, 0x61, 0x79, 0x01, 0x08, 0x89, 0xE5, 0x05, 0x20, 0x24, 0x96,
0x17, 0x80, 0x90, 0x58, 0x5E, 0x00, 0x42, 0x62, 0x79, 0x01, 0x08, 0x89, 0xE5, 0x05, 0x20, 0x24,
0x96, 0x17, 0x80, 0x90, 0x58, 0x5E, 0x00, 0x42, 0x62, 0x79, 0x01, 0x08, 0x89, 0xE5, 0x05, 0x20,
0x24, 0x96, 0x17, 0x80, 0x90, 0x58, 0x5E, 0x00, 0x42, 0x62, 0x79, 0x01, 0x08, 0xE8, 0xFB, 0xFB,
0x3F, 0x19, 0x23, 0xCB, 0x92, 0xF2, 0xE4, 0xEF, 0xED, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4E,
0x44, 0xAE, 0x42, 0x60, 0x82};
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

File diff suppressed because it is too large Load Diff
@@ -1,66 +0,0 @@
//
// octocat_8bpp
// Data size = 872 bytes
//
// PNG, Compression=Flate, Size: 120 x 100, 8-Bpp
//
// for non-Arduino builds...
#ifndef PROGMEM
#define PROGMEM
#endif
const uint8_t octocat_8bpp[] PROGMEM = {
0x89,0x50,0x4e,0x47,0x0d,0x0a,0x1a,0x0a,0x00,0x00,0x00,0x0d,0x49,0x48,0x44,0x52,
0x00,0x00,0x00,0x78,0x00,0x00,0x00,0x64,0x08,0x03,0x00,0x00,0x00,0x7a,0xae,0x04,
0x00,0x00,0x00,0x00,0x33,0x50,0x4c,0x54,0x45,0x2f,0x41,0x70,0x00,0x00,0x00,0x2a,
0x2c,0x2c,0x59,0x49,0x41,0x46,0x5f,0x6a,0x7c,0x65,0x58,0xad,0x5c,0x53,0xb5,0x70,
0x67,0xa0,0x80,0x71,0x6c,0x99,0xac,0xc9,0xa1,0x8f,0x83,0xb7,0xc9,0x7b,0xbb,0xe4,
0xdc,0xc5,0xc3,0x9b,0xd8,0xf0,0xf4,0xc9,0xb3,0xff,0xff,0xff,0xfe,0x29,0xa3,0x31,
0x00,0x00,0x00,0x01,0x74,0x52,0x4e,0x53,0x00,0x40,0xe6,0xd8,0x66,0x00,0x00,0x00,
0x01,0x62,0x4b,0x47,0x44,0x00,0x88,0x05,0x1d,0x48,0x00,0x00,0x02,0xd6,0x49,0x44,
0x41,0x54,0x68,0xde,0xed,0xd9,0xed,0x92,0xa3,0x20,0x10,0x05,0x50,0x04,0x54,0x68,
0x47,0xcc,0xfb,0x3f,0xed,0xa2,0x80,0x9f,0xb0,0x62,0x79,0x89,0x33,0x55,0xf6,0x8f,
0xdd,0x52,0x9c,0x3e,0x69,0x04,0xc4,0x84,0xb1,0x37,0x76,0xc1,0x6d,0x5c,0xfe,0x03,
0x8e,0x71,0x2f,0x64,0xba,0x78,0x79,0x46,0xa6,0xac,0x5c,0x97,0x2e,0xce,0xce,0x75,
0x9a,0x8d,0x5f,0xb8,0xf6,0x1a,0x1c,0xd2,0xf1,0x7d,0x24,0xaf,0x44,0xb9,0x17,0xe2,
0x85,0x5f,0xf8,0xd7,0xc2,0xec,0x85,0x7f,0x3d,0xcc,0x9f,0x72,0x6f,0xca,0xfc,0x2f,
0xc2,0xfc,0x29,0xf7,0x39,0x98,0x3f,0xe5,0x3e,0x07,0xf3,0xbf,0x06,0xf3,0x17,0x16,
0xb5,0x1a,0xa3,0xae,0x6b,0x21,0x44,0x38,0x27,0x84,0x3d,0xf6,0xe7,0x05,0x46,0xde,
0xe6,0xa8,0x15,0x9d,0x87,0xaa,0xe1,0xb0,0xa2,0x21,0x27,0x48,0x09,0x2c,0xac,0x86,
0xdc,0x20,0x81,0x84,0xf3,0xdd,0x61,0x50,0x40,0x38,0xb8,0x1f,0x1b,0x29,0x6f,0x69,
0x53,0x30,0x58,0xd0,0x92,0x3b,0x25,0xaf,0xdb,0x6a,0x14,0xac,0xe6,0xdc,0x7d,0x9f,
0x90,0x7d,0x93,0x6b,0x23,0x10,0xec,0x0b,0xb6,0x89,0xfb,0xb6,0x69,0xfa,0x4f,0x7f,
0x74,0xed,0xc9,0xa6,0x69,0xc7,0x2b,0xa6,0x43,0x81,0x81,0xeb,0xa5,0x28,0x9b,0xde,
0xca,0x91,0x82,0x7b,0xb2,0x1f,0xaa,0x0d,0x25,0x2b,0xcc,0xca,0x35,0xf7,0x34,0x7d,
0x3e,0xb6,0x64,0x8a,0xc1,0xd4,0x7f,0x68,0xfc,0x4c,0xdb,0xbe,0xbe,0xf9,0x74,0x9a,
0x87,0x56,0x4b,0x36,0xb9,0xad,0x2b,0x02,0xb7,0x8d,0xb2,0x4d,0xaa,0x14,0xdc,0x34,
0x69,0xd8,0x35,0x41,0x61,0xf5,0x38,0x4c,0x53,0xf6,0xf8,0x3d,0xf6,0x4d,0x90,0xc1,
0x15,0xe4,0x65,0x54,0x4f,0xd9,0xe3,0xa3,0xda,0x37,0x41,0x61,0x11,0xe6,0xea,0x54,
0x57,0x62,0x1e,0xd3,0xca,0x0d,0x4b,0xd7,0xed,0xed,0x2d,0xad,0x56,0xae,0x3e,0xbd,
0x72,0x2d,0xab,0x1a,0x6a,0x63,0x5d,0x0f,0xd1,0xb5,0x9a,0x1a,0x8a,0xaf,0xd5,0x04,
0x7b,0x87,0xa1,0xe8,0xd3,0x89,0x9a,0x36,0xfa,0x74,0xba,0xdf,0xd3,0xb3,0x5c,0x27,
0x9e,0xf9,0x89,0xd3,0xc0,0xf7,0xd4,0x2b,0x1b,0x01,0xff,0x88,0x00,0xbd,0x99,0x1f,
0x65,0xa2,0xf0,0xcf,0x2e,0x6a,0xd0,0xb7,0xa8,0xa1,0xb7,0x0f,0x44,0x4b,0x03,0xb5,
0x25,0xdd,0xb9,0x68,0x3a,0xd4,0x4c,0xa9,0xad,0x1e,0xf2,0x5b,0xfa,0x68,0xd5,0x89,
0xbd,0x2d,0xf8,0x07,0x82,0x69,0x15,0x53,0xb1,0x3a,0xa7,0xea,0xe7,0x1d,0xf5,0x7d,
0x2a,0xb9,0xdb,0x9d,0x5e,0x5b,0x96,0x10,0x02,0xfc,0x35,0x93,0x94,0x17,0x5f,0xe3,
0x50,0x9d,0x2b,0x65,0x34,0x17,0xaf,0xc6,0x08,0x98,0x3b,0x40,0xff,0xf0,0xd3,0xe9,
0x48,0xca,0x2a,0x12,0x40,0xd6,0xa4,0x7e,0x41,0xaa,0x0e,0x3d,0x8c,0x95,0x8d,0xaf,
0x39,0xef,0x3e,0xe3,0x64,0x63,0x9c,0xa2,0x25,0xcf,0x1a,0x60,0x15,0x63,0xe8,0xfb,
0xac,0xf3,0x06,0x76,0xc5,0xca,0x0e,0xb0,0x6f,0xc1,0xbb,0xf9,0xbc,0x9b,0xb6,0xf8,
0x49,0xbc,0x85,0x75,0x37,0x4d,0x69,0x39,0x0e,0xb5,0x2d,0x55,0x10,0x76,0x25,0x73,
0x6d,0xa4,0x34,0x9a,0xcb,0x4d,0xa9,0x61,0xc2,0x95,0x81,0xb7,0xfd,0x59,0xc5,0x60,
0x56,0x06,0x66,0x8f,0xc1,0x6b,0xfa,0xcb,0x30,0xdb,0x12,0x5f,0x85,0x37,0xb5,0xbf,
0xf0,0x0b,0x17,0x87,0xe5,0x97,0xe1,0x71,0xf1,0xe4,0xee,0xb9,0x35,0xfd,0x67,0x8a,
0xc3,0xc6,0x89,0xda,0xc3,0x66,0x03,0x77,0xc6,0x6d,0x1e,0xf0,0xe8,0x18,0x27,0xb0,
0x41,0xe3,0x26,0x44,0x06,0x0c,0xb4,0x97,0x8c,0x99,0x30,0x86,0x5e,0xe7,0x33,0x32,
0x0a,0x4b,0x37,0xe4,0x0c,0x92,0xde,0x66,0x0b,0xd2,0x0e,0xd6,0xc7,0x92,0xef,0xca,
0x31,0x57,0x9a,0xfd,0x74,0xf2,0x25,0x23,0xe5,0x75,0x22,0xbf,0xe1,0x92,0xf3,0x27,
0x58,0x2a,0xf5,0x4d,0x1a,0x26,0x1f,0xef,0xaf,0xd4,0x73,0xe9,0xd2,0x74,0x0b,0xa7,
0x25,0xb4,0xb7,0x77,0x3d,0xad,0xf5,0x8f,0x8d,0x65,0x8c,0x2d,0xa3,0x6a,0x3c,0xaf,
0xf5,0xce,0x85,0xc1,0x2e,0xbf,0x95,0x75,0xf0,0x3a,0xdf,0xd7,0xfe,0xbc,0x29,0x0c,
0xaf,0x86,0x92,0xbb,0xcb,0x1a,0xed,0x26,0xe4,0x71,0x73,0xaf,0x1d,0xe4,0x3e,0xc5,
0xb7,0xe0,0x9f,0xf9,0x5e,0xbb,0xa3,0x0e,0xef,0x1e,0x68,0x7f,0x33,0xc3,0x3d,0x5d,
0x1f,0x82,0xdd,0x9d,0x1c,0x83,0x4d,0x14,0x06,0xaf,0xd6,0xb9,0x30,0xfc,0xf9,0x94,
0x05,0x97,0xd8,0x08,0x9c,0xc3,0x85,0xb6,0x3e,0xff,0x87,0x59,0xe1,0x88,0xc0,0xec,
0x8d,0xd3,0xf8,0x07,0xe9,0x64,0x82,0xb3,0xf5,0x3d,0x65,0xc0,0x00,0x00,0x00,0x00,
0x49,0x45,0x4e,0x44,0xae,0x42,0x60,0x82};
-18
View File
@@ -964,17 +964,6 @@ menu "LVGL configuration"
default 0 default 0
depends on LV_USE_FS_FATFS depends on LV_USE_FS_FATFS
config LV_USE_FS_LITTLEFS
bool "File system on top of LittleFS"
config LV_FS_LITTLEFS_LETTER
int "Set an upper cased letter on which the drive will accessible (e.g. 'A' i.e. 65)"
default 0
depends on LV_USE_FS_LITTLEFS
config LV_FS_LITTLEFS_CACHE_SIZE
int ">0 to cache this number of bytes in lv_fs_read()"
default 0
depends on LV_USE_FS_LITTLEFS
config LV_USE_PNG config LV_USE_PNG
bool "PNG decoder library" bool "PNG decoder library"
@@ -1011,13 +1000,6 @@ menu "LVGL configuration"
endmenu endmenu
endif endif
config LV_USE_TINY_TTF
bool "Tiny TTF library"
config LV_TINY_TTF_FILE_SUPPORT
bool "Load TTF data from files"
depends on LV_USE_TINY_TTF
default n
config LV_USE_RLOTTIE config LV_USE_RLOTTIE
bool "Lottie library" bool "Lottie library"
View File
View File
-45
View File
@@ -1,50 +1,5 @@
# Changelog # Changelog
## [v8.3.11](https://github.com/lvgl/lvgl/compare/v8.3.11...v8.3.10) 6 December 2023
### New Features
- feat(table): add user_data to table cells [`4767`](https://github.com/lvgl/lvgl/pull/4767)
- feat(tiny_ttf): backport Tiny TTF to lvgl 8 [`4727`](https://github.com/lvgl/lvgl/pull/4727)
- feat(littlefs): add lv_fs_littlefs system as a driver [`4677`](https://github.com/lvgl/lvgl/pull/4677)
### Fixes
- fix(obj): readjust scroll after layout when child removed [`4921`](https://github.com/lvgl/lvgl/pull/4921)
- fix(rt-thread): fix create lvgl thread problem [`4862`](https://github.com/lvgl/lvgl/pull/4862)
- fix(obj): fix arduino compile warnings [`4807`](https://github.com/lvgl/lvgl/pull/4807)
- fix(table):fix issue with abnormal string output of 'lv_table_set_cell_value_fmt' [`4804`](https://github.com/lvgl/lvgl/pull/4804)
- fix(table) user data API functions renamed [`4769`](https://github.com/lvgl/lvgl/pull/4769)
- fix(ime_pinyin): keep cursor in the textarea when a candidate is pressed [`4731`](https://github.com/lvgl/lvgl/pull/4731)
- fix(draw_needles): changed needle line draw start point from scale ce… [`4682`](https://github.com/lvgl/lvgl/pull/4682)
- fix(arc): handle click outside background angle range (#4586) [`4667`](https://github.com/lvgl/lvgl/pull/4667)
- fix(meter): fix minor issues [`4657`](https://github.com/lvgl/lvgl/pull/4657)
- fix(draw): fix compiler error in lv_draw_sw_transform.c #2 [`4612`](https://github.com/lvgl/lvgl/pull/4612)
- fix(dropdown): avoid partial match in lv_dropdown_get_option_index [`4598`](https://github.com/lvgl/lvgl/pull/4598)
- fix(dropdown): reset char_i = 0, avoid access overflow [`4589`](https://github.com/lvgl/lvgl/pull/4589)
- fix(btnmatrix): set LV_BTNMATRIX_BTN_NONE when clicking of disabled button (#4571) [`4578`](https://github.com/lvgl/lvgl/pull/4578)
- fix(qrcode): use LV_ASSERT instead of assert [`1840dec`](https://github.com/lvgl/lvgl/commit/1840decb4136ba01552fcb7cedb0ff759824e2fd)
- fix: fix warning in lv_draw_sw_letter.c [`d22cda3`](https://github.com/lvgl/lvgl/commit/d22cda3cdb15cee95763491db95753980846d9f9)
- fix(arc): fix setting value by click [`20b6199`](https://github.com/lvgl/lvgl/commit/20b6199ba90319942c3cd91f2c727da6cd40cd2d)
- fix(disp): fix infinite recursive SCREEN_LOADED events [`ef76206`](https://github.com/lvgl/lvgl/commit/ef76206c75ea9de26407534a9ce1079dc8e750e3)
- fix(keyboard): add '&' character [`d20bd1c`](https://github.com/lvgl/lvgl/commit/d20bd1ca397ff954167dd496cf1a78da8814f602)
- fix(draw): fix scaling rectangle parts with opa [`7a8fcbf`](https://github.com/lvgl/lvgl/commit/7a8fcbfd3458739cbe64b29767a969ece9542039)
### Docs
- docs(obj): fix wording [`4625`](https://github.com/lvgl/lvgl/pull/4625)
- docs(label): update text for recoloring [`4606`](https://github.com/lvgl/lvgl/pull/4606)
- docs: fix typo [`9fbac75`](https://github.com/lvgl/lvgl/commit/9fbac7570bdec18ddbb157b59f5e26a2ebdf5daf)
### Others
- chore(cmsis-pack): prepare for v8.3.11 [`4936`](https://github.com/lvgl/lvgl/pull/4936)
- chore(cmake): add support for user-specified lv_conf.h path [`4689`](https://github.com/lvgl/lvgl/pull/4689)
- STM32U5 DMA2D support (8.3) [`4643`](https://github.com/lvgl/lvgl/pull/4643)
- backport: fix(lv_disp): fix lv_scr_load_anim being called twice quickly [`4629`](https://github.com/lvgl/lvgl/pull/4629)
- chore(lv_draw_sw_letter.c): Fix print format [`4615`](https://github.com/lvgl/lvgl/pull/4615)
- chore: fix compile error [`7568df7`](https://github.com/lvgl/lvgl/commit/7568df77d16ecbf2242b2bc290dc8fc0eb29cf5a)
## [v8.3.10](https://github.com/lvgl/lvgl/compare/v8.3.10...v8.3.9) 20 September 2023 ## [v8.3.10](https://github.com/lvgl/lvgl/compare/v8.3.10...v8.3.9) 20 September 2023
### New Features ### New Features
Executable → Regular
View File
View File
+6 -30
View File
@@ -2,38 +2,14 @@
# File System Interfaces # File System Interfaces
LVGL has a [File system](https://docs.lvgl.io/master/overview/file-system.html) module to provide an abstraction layer for various file system drivers. LVGL has a [File system](https://docs.lvgl.io/master/overview/file-system.html) module to provide an abstraction layer for various file system drivers.
You still need to provide the drivers and libraries, this extension provides only the bridge between FATFS, LittleFS, STDIO, POSIX, WIN32 and LVGL.
## Built in wrappers LVG has built in support for:
- [FATFS](http://elm-chan.org/fsw/ff/00index_e.html)
- STDIO (Linux and Windows using C standard function .e.g fopen, fread)
- POSIX (Linux and Windows using POSIX function .e.g open, read)
- WIN32 (Windows using Win32 API function .e.g CreateFileA, ReadFile)
### FATFS You still need to provide the drivers and libraries, this extension provides only the bridge between FATFS, STDIO, POSIX, WIN32 and LVGL.
Bridge for [FatFS](http://elm-chan.org/fsw/ff/00index_e.html). FatFS itself is not part of LVGL, but can be added and initialized externally.
### LittleFS
Though `lv_fs_littlefs` uses [LittleFS]((https://github.com/littlefs-project/littlefs)) API, the LittleFS library needs other external libraries that handle the mounting of partitions and low-level accesses, according to the given architecture. The functions for the latter are given to the lfs_t structure as pointers by an external low-level library.
There's a convenience function called `lv_fs_littlefs_set_driver(LV_FS_LITTLEFS_LETTER, my_lfs)`, specific to `lv_fs_littlefs`, to attach a `lfs_t` object's pointer to a registered driver-letter. See its comments for more info.
[esp_littlefs](https://components.espressif.com/components/joltwallet/littlefs) is a wrapper for LittleFS to be used in Espressif ESP-devices. It handles the mounting and has the low-level `littlefs_api` functions to read/write/erase blocks that LittleFS library needs. On mounting by `esp_littlefs` the `lfs_t` structures are created. You need to get a handle to these to use ESP with `lv_fs_littlefs`, as all functions use that `lfs_t` in LittleFS to identify the mounted partition.
In case you don't find a special function in the `lv_fs_littlefs` wrapper, you can look for it in the `esp_littlefs` API and use it directly, as `lv_fs_littlefs` and the `esp_littlefs` APIs can be used side-by-side.
### STDIO
Bride to C standard functions on Linux and Windows. For example `fopen`, `fread`, etc.
### POSIX
Bride to POSIX functions on Linux and Windows. For example `open`, `read`, etc.
### WIN32
Bride to Win32 API function. For example `CreateFileA`, `ReadFile`, etc.
## Usage ## Usage
-1
View File
@@ -12,7 +12,6 @@
png png
gif gif
freetype freetype
tiny_ttf
qrcode qrcode
rlottie rlottie
ffmpeg ffmpeg
-35
View File
@@ -1,35 +0,0 @@
# Tiny TTF font engine
## Usage
Use https://github.com/nothings/stb to render TrueType fonts in LVGL.
When enabled in `lv_conf.h` with `LV_USE_TINY_TTF`
`lv_tiny_ttf_create_data(data, data_size, font_size)` can be used to
create a TTF font instance at the specified font size. You can then
use that font anywhere `lv_font_t` is accepted.
By default, the TTF or OTF file must be embedded as an array, either in
a header, or loaded into RAM in order to function.
However, if `LV_TINY_TTF_FILE_SUPPORT` is enabled,
`lv_tiny_ttf_create_file(path, font_size)` will also be available,
allowing tiny_ttf to stream from a file. The file must remain open the
entire time the font is being used, and streaming on demand may be
considerably slower.
After a font is created, you can change the font size in pixels by using
`lv_tiny_ttf_set_size(font, font_size)`.
By default, a font will use up to 4KB of cache to speed up rendering
glyphs. This maximum can be changed by using
`lv_tiny_ttf_create_data_ex(data, data_size, font_size, cache_size)`
or `lv_tiny_ttf_create_file_ex(path, font_size, cache_size)` (when
available). The cache size is indicated in bytes.
## API
```eval_rst
.. doxygenfile:: lv_tiny_ttf.h
:project: lvgl
```
+1 -1
View File
@@ -173,7 +173,7 @@ All inputs are disabled during the screen animation.
Screens are created on the currently selected *default display*. Screens are created on the currently selected *default display*.
The *default display* is the last registered display with `lv_disp_drv_register`. You can also explicitly select a new default display using `lv_disp_set_default(disp)`. The *default display* is the last registered display with `lv_disp_drv_register`. You can also explicitly select a new default display using `lv_disp_set_default(disp)`.
`lv_scr_act()`, `lv_scr_load()` and `lv_scr_load_anim()` operate on the default display. `lv_scr_act()`, `lv_scr_load()` and `lv_scr_load_anim()` operate on the default screen.
Visit [Multi-display support](/overview/display) to learn more. Visit [Multi-display support](/overview/display) to learn more.
+2 -2
View File
@@ -355,7 +355,7 @@ Set the opacity of the border. Value 0, `LV_OPA_0` or `LV_OPA_TRANSP` means full
</ul> </ul>
### border_width ### border_width
Set the width of the border. Only pixel values can be used. Set hte width of the border. Only pixel values can be used.
<ul> <ul>
<li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Default</strong> 0</li> <li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Default</strong> 0</li>
<li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Inherited</strong> No</li> <li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Inherited</strong> No</li>
@@ -781,7 +781,7 @@ Describes how to blend the colors to the background. The possible values are `LV
</ul> </ul>
### layout ### layout
Set the layout of the object. The children will be repositioned and resized according to the policies set for the layout. For the possible values see the documentation of the layouts. Set the layout if the object. The children will be repositioned and resized according to the policies set for the layout. For the possible values see the documentation of the layouts.
<ul> <ul>
<li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Default</strong> 0</li> <li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Default</strong> 0</li>
<li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Inherited</strong> No</li> <li style='display:inline; margin-right: 20px; margin-left: 0px'><strong>Inherited</strong> No</li>
+1 -3
View File
@@ -44,9 +44,7 @@ This is not the case with `lv_label_set_text_static`. The buffer you pass to `lv
### Text recolor ### Text recolor
In the text, you can use commands to recolor parts of the text. For example: `"Write a #ff0000 red# word"`. In the text, you can use commands to recolor parts of the text. For example: `"Write a #ff0000 red# word"`.
This feature can be enabled individually for each label by `lv_label_set_recolor()` function, This feature can be enabled individually for each label by `lv_label_set_recolor()` function.
recoloring is only supported when the text wrapped with `##ff0000 ... #`sintax is in one line,
it is not supported in wrapped text, see example `Line wrap, recoloring and scrolling`.
### Text selection ### Text selection
If enabled by `LV_LABEL_TEXT_SELECTION` part of the text can be selected. It's similar to when you use your mouse on a PC to select a text. If enabled by `LV_LABEL_TEXT_SELECTION` part of the text can be selected. It's similar to when you use your mouse on a PC to select a text.
@@ -63,12 +63,6 @@ install(
FILES_MATCHING FILES_MATCHING
PATTERN "*.h") PATTERN "*.h")
install(
FILES "${LV_CONF_PATH}"
DESTINATION "${CMAKE_INSTALL_PREFIX}/${INC_INSTALL_DIR}/../"
RENAME "lv_conf.h"
OPTIONAL)
set_target_properties( set_target_properties(
lvgl lvgl
PROPERTIES OUTPUT_NAME lvgl PROPERTIES OUTPUT_NAME lvgl
@@ -36,17 +36,10 @@
<repository type="git">https://github.com/lvgl/lvgl.git</repository> <repository type="git">https://github.com/lvgl/lvgl.git</repository>
<releases> <releases>
<release date="2023-12-05" version="8.3.11" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.8.3.11.pack"> <release date="2023-09-19" version="8.3.10" url="https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/LVGL.lvgl.8.3.10.pack">
- LVGL 8.3.11
- Add LittleFS Library to LVGL8
- Backport Tiny TTF to LVGL8
- Some minor fixes
</release>
<release date="2023-09-19" version="8.3.10" url="https://github.com/lvgl/lvgl/raw/9e388055ec0bcad5179461e66d6dac6823129eee/env_support/cmsis-pack/LVGL.lvgl.8.3.10.pack">
- LVGL 8.3.10 - LVGL 8.3.10
- Some minor fixes - Some minor fixes
</release> </release>
<release date="2023-08-04" version="8.3.9" url="https://github.com/lvgl/lvgl/raw/bdf5bfb88ce107f16cf9128cf75e61394b3219d0/env_support/cmsis-pack/LVGL.lvgl.8.3.9.pack"> <release date="2023-08-04" version="8.3.9" url="https://github.com/lvgl/lvgl/raw/bdf5bfb88ce107f16cf9128cf75e61394b3219d0/env_support/cmsis-pack/LVGL.lvgl.8.3.9.pack">
- LVGL 8.3.10 - LVGL 8.3.10
- Add snapshot, fragment, imgfont, gridnav, msg and monkey - Add snapshot, fragment, imgfont, gridnav, msg and monkey
@@ -310,7 +303,7 @@
--> -->
<components> <components>
<bundle Cbundle="LVGL" Cclass="LVGL" Cversion="8.3.11"> <bundle Cbundle="LVGL" Cclass="LVGL" Cversion="8.3.10">
<description>LVGL (Light and Versatile Graphics Library) is a free and open-source graphics library providing everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and a low memory footprint.</description> <description>LVGL (Light and Versatile Graphics Library) is a free and open-source graphics library providing everything you need to create an embedded GUI with easy-to-use graphical elements, beautiful visual effects and a low memory footprint.</description>
<doc></doc> <doc></doc>
<component Cgroup="lvgl" Csub="Essential" > <component Cgroup="lvgl" Csub="Essential" >
@@ -443,7 +436,7 @@
<file category="sourceC" name="src/widgets/lv_textarea.c" /> <file category="sourceC" name="src/widgets/lv_textarea.c" />
<!-- general --> <!-- general -->
<file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="1.0.4" /> <file category="preIncludeGlobal" name="lv_conf_cmsis.h" attr="config" version="1.0.3" />
<file category="sourceC" name="lv_cmsis_pack.c" attr="config" version="1.0.0" /> <file category="sourceC" name="lv_cmsis_pack.c" attr="config" version="1.0.0" />
<file category="header" name="lvgl.h" /> <file category="header" name="lvgl.h" />
<file category="doc" name="README.md"/> <file category="doc" name="README.md"/>
@@ -728,27 +721,10 @@
<file category="sourceC" name="src/extra/libs/fsdrv/lv_fs_fatfs.c" /> <file category="sourceC" name="src/extra/libs/fsdrv/lv_fs_fatfs.c" />
<file category="sourceC" name="src/extra/libs/fsdrv/lv_fs_posix.c" /> <file category="sourceC" name="src/extra/libs/fsdrv/lv_fs_posix.c" />
<file category="sourceC" name="src/extra/libs/fsdrv/lv_fs_stdio.c" /> <file category="sourceC" name="src/extra/libs/fsdrv/lv_fs_stdio.c" />
<file category="sourceC" name="src/extra/libs/fsdrv/lv_fs_littlefs.c" />
</files> </files>
</component> </component>
<component Cgroup="lvgl" Csub="Libs Tiny TTF" condition="LVGL-Essential">
<description>Add Tiny TTF Library</description>
<files>
<!-- src/extra/libs/tiny_ttf -->
<file category="sourceC" name="src/extra/libs/tiny_ttf/lv_tiny_ttf.c" />
</files>
<RTE_Components_h>
/*! \brief enable Tiny TTF Library */
#define LV_USE_TINY_TTF 1
</RTE_Components_h>
</component>
<component Cgroup="lvgl" Csub="Libs RLOTTIE" condition="LVGL-Essential"> <component Cgroup="lvgl" Csub="Libs RLOTTIE" condition="LVGL-Essential">
<description>Add RLOTTIE support, an extra librbary is required.</description> <description>Add RLOTTIE support, an extra librbary is required.</description>
<files> <files>
@@ -2,8 +2,8 @@
<index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"> <index schemaVersion="1.0.0" xs:noNamespaceSchemaLocation="PackIndex.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance">
<vendor>LVGL</vendor> <vendor>LVGL</vendor>
<url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url> <url>https://raw.githubusercontent.com/lvgl/lvgl/master/env_support/cmsis-pack/</url>
<timestamp>2023-12-09</timestamp> <timestamp>2023-09-19</timestamp>
<pindex> <pindex>
<pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/release/v8.3/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="8.3.11"/> <pdsc url="https://raw.githubusercontent.com/lvgl/lvgl/release/v8.3/env_support/cmsis-pack/" vendor="LVGL" name="lvgl" version="8.3.10"/>
</pindex> </pindex>
</index> </index>
@@ -46,33 +46,12 @@ remove the misleading guide above this code segment.
- LV_USE_GPU_SWM341_DMA2D - LV_USE_GPU_SWM341_DMA2D
- LV_USE_GPU_ARM2D - LV_USE_GPU_ARM2D
- LV_USE_IME_PINYIN - LV_USE_IME_PINYIN
- LV_USE_PNG
- LV_USE_BMP
- LV_USE_SJPG
- LV_USE_GIF
- LV_USE_QRCODE
- LV_USE_FREETYPE
- LV_USE_TINY_TTF
- LV_USE_RLOTTIE
- LV_USE_FFMPEG
- LV_USE_SNAPSHOT
- LV_USE_MONKEY
- LV_USE_GRIDNAV
- LV_USE_FRAGMENT
- LV_USE_IMGFONT
- LV_USE_MSG
- LV_USE_IME_PINYIN
5. Update macro `LV_ATTRIBUTE_MEM_ALIGN` and `LV_ATTRIBUTE_MEM_ALIGN_SIZE` to force a WORD alignment. 5. Update macro `LV_ATTRIBUTE_MEM_ALIGN` and `LV_ATTRIBUTE_MEM_ALIGN_SIZE` to force a WORD alignment.
```c ```c
#define LV_ATTRIBUTE_MEM_ALIGN_SIZE 4 #define LV_ATTRIBUTE_MEM_ALIGN_SIZE 4
#define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4))) #define LV_ATTRIBUTE_MEM_ALIGN __attribute__((aligned(4)))
``` ```
Update macro `LV_MEM_SIZE` to `(64*1024U)`. Update macro `LV_MEM_SIZE` to `(64*1024U)`.
Update macro `LV_FONT_MONTSERRAT_12` to `1`.
Update macro `LV_FONT_MONTSERRAT_12` to `1`.
6. Update Theme related macros: 6. Update Theme related macros:
```c ```c
@@ -111,40 +90,24 @@ Update macro `LV_FONT_MONTSERRAT_12` to `1`.
#if LV_TICK_CUSTOM #if LV_TICK_CUSTOM
extern uint32_t SystemCoreClock; extern uint32_t SystemCoreClock;
#define LV_TICK_CUSTOM_INCLUDE "perf_counter.h" #define LV_TICK_CUSTOM_INCLUDE "perf_counter.h"
#if __PER_COUNTER_VER__ < 10902ul
#define LV_TICK_CUSTOM_SYS_TIME_EXPR ((uint32_t)get_system_ticks() / (SystemCoreClock / 1000ul))
#else
#define LV_TICK_CUSTOM_SYS_TIME_EXPR get_system_ms() #define LV_TICK_CUSTOM_SYS_TIME_EXPR get_system_ms()
#endif
#endif /*LV_TICK_CUSTOM*/ #endif /*LV_TICK_CUSTOM*/
#else #else
#define LV_TICK_CUSTOM 0 #define LV_TICK_CUSTOM 0
#if LV_TICK_CUSTOM #if LV_TICK_CUSTOM
#define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/ #define LV_TICK_CUSTOM_INCLUDE "Arduino.h" /*Header for the system time function*/
#define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/ #define LV_TICK_CUSTOM_SYS_TIME_EXPR (millis()) /*Expression evaluating to current system time in ms*/
/*If using lvgl as ESP32 component*/
// #define LV_TICK_CUSTOM_INCLUDE "esp_timer.h"
// #define LV_TICK_CUSTOM_SYS_TIME_EXPR ((esp_timer_get_time() / 1000LL))
#endif /*LV_TICK_CUSTOM*/ #endif /*LV_TICK_CUSTOM*/
#endif /*__PERF_COUNTER__*/ #endif /*__PERF_COUNTER__*/
``` ```
9. Thoroughly remove the `DEMO USAGE` section.
10. Thoroughly remove the '3rd party libraries' section.
9. Remove all content in `DEMO USAGE` section but keep the following: 10. rename '**lv_conf_template.h**' to '**lv_conf_cmsis.h**'.
```c
/*Show some widget. It might be required to increase `LV_MEM_SIZE` */
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 0
#endif
/*Benchmark your system*/
#if LV_USE_DEMO_BENCHMARK
/*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/
#define LV_DEMO_BENCHMARK_RGB565A8 1
#endif
```
10. Thoroughly remove the `3rd party libraries` section.
11. rename '**lv_conf_template.h**' to '**lv_conf_cmsis.h**'.
@@ -1,6 +1,6 @@
/** /**
* @file lv_conf.h * @file lv_conf.h
* Configuration file for v8.3.11 * Configuration file for v8.3.10
*/ */
/* clang-format off */ /* clang-format off */
@@ -76,7 +76,6 @@
/*Input device read period in milliseconds*/ /*Input device read period in milliseconds*/
#define LV_INDEV_DEF_READ_PERIOD 30 /*[ms]*/ #define LV_INDEV_DEF_READ_PERIOD 30 /*[ms]*/
/*Use a custom tick source that tells the elapsed time in milliseconds. /*Use a custom tick source that tells the elapsed time in milliseconds.
*It removes the need to manually update the tick with `lv_tick_inc()`)*/ *It removes the need to manually update the tick with `lv_tick_inc()`)*/
#ifdef __PERF_COUNTER__ #ifdef __PERF_COUNTER__
@@ -97,7 +96,6 @@
#endif /*LV_TICK_CUSTOM*/ #endif /*LV_TICK_CUSTOM*/
#endif /*__PERF_COUNTER__*/ #endif /*__PERF_COUNTER__*/
/*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings. /*Default Dot Per Inch. Used to initialize default sizes such as widgets sized, style paddings.
*(Not so important, you can adjust it to modify default sizes and spaces)*/ *(Not so important, you can adjust it to modify default sizes and spaces)*/
#define LV_DPI_DEF 130 /*[px/inch]*/ #define LV_DPI_DEF 130 /*[px/inch]*/
@@ -180,7 +178,6 @@
* GPU * GPU
*-----------*/ *-----------*/
/*Use STM32's DMA2D (aka Chrom Art) GPU*/ /*Use STM32's DMA2D (aka Chrom Art) GPU*/
#if LV_USE_GPU_STM32_DMA2D #if LV_USE_GPU_STM32_DMA2D
/*Must be defined to include path of CMSIS header of target processor /*Must be defined to include path of CMSIS header of target processor
@@ -188,13 +185,6 @@
#define LV_GPU_DMA2D_CMSIS_INCLUDE #define LV_GPU_DMA2D_CMSIS_INCLUDE
#endif #endif
/*Enable RA6M3 G2D GPU*/
#if LV_USE_GPU_RA6M3_G2D
/*include path of target processor
e.g. "hal_data.h"*/
#define LV_GPU_RA6M3_G2D_INCLUDE "hal_data.h"
#endif
/*Use SWM341's DMA2D GPU*/ /*Use SWM341's DMA2D GPU*/
#if LV_USE_GPU_SWM341_DMA2D #if LV_USE_GPU_SWM341_DMA2D
#define LV_GPU_SWM341_DMA2D_INCLUDE "SWM341.h" #define LV_GPU_SWM341_DMA2D_INCLUDE "SWM341.h"
@@ -210,6 +200,22 @@
#define LV_USE_GPU_NXP_PXP_AUTO_INIT 0 #define LV_USE_GPU_NXP_PXP_AUTO_INIT 0
#endif #endif
#if LV_USE_GPU_RA6M3_G2D
/*include path of target processor
e.g. "hal_data.h"*/
#define LV_GPU_RA6M3_G2D_INCLUDE "hal_data.h"
#endif
/*Use SDL renderer API*/
#define LV_USE_GPU_SDL 0
#if LV_USE_GPU_SDL
#define LV_GPU_SDL_INCLUDE_PATH <SDL2/SDL.h>
/*Texture cache size, 8MB by default*/
#define LV_GPU_SDL_LRU_SIZE (1024 * 1024 * 8)
/*Custom blend mode for mask drawing, disable if you need to link with older SDL2 lib*/
#define LV_GPU_SDL_CUSTOM_BLEND_MODE (SDL_VERSION_ATLEAST(2, 0, 6))
#endif
/*------------- /*-------------
* Logging * Logging
*-----------*/ *-----------*/
@@ -225,11 +231,11 @@
*LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail *LV_LOG_LEVEL_ERROR Only critical issue, when the system may fail
*LV_LOG_LEVEL_USER Only logs added by the user *LV_LOG_LEVEL_USER Only logs added by the user
*LV_LOG_LEVEL_NONE Do not log anything*/ *LV_LOG_LEVEL_NONE Do not log anything*/
#define LV_LOG_LEVEL LV_LOG_LEVEL_WARN #define LV_LOG_LEVEL LV_LOG_LEVEL_USER
/*1: Print the log with 'printf'; /*1: Print the log with 'printf';
*0: User need to register a callback with `lv_log_register_print_cb()`*/ *0: User need to register a callback with `lv_log_register_print_cb()`*/
#define LV_LOG_PRINTF 0 #define LV_LOG_PRINTF 1
/*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/ /*Enable/disable LV_LOG_TRACE in modules that produces a huge number of logs*/
#define LV_LOG_TRACE_MEM 1 #define LV_LOG_TRACE_MEM 1
@@ -582,6 +588,7 @@
#define LV_USE_THEME_BASIC 0 #define LV_USE_THEME_BASIC 0
#define LV_USE_THEME_MONO 0 #define LV_USE_THEME_MONO 0
#endif #endif
/*----------- /*-----------
* Layouts * Layouts
*----------*/ *----------*/
@@ -592,86 +599,28 @@
/*A layout similar to Grid in CSS.*/ /*A layout similar to Grid in CSS.*/
#define LV_USE_GRID 1 #define LV_USE_GRID 1
/*---------------------
* 3rd party libraries
*--------------------*/
/*File system interfaces for common APIs */
/*API for fopen, fread, etc*/
#define LV_USE_FS_STDIO 0
#if LV_USE_FS_STDIO
#define LV_FS_STDIO_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_STDIO_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
#define LV_FS_STDIO_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*API for open, read, etc*/
#define LV_USE_FS_POSIX 0
#if LV_USE_FS_POSIX
#define LV_FS_POSIX_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_POSIX_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
#define LV_FS_POSIX_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*API for CreateFile, ReadFile, etc*/
#define LV_USE_FS_WIN32 0
#if LV_USE_FS_WIN32
#define LV_FS_WIN32_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_WIN32_PATH "" /*Set the working directory. File/directory paths will be appended to it.*/
#define LV_FS_WIN32_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*API for FATFS (needs to be added separately). Uses f_open, f_read, etc*/
#define LV_USE_FS_FATFS 0
#if LV_USE_FS_FATFS
#define LV_FS_FATFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*API for LittleFS (library needs to be added separately). Uses lfs_file_open, lfs_file_read, etc*/
#define LV_USE_FS_LITTLEFS 0
#if LV_USE_FS_LITTLEFS
#define LV_FS_LITTLEFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_LITTLEFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*FreeType library*/
#if LV_USE_FREETYPE
/*Memory used by FreeType to cache characters [bytes] (-1: no caching)*/
#define LV_FREETYPE_CACHE_SIZE (16 * 1024)
#if LV_FREETYPE_CACHE_SIZE >= 0
/* 1: bitmap cache use the sbit cache, 0:bitmap cache use the image cache. */
/* sbit cache:it is much more memory efficient for small bitmaps(font size < 256) */
/* if font size >= 256, must be configured as image cache */
#define LV_FREETYPE_SBIT_CACHE 0
/* Maximum number of opened FT_Face/FT_Size objects managed by this cache instance. */
/* (0:use system defaults) */
#define LV_FREETYPE_CACHE_FT_FACES 0
#define LV_FREETYPE_CACHE_FT_SIZES 0
#endif
#endif
/*Tiny TTF library*/
#if LV_USE_TINY_TTF
/*Load TTF data from files*/
#define LV_TINY_TTF_FILE_SUPPORT 0
#endif
/*FFmpeg library for image decoding and playing videos
*Supports all major image formats so do not enable other image decoder with it*/
#if LV_USE_FFMPEG
/*Dump input information to stderr*/
#define LV_FFMPEG_DUMP_FORMAT 0
#endif
/*----------- /*-----------
* Others * Others
*----------*/ *----------*/
/*1: Enable API to take snapshot for object*/
#define LV_USE_SNAPSHOT 0
/*1: Enable Monkey test*/
#define LV_USE_MONKEY 0
/*1: Enable grid navigation*/
#define LV_USE_GRIDNAV 0
/*1: Enable lv_obj fragment*/
#define LV_USE_FRAGMENT 0
/*1: Support using images as font in label or span widgets */
#define LV_USE_IMGFONT 0
/*1: Enable a published subscriber based messaging system */
#define LV_USE_MSG 0
/*1: Enable Pinyin input method*/ /*1: Enable Pinyin input method*/
/*Requires: lv_keyboard*/ /*Requires: lv_keyboard*/
#if LV_USE_IME_PINYIN #if LV_USE_IME_PINYIN
@@ -696,20 +645,6 @@
/*Enable the examples to be built with the library*/ /*Enable the examples to be built with the library*/
#define LV_BUILD_EXAMPLES 1 #define LV_BUILD_EXAMPLES 1
/*===================
* DEMO USAGE
====================*/
/*Show some widget. It might be required to increase `LV_MEM_SIZE` */
#if LV_USE_DEMO_WIDGETS
#define LV_DEMO_WIDGETS_SLIDESHOW 0
#endif
/*Benchmark your system*/
#if LV_USE_DEMO_BENCHMARK
/*Use RGB565A8 images with 16 bit color depth instead of ARGB8565*/
#define LV_DEMO_BENCHMARK_RGB565A8 1
#endif
/*--END OF LV_CONF_H--*/ /*--END OF LV_CONF_H--*/
@@ -69,7 +69,7 @@ static int lvgl_thread_init(void)
rt_err_t err; rt_err_t err;
err = rt_thread_init(&lvgl_thread, "LVGL", lvgl_thread_entry, RT_NULL, err = rt_thread_init(&lvgl_thread, "LVGL", lvgl_thread_entry, RT_NULL,
&lvgl_thread_stack[0], sizeof(lvgl_thread_stack), PKG_LVGL_THREAD_PRIO, 10); &lvgl_thread_stack[0], sizeof(lvgl_thread_stack), PKG_LVGL_THREAD_PRIO, 0);
if(err != RT_EOK) if(err != RT_EOK)
{ {
LOG_E("Failed to create LVGL thread"); LOG_E("Failed to create LVGL thread");
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "lvgl", "name": "lvgl",
"version": "8.3.11", "version": "8.3.10",
"keywords": "graphics, gui, embedded, tft, lvgl", "keywords": "graphics, gui, embedded, tft, lvgl",
"description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.", "description": "Graphics library to create embedded GUI with easy-to-use graphical elements, beautiful visual effects and low memory footprint. It offers anti-aliasing, opacity, and animations using only one frame buffer.",
"repository": { "repository": {
+1 -1
View File
@@ -1,5 +1,5 @@
name=lvgl name=lvgl
version=8.3.11 version=8.3.10
author=kisvegabor author=kisvegabor
maintainer=kisvegabor,embeddedt,pete-pjb maintainer=kisvegabor,embeddedt,pete-pjb
sentence=Full-featured Graphics Library for Embedded Systems sentence=Full-featured Graphics Library for Embedded Systems
+1 -15
View File
@@ -1,6 +1,6 @@
/** /**
* @file lv_conf.h * @file lv_conf.h
* Configuration file for v8.3.11 * Configuration file for v8.3.9
*/ */
/* /*
@@ -639,13 +639,6 @@
#define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/ #define LV_FS_FATFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif #endif
/*API for LittleFS (library needs to be added separately). Uses lfs_file_open, lfs_file_read, etc*/
#define LV_USE_FS_LITTLEFS 0
#if LV_USE_FS_LITTLEFS
#define LV_FS_LITTLEFS_LETTER '\0' /*Set an upper cased letter on which the drive will accessible (e.g. 'A')*/
#define LV_FS_LITTLEFS_CACHE_SIZE 0 /*>0 to cache this number of bytes in lv_fs_read()*/
#endif
/*PNG decoder library*/ /*PNG decoder library*/
#define LV_USE_PNG 0 #define LV_USE_PNG 0
@@ -679,13 +672,6 @@
#endif #endif
#endif #endif
/*Tiny TTF library*/
#define LV_USE_TINY_TTF 0
#if LV_USE_TINY_TTF
/*Load TTF data from files*/
#define LV_TINY_TTF_FILE_SUPPORT 0
#endif
/*Rlottie library*/ /*Rlottie library*/
#define LV_USE_RLOTTIE 0 #define LV_USE_RLOTTIE 0
+1 -1
View File
@@ -15,7 +15,7 @@ extern "C" {
***************************/ ***************************/
#define LVGL_VERSION_MAJOR 8 #define LVGL_VERSION_MAJOR 8
#define LVGL_VERSION_MINOR 3 #define LVGL_VERSION_MINOR 3
#define LVGL_VERSION_PATCH 11 #define LVGL_VERSION_PATCH 10
#define LVGL_VERSION_INFO "" #define LVGL_VERSION_INFO ""
/********************* /*********************
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
View File
+2 -2
View File
@@ -163,7 +163,7 @@ props = [
{'name': 'BORDER_WIDTH', {'name': 'BORDER_WIDTH',
'style_type': 'num', 'var_type': 'lv_coord_t' , 'default':0, 'inherited': 0, 'layout': 1, 'ext_draw': 0, 'style_type': 'num', 'var_type': 'lv_coord_t' , 'default':0, 'inherited': 0, 'layout': 1, 'ext_draw': 0,
'dsc': "Set the width of the border. Only pixel values can be used."}, 'dsc': "Set hte width of the border. Only pixel values can be used."},
{'name': 'BORDER_SIDE', {'name': 'BORDER_SIDE',
'style_type': 'num', 'var_type': 'lv_border_side_t', 'default':'`LV_BORDER_SIDE_NONE`', 'inherited': 0, 'layout': 0, 'ext_draw': 0, 'style_type': 'num', 'var_type': 'lv_border_side_t', 'default':'`LV_BORDER_SIDE_NONE`', 'inherited': 0, 'layout': 0, 'ext_draw': 0,
@@ -350,7 +350,7 @@ props = [
{'name': 'LAYOUT', {'name': 'LAYOUT',
'style_type': 'num', 'var_type': 'uint16_t', 'default':0, 'inherited': 0, 'layout': 1, 'ext_draw': 0, 'style_type': 'num', 'var_type': 'uint16_t', 'default':0, 'inherited': 0, 'layout': 1, 'ext_draw': 0,
'dsc': "Set the layout of the object. The children will be repositioned and resized according to the policies set for the layout. For the possible values see the documentation of the layouts."}, 'dsc': "Set the layout if the object. The children will be repositioned and resized according to the policies set for the layout. For the possible values see the documentation of the layouts."},
{'name': 'BASE_DIR', {'name': 'BASE_DIR',
'style_type': 'num', 'var_type': 'lv_base_dir_t', 'default':'`LV_BASE_DIR_AUTO`', 'inherited': 1, 'layout': 1, 'ext_draw': 0, 'style_type': 'num', 'var_type': 'lv_base_dir_t', 'default':'`LV_BASE_DIR_AUTO`', 'inherited': 1, 'layout': 1, 'ext_draw': 0,

Some files were not shown because too many files have changed in this diff Show More