From 4dee357362876fd6012d9f656f1316e1b1c7aebf Mon Sep 17 00:00:00 2001 From: John Reiser Date: Sun, 25 Jun 2006 05:56:36 -0700 Subject: [PATCH] optimize PackLinuxI386::buildLinuxLoader --- src/p_lx_exc.cpp | 16 +- src/stub/i386-linux.elf.shell-entry.h | 431 +++++++++++++------------- src/stub/i386-linux.elf.shell-fold.h | 147 +++++---- 3 files changed, 289 insertions(+), 305 deletions(-) diff --git a/src/p_lx_exc.cpp b/src/p_lx_exc.cpp index 78297daa..c4198ad0 100644 --- a/src/p_lx_exc.cpp +++ b/src/p_lx_exc.cpp @@ -261,7 +261,6 @@ PackLinuxI386::buildLinuxLoader( { initLoader(proto, szproto); - struct b_info h; memset(&h, 0, sizeof(h)); unsigned fold_hdrlen = 0; if (0 < szfold) { cprElfHdr1 const *const hf = (cprElfHdr1 const *)fold; @@ -271,23 +270,10 @@ PackLinuxI386::buildLinuxLoader( // inconsistent SIZEOF_HEADERS in *.lds (ld, binutils) fold_hdrlen = umax(0x80, fold_hdrlen); } - h.sz_unc = (szfold < fold_hdrlen) ? 0 : (szfold - fold_hdrlen); - h.b_method = (unsigned char) ph.method; // FIXME: endian trouble - h.b_ftid = (unsigned char) ph.filter; - h.b_cto8 = (unsigned char) ph.filter_cto; - } - unsigned char const *const uncLoader = fold_hdrlen + fold; - - unsigned char *const cprLoader = new unsigned char[h.sz_unc]; - if (0 < szfold) { - unsigned sz_cpr = h.sz_unc; - memcpy(cprLoader, uncLoader, sz_cpr); - h.sz_cpr = sz_cpr; } // This adds the definition to the "library", to be used later. // NOTE: the stub is NOT compressed! The savings is not worth it. - linker->addSection("FOLDEXEC", cprLoader, h.sz_cpr); - delete [] cprLoader; + linker->addSection("FOLDEXEC", fold + fold_hdrlen, szfold - fold_hdrlen); n_mru = ft->n_mru; diff --git a/src/stub/i386-linux.elf.shell-entry.h b/src/stub/i386-linux.elf.shell-entry.h index c23b4c0b..ad27d147 100644 --- a/src/stub/i386-linux.elf.shell-entry.h +++ b/src/stub/i386-linux.elf.shell-entry.h @@ -1,4 +1,4 @@ -/* i386-linux.elf.shell-entry.h -- created from i386-linux.elf.shell-entry.bin, 10027 (0x272b) bytes +/* i386-linux.elf.shell-entry.h -- created from i386-linux.elf.shell-entry.bin, 10007 (0x2717) bytes This file is part of the UPX executable compressor. @@ -27,11 +27,11 @@ */ -#define LINUX_I386SH_LOADER_SIZE 10027 -#define LINUX_I386SH_LOADER_ADLER32 0x7401c911 -#define LINUX_I386SH_LOADER_CRC32 0x7ddf00cb +#define LINUX_I386SH_LOADER_SIZE 10007 +#define LINUX_I386SH_LOADER_ADLER32 0xa9d5bcec +#define LINUX_I386SH_LOADER_CRC32 0xde3c4b3c -unsigned char linux_i386sh_loader[10027] = { +unsigned char linux_i386sh_loader[10007] = { 232, 0, 0, 0, 0, 96,139,116, 36, 36,139,124, 36, 44,131,205, /* 0x 0 */ 255,235, 0,164,235, 0,138, 6, 70,136, 7, 71, 1,219,117, 7, /* 0x 10 */ 139, 30,131,238,252, 17,219,114, 0, 49,192, 64,138, 7,114, 0, /* 0x 20 */ @@ -448,215 +448,214 @@ unsigned char linux_i386sh_loader[10027] = { 0,128, 63, 63,117, 0,139, 7,102,193,232, 8,134,196,193,192, /* 0x19d0 */ 16,134,196, 41,248,171,235, 0,139, 84, 36, 36, 3, 84, 36, 40, /* 0x19e0 */ 57,214,116, 1, 72, 43,124, 36, 44,139, 84, 36, 48,137, 58,137, /* 0x19f0 */ - 68, 36, 28, 97,195, 94,252,173, 80, 84,186, 0, 0, 64, 1,139, /* 0x1a00 */ - 66, 72, 1,208,131,194,116, 80,139, 74, 16,129,193, 6, 16, 0, /* 0x1a10 */ - 0, 80,106,255,106, 50,106, 7, 81, 80,137,227,106, 90, 88,205, /* 0x1a20 */ -128,141,152, 3, 16, 0, 0,131,196, 24,173, 80,173, 86,255,213, /* 0x1a30 */ - 88, 88,195, 93,232,188,255,255,255, 0, 0, 0, 76, 69, 88, 69, /* 0x1a40 */ - 67, 48, 48, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, /* 0x1a50 */ - 0, 76, 69, 88, 69, 67, 48, 50, 48, 0, 62, 0, 0, 0, 76, 69, /* 0x1a60 */ - 88, 69, 67, 48, 49, 48, 0, 5, 0, 0, 0, 78, 50, 66, 83, 77, /* 0x1a70 */ - 65, 49, 48, 0, 17, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, /* 0x1a80 */ - 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, /* 0x1a90 */ - 70, 65, 83, 49, 48, 0, 20, 0, 0, 0, 0, 0, 0, 0, 22, 0, /* 0x1aa0 */ - 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, /* 0x1ab0 */ - 50, 66, 70, 65, 83, 49, 49, 0, 22, 0, 0, 0, 78, 50, 66, 68, /* 0x1ac0 */ - 69, 67, 49, 48, 0, 28, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, /* 0x1ad0 */ - 48, 0, 39, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 78, 50, /* 0x1ae0 */ - 66, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x1af0 */ - 83, 50, 48, 0, 44, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, /* 0x1b00 */ - 78, 50, 66, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, /* 0x1b10 */ - 68, 69, 67, 50, 48, 0, 53, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x1b20 */ - 51, 48, 0, 66, 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 78, /* 0x1b30 */ - 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, /* 0x1b40 */ - 65, 83, 51, 48, 0, 79, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, /* 0x1b50 */ - 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, /* 0x1b60 */ - 0, 0, 94, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, /* 0x1b70 */ - 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 94, 0, 0, 0, /* 0x1b80 */ - 0, 0, 0, 0,112, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, /* 0x1b90 */ - 0, 0, 0, 0, 0, 0, 0, 0, 0,142, 0, 0, 0, 78, 50, 66, /* 0x1ba0 */ - 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x1bb0 */ - 52, 48, 0,156, 0, 0, 0, 0, 0, 0, 0,169, 0, 0, 0, 78, /* 0x1bc0 */ - 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, /* 0x1bd0 */ - 65, 83, 52, 48, 0,169, 0, 0, 0, 0, 0, 0, 0,173, 0, 0, /* 0x1be0 */ - 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, /* 0x1bf0 */ - 0, 0,184, 0, 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, /* 0x1c00 */ - 0, 0, 0, 78, 50, 66, 68, 85, 77, 77, 49, 0,184, 0, 0, 0, /* 0x1c10 */ - 78, 50, 66, 83, 77, 65, 53, 48, 0,184, 0, 0, 0, 78, 50, 66, /* 0x1c20 */ - 70, 65, 83, 53, 48, 0,186, 0, 0, 0, 78, 50, 66, 68, 69, 67, /* 0x1c30 */ - 53, 48, 0,189, 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0, /* 0x1c40 */ -198, 0, 0, 0, 0, 0, 0, 0,210, 0, 0, 0, 78, 50, 66, 68, /* 0x1c50 */ - 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, /* 0x1c60 */ - 48, 0,210, 0, 0, 0, 0, 0, 0, 0,221, 0, 0, 0, 78, 50, /* 0x1c70 */ - 66, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,235, /* 0x1c80 */ - 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, /* 0x1c90 */ - 78, 50, 66, 70, 65, 83, 54, 49, 0,235, 0, 0, 0, 0, 0, 0, /* 0x1ca0 */ - 0, 1, 1, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x1cb0 */ - 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 1, 1, 0, 0, 78, /* 0x1cc0 */ - 82, 86, 50, 66, 69, 78, 68, 0, 1, 1, 0, 0, 78, 50, 68, 83, /* 0x1cd0 */ - 77, 65, 49, 48, 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 1, 0, /* 0x1ce0 */ - 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, /* 0x1cf0 */ - 68, 70, 65, 83, 49, 48, 0, 4, 1, 0, 0, 0, 0, 0, 0, 6, /* 0x1d00 */ - 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x1d10 */ - 78, 50, 68, 70, 65, 83, 49, 49, 0, 6, 1, 0, 0, 78, 50, 68, /* 0x1d20 */ - 68, 69, 67, 49, 48, 0, 12, 1, 0, 0, 78, 50, 68, 83, 77, 65, /* 0x1d30 */ - 50, 48, 0, 23, 1, 0, 0, 0, 0, 0, 0, 25, 1, 0, 0, 78, /* 0x1d40 */ - 50, 68, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, /* 0x1d50 */ - 65, 83, 50, 48, 0, 28, 1, 0, 0, 0, 0, 0, 0, 32, 1, 0, /* 0x1d60 */ - 0, 78, 50, 68, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, /* 0x1d70 */ - 68, 68, 69, 67, 50, 48, 0, 37, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x1d80 */ - 65, 51, 48, 0, 50, 1, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, /* 0x1d90 */ - 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, /* 0x1da0 */ - 70, 65, 83, 51, 48, 0, 63, 1, 0, 0, 0, 0, 0, 0, 69, 1, /* 0x1db0 */ - 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, /* 0x1dc0 */ - 0, 0, 0, 78, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, /* 0x1dd0 */ - 16, 0, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 78, 1, 0, /* 0x1de0 */ - 0, 0, 0, 0, 0, 94, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, /* 0x1df0 */ - 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,112, 1, 0, 0, 78, 50, /* 0x1e00 */ - 68, 68, 69, 67, 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,146, /* 0x1e10 */ - 1, 0, 0, 78, 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, /* 0x1e20 */ - 78, 50, 68, 83, 77, 65, 52, 48, 0,160, 1, 0, 0, 0, 0, 0, /* 0x1e30 */ - 0,173, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, /* 0x1e40 */ - 0, 0, 78, 50, 68, 70, 65, 83, 52, 48, 0,173, 1, 0, 0, 0, /* 0x1e50 */ - 0, 0, 0,177, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, /* 0x1e60 */ - 69, 0, 0, 0, 0, 0, 0, 0,188, 1, 0, 0, 78, 50, 68, 68, /* 0x1e70 */ - 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, /* 0x1e80 */ - 49, 0,188, 1, 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0,188, /* 0x1e90 */ - 1, 0, 0, 78, 50, 68, 70, 65, 83, 53, 48, 0,190, 1, 0, 0, /* 0x1ea0 */ - 78, 50, 68, 68, 69, 67, 53, 48, 0,193, 1, 0, 0, 78, 50, 68, /* 0x1eb0 */ - 83, 77, 65, 54, 48, 0,202, 1, 0, 0, 0, 0, 0, 0,214, 1, /* 0x1ec0 */ - 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, /* 0x1ed0 */ - 50, 68, 70, 65, 83, 54, 48, 0,214, 1, 0, 0, 0, 0, 0, 0, /* 0x1ee0 */ -225, 1, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, /* 0x1ef0 */ - 0, 0, 0, 0, 0,239, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, /* 0x1f00 */ - 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0,239, /* 0x1f10 */ - 1, 0, 0, 0, 0, 0, 0, 5, 2, 0, 0, 78, 50, 68, 68, 69, /* 0x1f20 */ - 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, /* 0x1f30 */ - 0, 5, 2, 0, 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 5, 2, /* 0x1f40 */ - 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 5, 2, 0, 0, 0, /* 0x1f50 */ - 0, 0, 0, 7, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, /* 0x1f60 */ - 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 48, 0, 8, 2, 0, /* 0x1f70 */ - 0, 0, 0, 0, 0, 10, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, /* 0x1f80 */ - 48, 0, 4, 0, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 10, /* 0x1f90 */ - 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 16, 2, 0, 0, /* 0x1fa0 */ - 78, 50, 69, 83, 77, 65, 50, 48, 0, 27, 2, 0, 0, 0, 0, 0, /* 0x1fb0 */ - 0, 29, 2, 0, 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, /* 0x1fc0 */ - 0, 0, 78, 50, 69, 70, 65, 83, 50, 48, 0, 32, 2, 0, 0, 0, /* 0x1fd0 */ - 0, 0, 0, 36, 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, /* 0x1fe0 */ - 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, 50, 48, 0, 41, 2, 0, /* 0x1ff0 */ - 0, 78, 50, 69, 83, 77, 65, 51, 48, 0, 54, 2, 0, 0, 0, 0, /* 0x2000 */ - 0, 0, 67, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, /* 0x2010 */ - 0, 0, 0, 78, 50, 69, 70, 65, 83, 51, 48, 0, 67, 2, 0, 0, /* 0x2020 */ - 0, 0, 0, 0, 73, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, /* 0x2030 */ - 0, 31, 0, 0, 0, 0, 0, 0, 0, 82, 2, 0, 0, 78, 50, 69, /* 0x2040 */ - 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x2050 */ - 51, 48, 0, 82, 2, 0, 0, 0, 0, 0, 0, 98, 2, 0, 0, 78, /* 0x2060 */ - 50, 69, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x2070 */ -113, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, /* 0x2080 */ - 0, 0, 0, 0, 0,131, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, /* 0x2090 */ - 48, 0, 0, 0, 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,177, /* 0x20a0 */ - 2, 0, 0, 0, 0, 0, 0,190, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x20b0 */ - 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, /* 0x20c0 */ - 0,190, 2, 0, 0, 0, 0, 0, 0,194, 2, 0, 0, 78, 50, 69, /* 0x20d0 */ - 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 0, 0, 0, 0,205, 2, /* 0x20e0 */ - 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, /* 0x20f0 */ - 50, 69, 68, 85, 77, 77, 49, 0,205, 2, 0, 0, 78, 50, 69, 83, /* 0x2100 */ - 77, 65, 53, 48, 0,205, 2, 0, 0, 78, 50, 69, 70, 65, 83, 53, /* 0x2110 */ - 48, 0,207, 2, 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0,210, /* 0x2120 */ - 2, 0, 0, 78, 50, 69, 83, 77, 65, 54, 48, 0,219, 2, 0, 0, /* 0x2130 */ - 0, 0, 0, 0,231, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, /* 0x2140 */ - 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 48, 0,231, 2, /* 0x2150 */ - 0, 0, 0, 0, 0, 0,242, 2, 0, 0, 78, 50, 69, 70, 65, 83, /* 0x2160 */ - 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 78, /* 0x2170 */ - 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, /* 0x2180 */ - 65, 83, 54, 49, 0, 0, 3, 0, 0, 0, 0, 0, 0, 22, 3, 0, /* 0x2190 */ - 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x21a0 */ - 69, 68, 69, 67, 54, 48, 0, 22, 3, 0, 0, 78, 82, 86, 50, 69, /* 0x21b0 */ - 69, 78, 68, 0, 22, 3, 0, 0, 67, 76, 49, 83, 77, 65, 49, 66, /* 0x21c0 */ - 0, 22, 3, 0, 0, 67, 76, 49, 70, 65, 83, 49, 66, 0, 24, 3, /* 0x21d0 */ - 0, 0, 67, 76, 49, 71, 69, 84, 49, 66, 0, 30, 3, 0, 0, 67, /* 0x21e0 */ - 76, 49, 69, 78, 84, 69, 82, 0, 30, 3, 0, 0, 0, 0, 0, 0, /* 0x21f0 */ - 36, 3, 0, 0, 67, 76, 49, 83, 84, 65, 82, 84, 0, 0, 0, 0, /* 0x2200 */ - 0, 67, 76, 49, 83, 77, 65, 49, 48, 0, 36, 3, 0, 0, 0, 0, /* 0x2210 */ - 0, 0, 40, 3, 0, 0, 67, 76, 49, 82, 76, 79, 65, 68, 0, 0, /* 0x2220 */ - 0, 0, 0, 67, 76, 49, 82, 76, 79, 65, 68, 0, 41, 3, 0, 0, /* 0x2230 */ - 67, 76, 49, 87, 73, 68, 48, 49, 0, 49, 3, 0, 0, 67, 76, 49, /* 0x2240 */ - 87, 73, 68, 48, 50, 0, 51, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x2250 */ - 48, 51, 0, 53, 3, 0, 0, 0, 0, 0, 0, 55, 3, 0, 0, 67, /* 0x2260 */ - 76, 49, 87, 73, 68, 49, 48, 0, 12, 0, 0, 0, 67, 76, 49, 87, /* 0x2270 */ - 73, 68, 48, 52, 0, 55, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, /* 0x2280 */ - 53, 0, 57, 3, 0, 0, 0, 0, 0, 0, 59, 3, 0, 0, 67, 76, /* 0x2290 */ - 49, 87, 73, 68, 49, 48, 0, 7, 0, 0, 0, 67, 76, 49, 87, 73, /* 0x22a0 */ - 68, 48, 54, 0, 59, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 55, /* 0x22b0 */ - 0, 61, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 56, 0, 64, 3, /* 0x22c0 */ - 0, 0, 0, 0, 0, 0, 71, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x22d0 */ - 48, 54, 0, 2, 0, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 67, /* 0x22e0 */ - 76, 49, 87, 73, 68, 49, 48, 0, 15, 0, 0, 0, 0, 0, 0, 0, /* 0x22f0 */ - 90, 3, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, 0, 18, 0, 0, /* 0x2300 */ - 0, 67, 76, 49, 87, 73, 68, 48, 57, 0, 90, 3, 0, 0, 67, 76, /* 0x2310 */ - 49, 87, 73, 68, 49, 48, 0, 92, 3, 0, 0, 0, 0, 0, 0, 99, /* 0x2320 */ - 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 55, 0, 2, 0, 0, 0, /* 0x2330 */ - 0, 0, 0, 0,103, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 56, /* 0x2340 */ - 0, 26, 0, 0, 0, 0, 0, 0, 0,109, 3, 0, 0, 67, 76, 49, /* 0x2350 */ - 84, 79, 80, 48, 55, 0, 2, 0, 0, 0, 67, 76, 49, 83, 84, 65, /* 0x2360 */ - 82, 84, 0,109, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 48, 0, /* 0x2370 */ -114, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 49, 0,117, 3, 0, /* 0x2380 */ - 0, 0, 0, 0, 0,119, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, /* 0x2390 */ - 55, 0, 23, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 50, 0,119, /* 0x23a0 */ - 3, 0, 0, 0, 0, 0, 0,121, 3, 0, 0, 67, 76, 49, 84, 79, /* 0x23b0 */ - 80, 48, 55, 0, 22, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 51, /* 0x23c0 */ - 0,121, 3, 0, 0, 0, 0, 0, 0,123, 3, 0, 0, 67, 76, 49, /* 0x23d0 */ - 84, 79, 80, 48, 55, 0, 21, 0, 0, 0, 67, 76, 49, 84, 79, 80, /* 0x23e0 */ - 48, 52, 0,123, 3, 0, 0, 0, 0, 0, 0,125, 3, 0, 0, 67, /* 0x23f0 */ - 76, 49, 84, 79, 80, 48, 55, 0, 20, 0, 0, 0, 67, 76, 49, 84, /* 0x2400 */ - 79, 80, 48, 53, 0,128, 3, 0, 0, 0, 0, 0, 0,130, 3, 0, /* 0x2410 */ - 0, 67, 76, 49, 84, 79, 80, 48, 54, 0, 7, 0, 0, 0, 67, 76, /* 0x2420 */ - 49, 84, 79, 80, 48, 54, 0,131, 3, 0, 0, 0, 0, 0, 0,138, /* 0x2430 */ - 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 49, 0, 0, 0, 0, 0, /* 0x2440 */ - 67, 76, 49, 84, 79, 80, 48, 55, 0,138, 3, 0, 0, 67, 76, 49, /* 0x2450 */ - 79, 70, 70, 48, 49, 0,161, 3, 0, 0, 67, 76, 49, 79, 70, 70, /* 0x2460 */ - 48, 50, 0,163, 3, 0, 0, 0, 0, 0, 0,165, 3, 0, 0, 67, /* 0x2470 */ - 76, 49, 84, 79, 80, 48, 55, 0, 23, 0, 0, 0, 0, 0, 0, 0, /* 0x2480 */ -179, 3, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, 0, 51, 0, 0, /* 0x2490 */ - 0, 67, 76, 49, 79, 70, 70, 48, 51, 0,181, 3, 0, 0, 67, 76, /* 0x24a0 */ - 49, 79, 70, 70, 48, 52, 0,183, 3, 0, 0, 0, 0, 0, 0,187, /* 0x24b0 */ - 3, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, 0, 0, 0, 0, 0, /* 0x24c0 */ - 67, 76, 49, 76, 69, 78, 48, 48, 0,187, 3, 0, 0, 67, 76, 49, /* 0x24d0 */ - 76, 69, 78, 48, 49, 0,188, 3, 0, 0, 67, 76, 49, 76, 69, 78, /* 0x24e0 */ - 48, 50, 0,190, 3, 0, 0, 0, 0, 0, 0,192, 3, 0, 0, 67, /* 0x24f0 */ - 76, 49, 76, 69, 78, 48, 48, 0, 1, 0, 0, 0, 67, 76, 49, 67, /* 0x2500 */ - 79, 80, 89, 48, 0,195, 3, 0, 0, 0, 0, 0, 0,232, 3, 0, /* 0x2510 */ - 0, 67, 76, 49, 84, 79, 80, 48, 48, 0, 0, 0, 0, 0, 67, 76, /* 0x2520 */ - 49, 69, 78, 68, 0,246, 3, 0, 0, 76, 90, 77, 65, 95, 68, 69, /* 0x2530 */ - 67, 48, 48, 0,246, 3, 0, 0, 76, 90, 77, 65, 95, 69, 76, 70, /* 0x2540 */ - 48, 48, 0, 35, 4, 0, 0, 76, 90, 77, 65, 95, 68, 69, 67, 49, /* 0x2550 */ - 48, 0,109, 4, 0, 0, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, /* 0x2560 */ - 0,243, 14, 0, 0, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 0, /* 0x2570 */ -121, 25, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0,147, 25, 0, /* 0x2580 */ - 0, 67, 84, 67, 76, 69, 86, 69, 49, 0,161, 25, 0, 0, 0, 0, /* 0x2590 */ - 0, 0,166, 25, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 5, /* 0x25a0 */ - 0, 0, 0, 67, 65, 76, 76, 84, 82, 48, 49, 0,166, 25, 0, 0, /* 0x25b0 */ - 67, 84, 68, 85, 77, 77, 89, 49, 0,171, 25, 0, 0, 67, 84, 66, /* 0x25c0 */ - 83, 72, 82, 48, 49, 0,171, 25, 0, 0, 67, 84, 66, 82, 79, 82, /* 0x25d0 */ - 48, 49, 0,175, 25, 0, 0, 67, 84, 66, 83, 87, 65, 48, 49, 0, /* 0x25e0 */ -177, 25, 0, 0, 67, 65, 76, 76, 84, 82, 48, 50, 0,182, 25, 0, /* 0x25f0 */ - 0, 0, 0, 0, 0,196, 25, 0, 0, 67, 65, 76, 76, 84, 82, 48, /* 0x2600 */ - 48, 0, 10, 0, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0,196, /* 0x2610 */ - 25, 0, 0, 67, 65, 76, 76, 84, 82, 69, 56, 0,201, 25, 0, 0, /* 0x2620 */ - 67, 65, 76, 76, 84, 82, 69, 57, 0,203, 25, 0, 0, 67, 65, 76, /* 0x2630 */ - 76, 84, 82, 49, 49, 0,205, 25, 0, 0, 0, 0, 0, 0,209, 25, /* 0x2640 */ - 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0, 5, 0, 0, 0, 67, /* 0x2650 */ - 84, 67, 76, 69, 86, 69, 50, 0,209, 25, 0, 0, 0, 0, 0, 0, /* 0x2660 */ -214, 25, 0, 0, 67, 65, 76, 76, 84, 82, 49, 49, 0, 0, 0, 0, /* 0x2670 */ - 0, 67, 65, 76, 76, 84, 82, 49, 50, 0,214, 25, 0, 0, 67, 84, /* 0x2680 */ - 68, 85, 77, 77, 89, 50, 0,216, 25, 0, 0, 67, 84, 66, 83, 72, /* 0x2690 */ - 82, 49, 49, 0,216, 25, 0, 0, 67, 84, 66, 82, 79, 82, 49, 49, /* 0x26a0 */ - 0,220, 25, 0, 0, 67, 84, 66, 83, 87, 65, 49, 49, 0,222, 25, /* 0x26b0 */ - 0, 0, 67, 65, 76, 76, 84, 82, 49, 51, 0,227, 25, 0, 0, 0, /* 0x26c0 */ - 0, 0, 0,232, 25, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0, /* 0x26d0 */ - 5, 0, 0, 0, 67, 84, 84, 72, 69, 69, 78, 68, 0,232, 25, 0, /* 0x26e0 */ - 0, 76, 69, 88, 69, 67, 48, 49, 53, 0,232, 25, 0, 0, 76, 69, /* 0x26f0 */ - 88, 69, 67, 48, 49, 55, 0, 3, 26, 0, 0, 76, 69, 88, 69, 67, /* 0x2700 */ - 48, 50, 48, 0, 5, 26, 0, 0, 88, 84, 72, 69, 69, 78, 68, 88, /* 0x2710 */ - 0, 73, 26, 0, 0,255,255,255,255, 73, 26 /* 0x2720 */ + 68, 36, 28, 97,195, 93,184, 0, 0, 64, 1,141,144,140, 0, 0, /* 0x1a00 */ + 0, 3, 64, 72, 5,255, 15, 0, 0, 37, 0,240,255,255,106, 0, /* 0x1a10 */ +106,255,106, 50,106, 3,255, 50, 80,137,227,106, 90, 88,205,128, /* 0x1a20 */ +131,196, 24,141, 88, 3, 0, 0, 76, 69, 88, 69, 67, 48, 48, 48, /* 0x1a30 */ + 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 76, 69, 88, /* 0x1a40 */ + 69, 67, 48, 50, 48, 0, 0, 0, 0, 0, 76, 69, 88, 69, 67, 48, /* 0x1a50 */ + 49, 48, 0, 5, 0, 0, 0, 78, 50, 66, 83, 77, 65, 49, 48, 0, /* 0x1a60 */ + 17, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 78, 50, 66, 68, /* 0x1a70 */ + 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, 83, 49, /* 0x1a80 */ + 48, 0, 20, 0, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 78, 50, /* 0x1a90 */ + 66, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 66, 70, 65, /* 0x1aa0 */ + 83, 49, 49, 0, 22, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, /* 0x1ab0 */ + 0, 28, 0, 0, 0, 78, 50, 66, 83, 77, 65, 50, 48, 0, 39, 0, /* 0x1ac0 */ + 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 78, 50, 66, 83, 77, 65, /* 0x1ad0 */ + 49, 48, 0, 2, 0, 0, 0, 78, 50, 66, 70, 65, 83, 50, 48, 0, /* 0x1ae0 */ + 44, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, 0, 78, 50, 66, 70, /* 0x1af0 */ + 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 66, 68, 69, 67, 50, /* 0x1b00 */ + 48, 0, 53, 0, 0, 0, 78, 50, 66, 83, 77, 65, 51, 48, 0, 66, /* 0x1b10 */ + 0, 0, 0, 0, 0, 0, 0, 79, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x1b20 */ + 67, 50, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 51, 48, /* 0x1b30 */ + 0, 79, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 78, 50, 66, /* 0x1b40 */ + 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 94, 0, /* 0x1b50 */ + 0, 0, 78, 50, 66, 68, 69, 67, 50, 48, 0, 0, 0, 0, 0, 78, /* 0x1b60 */ + 50, 66, 68, 69, 67, 51, 48, 0, 94, 0, 0, 0, 0, 0, 0, 0, /* 0x1b70 */ +112, 0, 0, 0, 78, 50, 66, 68, 69, 67, 54, 48, 0, 0, 0, 0, /* 0x1b80 */ + 0, 0, 0, 0, 0,142, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, /* 0x1b90 */ + 48, 0, 0, 0, 0, 0, 78, 50, 66, 83, 77, 65, 52, 48, 0,156, /* 0x1ba0 */ + 0, 0, 0, 0, 0, 0, 0,169, 0, 0, 0, 78, 50, 66, 68, 69, /* 0x1bb0 */ + 67, 51, 48, 0, 49, 0, 0, 0, 78, 50, 66, 70, 65, 83, 52, 48, /* 0x1bc0 */ + 0,169, 0, 0, 0, 0, 0, 0, 0,173, 0, 0, 0, 78, 50, 66, /* 0x1bd0 */ + 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 0, 0, 0, 0,184, 0, /* 0x1be0 */ + 0, 0, 78, 50, 66, 68, 69, 67, 51, 48, 0, 49, 0, 0, 0, 78, /* 0x1bf0 */ + 50, 66, 68, 85, 77, 77, 49, 0,184, 0, 0, 0, 78, 50, 66, 83, /* 0x1c00 */ + 77, 65, 53, 48, 0,184, 0, 0, 0, 78, 50, 66, 70, 65, 83, 53, /* 0x1c10 */ + 48, 0,186, 0, 0, 0, 78, 50, 66, 68, 69, 67, 53, 48, 0,189, /* 0x1c20 */ + 0, 0, 0, 78, 50, 66, 83, 77, 65, 54, 48, 0,198, 0, 0, 0, /* 0x1c30 */ + 0, 0, 0, 0,210, 0, 0, 0, 78, 50, 66, 68, 69, 67, 49, 48, /* 0x1c40 */ + 0, 0, 0, 0, 0, 78, 50, 66, 70, 65, 83, 54, 48, 0,210, 0, /* 0x1c50 */ + 0, 0, 0, 0, 0, 0,221, 0, 0, 0, 78, 50, 66, 70, 65, 83, /* 0x1c60 */ + 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,235, 0, 0, 0, 78, /* 0x1c70 */ + 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 66, 70, /* 0x1c80 */ + 65, 83, 54, 49, 0,235, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, /* 0x1c90 */ + 0, 78, 50, 66, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, /* 0x1ca0 */ + 66, 68, 69, 67, 54, 48, 0, 1, 1, 0, 0, 78, 82, 86, 50, 66, /* 0x1cb0 */ + 69, 78, 68, 0, 1, 1, 0, 0, 78, 50, 68, 83, 77, 65, 49, 48, /* 0x1cc0 */ + 0, 1, 1, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 78, 50, 68, /* 0x1cd0 */ + 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, 65, 83, /* 0x1ce0 */ + 49, 48, 0, 4, 1, 0, 0, 0, 0, 0, 0, 6, 1, 0, 0, 78, /* 0x1cf0 */ + 50, 68, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, 78, 50, 68, 70, /* 0x1d00 */ + 65, 83, 49, 49, 0, 6, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, /* 0x1d10 */ + 48, 0, 12, 1, 0, 0, 78, 50, 68, 83, 77, 65, 50, 48, 0, 23, /* 0x1d20 */ + 1, 0, 0, 0, 0, 0, 0, 25, 1, 0, 0, 78, 50, 68, 83, 77, /* 0x1d30 */ + 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, 68, 70, 65, 83, 50, 48, /* 0x1d40 */ + 0, 28, 1, 0, 0, 0, 0, 0, 0, 32, 1, 0, 0, 78, 50, 68, /* 0x1d50 */ + 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x1d60 */ + 50, 48, 0, 37, 1, 0, 0, 78, 50, 68, 83, 77, 65, 51, 48, 0, /* 0x1d70 */ + 50, 1, 0, 0, 0, 0, 0, 0, 63, 1, 0, 0, 78, 50, 68, 68, /* 0x1d80 */ + 69, 67, 51, 48, 0, 16, 0, 0, 0, 78, 50, 68, 70, 65, 83, 51, /* 0x1d90 */ + 48, 0, 63, 1, 0, 0, 0, 0, 0, 0, 69, 1, 0, 0, 78, 50, /* 0x1da0 */ + 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, 0, 0, 0, 0, 78, /* 0x1db0 */ + 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 16, 0, 0, 0, /* 0x1dc0 */ + 78, 50, 68, 68, 69, 67, 51, 48, 0, 78, 1, 0, 0, 0, 0, 0, /* 0x1dd0 */ + 0, 94, 1, 0, 0, 78, 50, 68, 68, 69, 67, 50, 48, 0, 0, 0, /* 0x1de0 */ + 0, 0, 0, 0, 0, 0,112, 1, 0, 0, 78, 50, 68, 68, 69, 67, /* 0x1df0 */ + 54, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,146, 1, 0, 0, 78, /* 0x1e00 */ + 50, 68, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 78, 50, 68, 83, /* 0x1e10 */ + 77, 65, 52, 48, 0,160, 1, 0, 0, 0, 0, 0, 0,173, 1, 0, /* 0x1e20 */ + 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, 78, 50, /* 0x1e30 */ + 68, 70, 65, 83, 52, 48, 0,173, 1, 0, 0, 0, 0, 0, 0,177, /* 0x1e40 */ + 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, 0, 69, 0, 0, 0, /* 0x1e50 */ + 0, 0, 0, 0,188, 1, 0, 0, 78, 50, 68, 68, 69, 67, 51, 48, /* 0x1e60 */ + 0, 69, 0, 0, 0, 78, 50, 68, 68, 85, 77, 77, 49, 0,188, 1, /* 0x1e70 */ + 0, 0, 78, 50, 68, 83, 77, 65, 53, 48, 0,188, 1, 0, 0, 78, /* 0x1e80 */ + 50, 68, 70, 65, 83, 53, 48, 0,190, 1, 0, 0, 78, 50, 68, 68, /* 0x1e90 */ + 69, 67, 53, 48, 0,193, 1, 0, 0, 78, 50, 68, 83, 77, 65, 54, /* 0x1ea0 */ + 48, 0,202, 1, 0, 0, 0, 0, 0, 0,214, 1, 0, 0, 78, 50, /* 0x1eb0 */ + 68, 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 68, 70, 65, /* 0x1ec0 */ + 83, 54, 48, 0,214, 1, 0, 0, 0, 0, 0, 0,225, 1, 0, 0, /* 0x1ed0 */ + 78, 50, 68, 70, 65, 83, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x1ee0 */ + 0,239, 1, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, 0, 0, /* 0x1ef0 */ + 0, 0, 78, 50, 68, 70, 65, 83, 54, 49, 0,239, 1, 0, 0, 0, /* 0x1f00 */ + 0, 0, 0, 5, 2, 0, 0, 78, 50, 68, 68, 69, 67, 49, 48, 0, /* 0x1f10 */ + 0, 0, 0, 0, 78, 50, 68, 68, 69, 67, 54, 48, 0, 5, 2, 0, /* 0x1f20 */ + 0, 78, 82, 86, 50, 68, 69, 78, 68, 0, 5, 2, 0, 0, 78, 50, /* 0x1f30 */ + 69, 83, 77, 65, 49, 48, 0, 5, 2, 0, 0, 0, 0, 0, 0, 7, /* 0x1f40 */ + 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, 0, 0, /* 0x1f50 */ + 78, 50, 69, 70, 65, 83, 49, 48, 0, 8, 2, 0, 0, 0, 0, 0, /* 0x1f60 */ + 0, 10, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 4, 0, /* 0x1f70 */ + 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 10, 2, 0, 0, 78, /* 0x1f80 */ + 50, 69, 68, 69, 67, 49, 48, 0, 16, 2, 0, 0, 78, 50, 69, 83, /* 0x1f90 */ + 77, 65, 50, 48, 0, 27, 2, 0, 0, 0, 0, 0, 0, 29, 2, 0, /* 0x1fa0 */ + 0, 78, 50, 69, 83, 77, 65, 49, 48, 0, 2, 0, 0, 0, 78, 50, /* 0x1fb0 */ + 69, 70, 65, 83, 50, 48, 0, 32, 2, 0, 0, 0, 0, 0, 0, 36, /* 0x1fc0 */ + 2, 0, 0, 78, 50, 69, 70, 65, 83, 49, 49, 0, 0, 0, 0, 0, /* 0x1fd0 */ + 78, 50, 69, 68, 69, 67, 50, 48, 0, 41, 2, 0, 0, 78, 50, 69, /* 0x1fe0 */ + 83, 77, 65, 51, 48, 0, 54, 2, 0, 0, 0, 0, 0, 0, 67, 2, /* 0x1ff0 */ + 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, 0, 78, /* 0x2000 */ + 50, 69, 70, 65, 83, 51, 48, 0, 67, 2, 0, 0, 0, 0, 0, 0, /* 0x2010 */ + 73, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 31, 0, 0, /* 0x2020 */ + 0, 0, 0, 0, 0, 82, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x2030 */ + 48, 0, 31, 0, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, 82, /* 0x2040 */ + 2, 0, 0, 0, 0, 0, 0, 98, 2, 0, 0, 78, 50, 69, 68, 69, /* 0x2050 */ + 67, 50, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0,113, 2, 0, 0, /* 0x2060 */ + 78, 50, 69, 68, 69, 67, 53, 48, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x2070 */ + 0,131, 2, 0, 0, 78, 50, 69, 68, 69, 67, 54, 48, 0, 0, 0, /* 0x2080 */ + 0, 0, 78, 50, 69, 83, 77, 65, 52, 48, 0,177, 2, 0, 0, 0, /* 0x2090 */ + 0, 0, 0,190, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, 48, 0, /* 0x20a0 */ + 82, 0, 0, 0, 78, 50, 69, 70, 65, 83, 52, 48, 0,190, 2, 0, /* 0x20b0 */ + 0, 0, 0, 0, 0,194, 2, 0, 0, 78, 50, 69, 68, 69, 67, 51, /* 0x20c0 */ + 48, 0, 82, 0, 0, 0, 0, 0, 0, 0,205, 2, 0, 0, 78, 50, /* 0x20d0 */ + 69, 68, 69, 67, 51, 48, 0, 82, 0, 0, 0, 78, 50, 69, 68, 85, /* 0x20e0 */ + 77, 77, 49, 0,205, 2, 0, 0, 78, 50, 69, 83, 77, 65, 53, 48, /* 0x20f0 */ + 0,205, 2, 0, 0, 78, 50, 69, 70, 65, 83, 53, 48, 0,207, 2, /* 0x2100 */ + 0, 0, 78, 50, 69, 68, 69, 67, 53, 48, 0,210, 2, 0, 0, 78, /* 0x2110 */ + 50, 69, 83, 77, 65, 54, 48, 0,219, 2, 0, 0, 0, 0, 0, 0, /* 0x2120 */ +231, 2, 0, 0, 78, 50, 69, 68, 69, 67, 49, 48, 0, 0, 0, 0, /* 0x2130 */ + 0, 78, 50, 69, 70, 65, 83, 54, 48, 0,231, 2, 0, 0, 0, 0, /* 0x2140 */ + 0, 0,242, 2, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, 0, 0, /* 0x2150 */ + 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 78, 50, 69, 68, 69, /* 0x2160 */ + 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 70, 65, 83, 54, 49, /* 0x2170 */ + 0, 0, 3, 0, 0, 0, 0, 0, 0, 22, 3, 0, 0, 78, 50, 69, /* 0x2180 */ + 68, 69, 67, 49, 48, 0, 0, 0, 0, 0, 78, 50, 69, 68, 69, 67, /* 0x2190 */ + 54, 48, 0, 22, 3, 0, 0, 78, 82, 86, 50, 69, 69, 78, 68, 0, /* 0x21a0 */ + 22, 3, 0, 0, 67, 76, 49, 83, 77, 65, 49, 66, 0, 22, 3, 0, /* 0x21b0 */ + 0, 67, 76, 49, 70, 65, 83, 49, 66, 0, 24, 3, 0, 0, 67, 76, /* 0x21c0 */ + 49, 71, 69, 84, 49, 66, 0, 30, 3, 0, 0, 67, 76, 49, 69, 78, /* 0x21d0 */ + 84, 69, 82, 0, 30, 3, 0, 0, 0, 0, 0, 0, 36, 3, 0, 0, /* 0x21e0 */ + 67, 76, 49, 83, 84, 65, 82, 84, 0, 0, 0, 0, 0, 67, 76, 49, /* 0x21f0 */ + 83, 77, 65, 49, 48, 0, 36, 3, 0, 0, 0, 0, 0, 0, 40, 3, /* 0x2200 */ + 0, 0, 67, 76, 49, 82, 76, 79, 65, 68, 0, 0, 0, 0, 0, 67, /* 0x2210 */ + 76, 49, 82, 76, 79, 65, 68, 0, 41, 3, 0, 0, 67, 76, 49, 87, /* 0x2220 */ + 73, 68, 48, 49, 0, 49, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, /* 0x2230 */ + 50, 0, 51, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 51, 0, 53, /* 0x2240 */ + 3, 0, 0, 0, 0, 0, 0, 55, 3, 0, 0, 67, 76, 49, 87, 73, /* 0x2250 */ + 68, 49, 48, 0, 12, 0, 0, 0, 67, 76, 49, 87, 73, 68, 48, 52, /* 0x2260 */ + 0, 55, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 53, 0, 57, 3, /* 0x2270 */ + 0, 0, 0, 0, 0, 0, 59, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x2280 */ + 49, 48, 0, 7, 0, 0, 0, 67, 76, 49, 87, 73, 68, 48, 54, 0, /* 0x2290 */ + 59, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 55, 0, 61, 3, 0, /* 0x22a0 */ + 0, 67, 76, 49, 87, 73, 68, 48, 56, 0, 64, 3, 0, 0, 0, 0, /* 0x22b0 */ + 0, 0, 71, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 54, 0, 2, /* 0x22c0 */ + 0, 0, 0, 0, 0, 0, 0, 81, 3, 0, 0, 67, 76, 49, 87, 73, /* 0x22d0 */ + 68, 49, 48, 0, 15, 0, 0, 0, 0, 0, 0, 0, 90, 3, 0, 0, /* 0x22e0 */ + 67, 76, 49, 67, 79, 80, 89, 48, 0, 18, 0, 0, 0, 67, 76, 49, /* 0x22f0 */ + 87, 73, 68, 48, 57, 0, 90, 3, 0, 0, 67, 76, 49, 87, 73, 68, /* 0x2300 */ + 49, 48, 0, 92, 3, 0, 0, 0, 0, 0, 0, 99, 3, 0, 0, 67, /* 0x2310 */ + 76, 49, 84, 79, 80, 48, 55, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x2320 */ +103, 3, 0, 0, 67, 76, 49, 87, 73, 68, 48, 56, 0, 26, 0, 0, /* 0x2330 */ + 0, 0, 0, 0, 0,109, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, /* 0x2340 */ + 55, 0, 2, 0, 0, 0, 67, 76, 49, 83, 84, 65, 82, 84, 0,109, /* 0x2350 */ + 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 48, 0,114, 3, 0, 0, /* 0x2360 */ + 67, 76, 49, 84, 79, 80, 48, 49, 0,117, 3, 0, 0, 0, 0, 0, /* 0x2370 */ + 0,119, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 55, 0, 23, 0, /* 0x2380 */ + 0, 0, 67, 76, 49, 84, 79, 80, 48, 50, 0,119, 3, 0, 0, 0, /* 0x2390 */ + 0, 0, 0,121, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, 55, 0, /* 0x23a0 */ + 22, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 51, 0,121, 3, 0, /* 0x23b0 */ + 0, 0, 0, 0, 0,123, 3, 0, 0, 67, 76, 49, 84, 79, 80, 48, /* 0x23c0 */ + 55, 0, 21, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 52, 0,123, /* 0x23d0 */ + 3, 0, 0, 0, 0, 0, 0,125, 3, 0, 0, 67, 76, 49, 84, 79, /* 0x23e0 */ + 80, 48, 55, 0, 20, 0, 0, 0, 67, 76, 49, 84, 79, 80, 48, 53, /* 0x23f0 */ + 0,128, 3, 0, 0, 0, 0, 0, 0,130, 3, 0, 0, 67, 76, 49, /* 0x2400 */ + 84, 79, 80, 48, 54, 0, 7, 0, 0, 0, 67, 76, 49, 84, 79, 80, /* 0x2410 */ + 48, 54, 0,131, 3, 0, 0, 0, 0, 0, 0,138, 3, 0, 0, 67, /* 0x2420 */ + 76, 49, 87, 73, 68, 48, 49, 0, 0, 0, 0, 0, 67, 76, 49, 84, /* 0x2430 */ + 79, 80, 48, 55, 0,138, 3, 0, 0, 67, 76, 49, 79, 70, 70, 48, /* 0x2440 */ + 49, 0,161, 3, 0, 0, 67, 76, 49, 79, 70, 70, 48, 50, 0,163, /* 0x2450 */ + 3, 0, 0, 0, 0, 0, 0,165, 3, 0, 0, 67, 76, 49, 84, 79, /* 0x2460 */ + 80, 48, 55, 0, 23, 0, 0, 0, 0, 0, 0, 0,179, 3, 0, 0, /* 0x2470 */ + 67, 76, 49, 67, 79, 80, 89, 48, 0, 51, 0, 0, 0, 67, 76, 49, /* 0x2480 */ + 79, 70, 70, 48, 51, 0,181, 3, 0, 0, 67, 76, 49, 79, 70, 70, /* 0x2490 */ + 48, 52, 0,183, 3, 0, 0, 0, 0, 0, 0,187, 3, 0, 0, 67, /* 0x24a0 */ + 76, 49, 67, 79, 80, 89, 48, 0, 0, 0, 0, 0, 67, 76, 49, 76, /* 0x24b0 */ + 69, 78, 48, 48, 0,187, 3, 0, 0, 67, 76, 49, 76, 69, 78, 48, /* 0x24c0 */ + 49, 0,188, 3, 0, 0, 67, 76, 49, 76, 69, 78, 48, 50, 0,190, /* 0x24d0 */ + 3, 0, 0, 0, 0, 0, 0,192, 3, 0, 0, 67, 76, 49, 76, 69, /* 0x24e0 */ + 78, 48, 48, 0, 1, 0, 0, 0, 67, 76, 49, 67, 79, 80, 89, 48, /* 0x24f0 */ + 0,195, 3, 0, 0, 0, 0, 0, 0,232, 3, 0, 0, 67, 76, 49, /* 0x2500 */ + 84, 79, 80, 48, 48, 0, 0, 0, 0, 0, 67, 76, 49, 69, 78, 68, /* 0x2510 */ + 0,246, 3, 0, 0, 76, 90, 77, 65, 95, 68, 69, 67, 48, 48, 0, /* 0x2520 */ +246, 3, 0, 0, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 0, 35, /* 0x2530 */ + 4, 0, 0, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 0,109, 4, /* 0x2540 */ + 0, 0, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 0,243, 14, 0, /* 0x2550 */ + 0, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 0,121, 25, 0, 0, /* 0x2560 */ + 67, 65, 76, 76, 84, 82, 48, 48, 0,147, 25, 0, 0, 67, 84, 67, /* 0x2570 */ + 76, 69, 86, 69, 49, 0,161, 25, 0, 0, 0, 0, 0, 0,166, 25, /* 0x2580 */ + 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 5, 0, 0, 0, 67, /* 0x2590 */ + 65, 76, 76, 84, 82, 48, 49, 0,166, 25, 0, 0, 67, 84, 68, 85, /* 0x25a0 */ + 77, 77, 89, 49, 0,171, 25, 0, 0, 67, 84, 66, 83, 72, 82, 48, /* 0x25b0 */ + 49, 0,171, 25, 0, 0, 67, 84, 66, 82, 79, 82, 48, 49, 0,175, /* 0x25c0 */ + 25, 0, 0, 67, 84, 66, 83, 87, 65, 48, 49, 0,177, 25, 0, 0, /* 0x25d0 */ + 67, 65, 76, 76, 84, 82, 48, 50, 0,182, 25, 0, 0, 0, 0, 0, /* 0x25e0 */ + 0,196, 25, 0, 0, 67, 65, 76, 76, 84, 82, 48, 48, 0, 10, 0, /* 0x25f0 */ + 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0,196, 25, 0, 0, 67, /* 0x2600 */ + 65, 76, 76, 84, 82, 69, 56, 0,201, 25, 0, 0, 67, 65, 76, 76, /* 0x2610 */ + 84, 82, 69, 57, 0,203, 25, 0, 0, 67, 65, 76, 76, 84, 82, 49, /* 0x2620 */ + 49, 0,205, 25, 0, 0, 0, 0, 0, 0,209, 25, 0, 0, 67, 65, /* 0x2630 */ + 76, 76, 84, 82, 49, 51, 0, 5, 0, 0, 0, 67, 84, 67, 76, 69, /* 0x2640 */ + 86, 69, 50, 0,209, 25, 0, 0, 0, 0, 0, 0,214, 25, 0, 0, /* 0x2650 */ + 67, 65, 76, 76, 84, 82, 49, 49, 0, 0, 0, 0, 0, 67, 65, 76, /* 0x2660 */ + 76, 84, 82, 49, 50, 0,214, 25, 0, 0, 67, 84, 68, 85, 77, 77, /* 0x2670 */ + 89, 50, 0,216, 25, 0, 0, 67, 84, 66, 83, 72, 82, 49, 49, 0, /* 0x2680 */ +216, 25, 0, 0, 67, 84, 66, 82, 79, 82, 49, 49, 0,220, 25, 0, /* 0x2690 */ + 0, 67, 84, 66, 83, 87, 65, 49, 49, 0,222, 25, 0, 0, 67, 65, /* 0x26a0 */ + 76, 76, 84, 82, 49, 51, 0,227, 25, 0, 0, 0, 0, 0, 0,232, /* 0x26b0 */ + 25, 0, 0, 67, 65, 76, 76, 84, 82, 49, 48, 0, 5, 0, 0, 0, /* 0x26c0 */ + 67, 84, 84, 72, 69, 69, 78, 68, 0,232, 25, 0, 0, 76, 69, 88, /* 0x26d0 */ + 69, 67, 48, 49, 53, 0,232, 25, 0, 0, 76, 69, 88, 69, 67, 48, /* 0x26e0 */ + 49, 55, 0, 3, 26, 0, 0, 76, 69, 88, 69, 67, 48, 50, 48, 0, /* 0x26f0 */ + 5, 26, 0, 0, 88, 84, 72, 69, 69, 78, 68, 88, 0, 54, 26, 0, /* 0x2700 */ + 0,255,255,255,255, 54, 26 /* 0x2710 */ }; diff --git a/src/stub/i386-linux.elf.shell-fold.h b/src/stub/i386-linux.elf.shell-fold.h index c31294e4..563e50b8 100644 --- a/src/stub/i386-linux.elf.shell-fold.h +++ b/src/stub/i386-linux.elf.shell-fold.h @@ -1,4 +1,4 @@ -/* i386-linux.elf.shell-fold.h -- created from i386-linux.elf.shell-fold.bin, 1202 (0x4b2) bytes +/* i386-linux.elf.shell-fold.h -- created from i386-linux.elf.shell-fold.bin, 1194 (0x4aa) bytes This file is part of the UPX executable compressor. @@ -27,85 +27,84 @@ */ -#define LINUX_I386SH_FOLD_SIZE 1202 -#define LINUX_I386SH_FOLD_ADLER32 0x7cdbf9fd -#define LINUX_I386SH_FOLD_CRC32 0xb137b390 +#define LINUX_I386SH_FOLD_SIZE 1194 +#define LINUX_I386SH_FOLD_ADLER32 0x3026f84c +#define LINUX_I386SH_FOLD_CRC32 0xde3254db -unsigned char linux_i386sh_fold[1202] = { +unsigned char linux_i386sh_fold[1194] = { 127, 69, 76, 70, 1, 1, 1, 0, 76,105,110,117,120, 0, 0, 0, /* 0x 0 */ 2, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, /* 0x 10 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 1, 0, 0, 0, /* 0x 20 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 1, /* 0x 30 */ - 0, 0, 64, 1,178, 4, 0, 0,180, 4, 0, 0, 7, 0, 0, 0, /* 0x 40 */ + 0, 0, 64, 1,170, 4, 0, 0,172, 4, 0, 0, 7, 0, 0, 0, /* 0x 40 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 50 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 60 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x 70 */ - 88, 88,137,230,129,236, 80, 1, 0, 0,137,231,173,171,133,192, /* 0x 80 */ -117,250,173,171,133,192,117,250, 87, 64,106, 82, 89,243,171, 72, /* 0x 90 */ -171,171, 95,173,133,192,145,173,116, 15,131,249, 42,115,244,137, /* 0x a0 */ - 76,207,248,137, 68,207,252,235,234,129,236, 0, 10, 0, 0,147, /* 0x b0 */ -141, 82, 24,139, 10,139, 90, 4,137,198, 96,232,126, 2, 0, 0, /* 0x c0 */ - 89, 80, 97,129,196, 0, 10, 0, 0, 89, 90, 82, 65, 86,131,238, /* 0x d0 */ - 3,102,199, 6, 45, 99, 65, 86, 65, 82, 81, 87,141,188, 36, 0, /* 0x e0 */ -245,255,255, 96,137,227,137,252,185,192, 2, 0, 0, 49,192,243, /* 0x f0 */ -171,137,220, 97,195, 83,141, 92, 36, 8,106, 90, 88,205,128, 91, /* 0x 100 */ -195, 0, 0, 0, 87, 86, 83,137,195,139,124, 36, 16, 57, 56,139, /* 0x 110 */ -112, 4,115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,255, /* 0x 120 */ -116, 10,137,249,138, 6, 70,136, 2, 66,226,248, 1,123, 4, 41, /* 0x 130 */ - 59, 91, 94, 95,195,133,210,137,209,116, 6,198, 0, 0, 64,226, /* 0x 140 */ -250,195, 85, 49,201,137,229, 87, 86, 83,137,195,131,236, 52,137, /* 0x 150 */ - 85,240,139, 69, 8,137,202,137, 69,236,106, 5, 88,205,128,133, /* 0x 160 */ -192,137, 69,232,121, 10,106,127, 91,106, 1, 88,205,128,235,254, /* 0x 170 */ -186, 0, 2, 0, 0,139, 93,232,139, 77,240,106, 3, 88,205,128, /* 0x 180 */ - 61, 0, 2, 0, 0,117,223,139, 69,240,139, 85,240, 3, 64, 28, /* 0x 190 */ - 15,183, 90, 44,137, 69,228, 49,192,102,131,122, 16, 3,139, 77, /* 0x 1a0 */ -228, 15,149,192,131,207,255,193,224, 4,131,192, 34, 49,210,137, /* 0x 1b0 */ - 69,212,137,216, 72,120, 33,137,222,131, 57, 1,117, 20,139, 65, /* 0x 1c0 */ - 8, 57,248,115, 2,137,199,139, 89, 20, 1,195, 57,218,115, 2, /* 0x 1d0 */ -137,218,131,193, 32, 78,117,225,246, 69,212, 16,116, 7,137,211, /* 0x 1e0 */ -106, 45, 88,205,128,137,251,106, 0,129,227, 0,240,255,255,106, /* 0x 1f0 */ -255, 41,218,255,117,212,141,130,255, 15, 0, 0,106, 7, 37, 0, /* 0x 200 */ -240,255,255, 80, 83,232,235,254,255,255,131,196, 24, 41,216,199, /* 0x 210 */ - 69,220, 0, 0, 0, 0,137, 69,224,139, 69,240,102,131,120, 44, /* 0x 220 */ - 0, 15,132,247, 0, 0, 0,139, 85,228,139, 2,131,248, 6,117, /* 0x 230 */ - 14,139, 66, 8,139, 77,236,137, 65, 20,233,200, 0, 0, 0, 72, /* 0x 240 */ - 15,133,193, 0, 0, 0,139, 93,228,199, 69,216, 64, 98, 81,115, /* 0x 250 */ -139, 75, 24,139, 67, 8,131,225, 7,193,225, 2,137,194,211,109, /* 0x 260 */ -216,139, 77,228, 3, 83, 20,137,195,139,121, 16,129,227,255, 15, /* 0x 270 */ - 0, 0,139, 77,224, 41,216, 1,223,131,101,216, 7, 1,202,141, /* 0x 280 */ - 52, 8,137, 85,204,139, 85,228,139, 66, 4, 41,216, 80,255,117, /* 0x 290 */ -232,106, 18,106, 3, 87, 86,232, 89,254,255,255,131,196, 24, 57, /* 0x 2a0 */ -198,117, 48,137,218,137,240,232,137,254,255,255,137,249,247,217, /* 0x 2b0 */ -141, 4, 62,129,225,255, 15, 0, 0,137,243,137,202,137, 77,208, /* 0x 2c0 */ -232,112,254,255,255,137,249,139, 85,216,106,125, 88,205,128,133, /* 0x 2d0 */ -192,116, 10,106,127, 91,106, 1, 88,205,128,235,254,139, 85,208, /* 0x 2e0 */ -141, 4, 23,141, 28, 6, 59, 93,204,115, 28,106, 0,106,255,106, /* 0x 2f0 */ - 50,255,117,216, 41, 93,204,255,117,204, 83,232,245,253,255,255, /* 0x 300 */ -131,196, 24, 57,195,117,204,139, 77,240,255, 69,220, 15,183, 65, /* 0x 310 */ - 44,131, 69,228, 32, 57, 69,220, 15,140, 9,255,255,255,139, 93, /* 0x 320 */ -232,106, 6, 88,205,128,133,192,117,169,139, 69,240,139, 64, 24, /* 0x 330 */ - 1, 69,224,139, 69,224,141,101,244, 91, 94, 95,201,195, 85,137, /* 0x 340 */ -229, 87, 86, 83,131,236, 36,141,117, 32,139, 69, 16,141, 93, 24, /* 0x 350 */ -139, 85, 20,137, 69,212,139, 69, 36,139,125, 8,137, 85,208, 5, /* 0x 360 */ - 85, 80, 88, 50,137, 69,240,139, 69,240, 5, 85, 80, 88, 51,131, /* 0x 370 */ -125, 32, 0,137, 69,236, 15,132,140, 0, 0, 0,141, 85,220,137, /* 0x 380 */ -216,106, 12,232,124,253,255,255, 88,139, 69,220,139, 77,224,133, /* 0x 390 */ -192,117, 15,129,249, 85, 80, 88, 33,117, 11,131, 59, 0,116,104, /* 0x 3a0 */ -235, 4,133,201,117, 10,106,127, 91,106, 1, 88,205,128,235,254, /* 0x 3b0 */ - 57,193,119,242, 59, 6,119,238, 57,193,115, 45,137, 69,216,141, /* 0x 3c0 */ - 69,216,255,117,228, 80,255,118, 4, 81,255,115, 4,255, 85,212, /* 0x 3d0 */ -131,196, 20,133,192,117,207,139, 69,220, 57, 69,216,117,199,139, /* 0x 3e0 */ - 69,224, 1, 67, 4, 41, 3,235, 12,139, 86, 4,137,216, 81,232, /* 0x 3f0 */ - 16,253,255,255, 88,139, 85,220,139, 6, 1, 86, 4, 41,208,133, /* 0x 400 */ -192,137, 6,233,110,255,255,255,139, 69,236,139, 85,208,138, 24, /* 0x 410 */ -139, 69,236,198, 0, 0,139, 69,240, 87,232, 35,253,255,255,139, /* 0x 420 */ - 85,208,137,198,139, 69,236,136, 24, 15,183, 66, 42,199, 71, 16, /* 0x 430 */ - 3, 0, 0, 0,199, 71, 24, 4, 0, 0, 0,199, 71, 32, 5, 0, /* 0x 440 */ - 0, 0,137, 71, 28, 15,183, 66, 44,199, 71, 44, 0, 16, 0, 0, /* 0x 450 */ -137,119, 68,131,194, 52,199, 71, 40, 6, 0, 0, 0,137, 71, 36, /* 0x 460 */ -139, 69,208,199, 71, 64, 9, 0, 0, 0,102,139, 88, 44, 89, 49, /* 0x 470 */ -201,102,133,219,116, 34,131, 58, 3,117, 18,139, 66, 8,106, 0, /* 0x 480 */ -139, 85,208,232,186,252,255,255,137,198, 88,235, 11, 65, 15,183, /* 0x 490 */ -195,131,194, 32, 57,193,124,222,141,101,244,137,240, 91, 94, 95, /* 0x 4a0 */ -201,195 /* 0x 4b0 */ +137,230,129,236, 80, 1, 0, 0,137,231,173,171,133,192,117,250, /* 0x 80 */ +173,171,133,192,117,250, 87, 64,106, 82, 89,243,171, 72,171,171, /* 0x 90 */ + 95,173,133,192,145,173,116, 15,131,249, 42,115,244,137, 76,207, /* 0x a0 */ +248,137, 68,207,252,235,234,129,236, 0, 10, 0, 0,147,139, 10, /* 0x b0 */ +139, 90, 4,137,198, 96,232,123, 2, 0, 0, 89, 80, 97,129,196, /* 0x c0 */ + 0, 10, 0, 0, 89, 90, 82, 65, 86,131,238, 3,102,199, 6, 45, /* 0x d0 */ + 99, 65, 86, 65, 82, 81, 87,141,188, 36, 0,245,255,255, 96,137, /* 0x e0 */ +227,137,252,185,192, 2, 0, 0, 49,192,243,171,137,220, 97,195, /* 0x f0 */ + 83,141, 92, 36, 8,106, 90, 88,205,128, 91,195, 87, 86, 83,137, /* 0x 100 */ +195,139,124, 36, 16, 57, 56,139,112, 4,115, 10,106,127, 91,106, /* 0x 110 */ + 1, 88,205,128,235,254,133,255,116, 10,137,249,138, 6, 70,136, /* 0x 120 */ + 2, 66,226,248, 1,123, 4, 41, 59, 91, 94, 95,195,133,210,137, /* 0x 130 */ +209,116, 6,198, 0, 0, 64,226,250,195, 85, 49,201,137,229, 87, /* 0x 140 */ + 86, 83,137,195,131,236, 52,137, 85,240,139, 69, 8,137,202,137, /* 0x 150 */ + 69,236,106, 5, 88,205,128,133,192,137, 69,232,121, 10,106,127, /* 0x 160 */ + 91,106, 1, 88,205,128,235,254,186, 0, 2, 0, 0,139, 93,232, /* 0x 170 */ +139, 77,240,106, 3, 88,205,128, 61, 0, 2, 0, 0,117,223,139, /* 0x 180 */ + 69,240,139, 85,240, 3, 64, 28, 15,183, 90, 44,137, 69,228, 49, /* 0x 190 */ +192,102,131,122, 16, 3,139, 77,228, 15,149,192,131,207,255,193, /* 0x 1a0 */ +224, 4,131,192, 34, 49,210,137, 69,212,137,216, 72,120, 33,137, /* 0x 1b0 */ +222,131, 57, 1,117, 20,139, 65, 8, 57,248,115, 2,137,199,139, /* 0x 1c0 */ + 89, 20, 1,195, 57,218,115, 2,137,218,131,193, 32, 78,117,225, /* 0x 1d0 */ +246, 69,212, 16,116, 7,137,211,106, 45, 88,205,128,137,251,106, /* 0x 1e0 */ + 0,129,227, 0,240,255,255,106,255, 41,218,255,117,212,141,130, /* 0x 1f0 */ +255, 15, 0, 0,106, 7, 37, 0,240,255,255, 80, 83,232,238,254, /* 0x 200 */ +255,255,131,196, 24, 41,216,199, 69,220, 0, 0, 0, 0,137, 69, /* 0x 210 */ +224,139, 69,240,102,131,120, 44, 0, 15,132,247, 0, 0, 0,139, /* 0x 220 */ + 85,228,139, 2,131,248, 6,117, 14,139, 66, 8,139, 77,236,137, /* 0x 230 */ + 65, 20,233,200, 0, 0, 0, 72, 15,133,193, 0, 0, 0,139, 93, /* 0x 240 */ +228,199, 69,216, 64, 98, 81,115,139, 75, 24,139, 67, 8,131,225, /* 0x 250 */ + 7,193,225, 2,137,194,211,109,216,139, 77,228, 3, 83, 20,137, /* 0x 260 */ +195,139,121, 16,129,227,255, 15, 0, 0,139, 77,224, 41,216, 1, /* 0x 270 */ +223,131,101,216, 7, 1,202,141, 52, 8,137, 85,204,139, 85,228, /* 0x 280 */ +139, 66, 4, 41,216, 80,255,117,232,106, 18,106, 3, 87, 86,232, /* 0x 290 */ + 92,254,255,255,131,196, 24, 57,198,117, 48,137,218,137,240,232, /* 0x 2a0 */ +137,254,255,255,137,249,247,217,141, 4, 62,129,225,255, 15, 0, /* 0x 2b0 */ + 0,137,243,137,202,137, 77,208,232,112,254,255,255,137,249,139, /* 0x 2c0 */ + 85,216,106,125, 88,205,128,133,192,116, 10,106,127, 91,106, 1, /* 0x 2d0 */ + 88,205,128,235,254,139, 85,208,141, 4, 23,141, 28, 6, 59, 93, /* 0x 2e0 */ +204,115, 28,106, 0,106,255,106, 50,255,117,216, 41, 93,204,255, /* 0x 2f0 */ +117,204, 83,232,248,253,255,255,131,196, 24, 57,195,117,204,139, /* 0x 300 */ + 77,240,255, 69,220, 15,183, 65, 44,131, 69,228, 32, 57, 69,220, /* 0x 310 */ + 15,140, 9,255,255,255,139, 93,232,106, 6, 88,205,128,133,192, /* 0x 320 */ +117,169,139, 69,240,139, 64, 24, 1, 69,224,139, 69,224,141,101, /* 0x 330 */ +244, 91, 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 36,141, /* 0x 340 */ +117, 32,139, 69, 16,141, 93, 24,139, 85, 20,137, 69,212,139, 69, /* 0x 350 */ + 36,139,125, 8,137, 85,208, 5, 85, 80, 88, 50,137, 69,240,139, /* 0x 360 */ + 69,240, 5, 85, 80, 88, 51,131,125, 32, 0,137, 69,236, 15,132, /* 0x 370 */ +140, 0, 0, 0,141, 85,220,137,216,106, 12,232,124,253,255,255, /* 0x 380 */ + 88,139, 69,220,139, 77,224,133,192,117, 15,129,249, 85, 80, 88, /* 0x 390 */ + 33,117, 11,131, 59, 0,116,104,235, 4,133,201,117, 10,106,127, /* 0x 3a0 */ + 91,106, 1, 88,205,128,235,254, 57,193,119,242, 59, 6,119,238, /* 0x 3b0 */ + 57,193,115, 45,137, 69,216,141, 69,216,255,117,228, 80,255,118, /* 0x 3c0 */ + 4, 81,255,115, 4,255, 85,212,131,196, 20,133,192,117,207,139, /* 0x 3d0 */ + 69,220, 57, 69,216,117,199,139, 69,224, 1, 67, 4, 41, 3,235, /* 0x 3e0 */ + 12,139, 86, 4,137,216, 81,232, 16,253,255,255, 88,139, 85,220, /* 0x 3f0 */ +139, 6, 1, 86, 4, 41,208,133,192,137, 6,233,110,255,255,255, /* 0x 400 */ +139, 69,236,139, 85,208,138, 24,139, 69,236,198, 0, 0,139, 69, /* 0x 410 */ +240, 87,232, 35,253,255,255,139, 85,208,137,198,139, 69,236,136, /* 0x 420 */ + 24, 15,183, 66, 42,199, 71, 16, 3, 0, 0, 0,199, 71, 24, 4, /* 0x 430 */ + 0, 0, 0,199, 71, 32, 5, 0, 0, 0,137, 71, 28, 15,183, 66, /* 0x 440 */ + 44,199, 71, 44, 0, 16, 0, 0,137,119, 68,131,194, 52,199, 71, /* 0x 450 */ + 40, 6, 0, 0, 0,137, 71, 36,139, 69,208,199, 71, 64, 9, 0, /* 0x 460 */ + 0, 0,102,139, 88, 44, 89, 49,201,102,133,219,116, 34,131, 58, /* 0x 470 */ + 3,117, 18,139, 66, 8,106, 0,139, 85,208,232,186,252,255,255, /* 0x 480 */ +137,198, 88,235, 11, 65, 15,183,195,131,194, 32, 57,193,124,222, /* 0x 490 */ +141,101,244,137,240, 91, 94, 95,201,195 /* 0x 4a0 */ };