More Control Flow Integrity (Intel)

More ENDBRxx for CALL *%RDX for 'getbit'.
amd64: LEA xxx(%rip),%reg and STRCON section,
    instead of CALL; .asciz "..."; POP %reg
(Not for PE due to WINDOWS_BACK binary compatibility.)
i386 string constants still use call-.asciz-pop because no (%rip)
	modified:   ../misc/testsuite/upx_testsuite_1-expected_sha256sums.sh
	modified:   p_lx_elf.cpp
	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-main2.c
	modified:   stub/src/amd64-linux.elf-so_entry.S
	modified:   stub/src/amd64-linux.shlib-init.S
	modified:   stub/src/amd64-win64.pe.S
	modified:   stub/src/i386-linux.elf-entry.S
	modified:   stub/src/i386-linux.elf-so_entry.S
	modified:   stub/src/upxfd_android.c
           plus generated *.h *.map *.dump
This commit is contained in:
John Reiser
2024-09-20 13:41:43 -07:00
parent d55fdf2205
commit 3403b87cb7
19 changed files with 2258 additions and 2223 deletions
+247 -247
View File
@@ -1,5 +1,5 @@
/* i386-linux.elf-entry.h
created from i386-linux.elf-entry.bin, 3947 (0xf6b) bytes
created from i386-linux.elf-entry.bin, 3951 (0xf6f) bytes
This file is part of the UPX executable compressor.
@@ -32,256 +32,256 @@
/* clang-format off */
#define STUB_I386_LINUX_ELF_ENTRY_SIZE 3947
#define STUB_I386_LINUX_ELF_ENTRY_ADLER32 0xf459be98
#define STUB_I386_LINUX_ELF_ENTRY_CRC32 0xbb08e4d7
#define STUB_I386_LINUX_ELF_ENTRY_SIZE 3951
#define STUB_I386_LINUX_ELF_ENTRY_ADLER32 0x5efbc0e6
#define STUB_I386_LINUX_ELF_ENTRY_CRC32 0x1a6a2d12
unsigned char stub_i386_linux_elf_entry[3947] = {
unsigned char stub_i386_linux_elf_entry[3951] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0, 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 80, 7, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 8, 0, 5, 0,243, 15, 30,251,232,252,255,255,255, 1,219,116,
/* 0x0040 */ 2,243,195,139, 30,131,238,252, 17,219,195, 94,131,236, 28,141,
/* 0x0050 */ 124, 36, 32,232,198, 1, 0, 0,232,193, 1, 0, 0,139, 7,139,
/* 0x0060 */ 79, 4,131,199, 8,131,248, 6,116, 9,185, 0, 16, 0, 0,133,
/* 0x0070 */ 192,117,234,247,217,137,229,137, 77, 24,141,186,243,255,255,255,
/* 0x0080 */ 139, 15, 41,207,137,125, 8,173, 1,199,137,125, 0, 41,193,137,
/* 0x0090 */ 77, 4,139, 30,141,187, 45, 1, 0, 0,137,125, 16, 41,252,131,
/* 0x00a0 */ 228,248, 87,141,124, 28, 4,137,233, 41,249,176,165,243,170, 95,
/* 0x00b0 */ 141, 67, 20, 1,224,131,224,248, 80,137,193, 41,225,137, 76, 36,
/* 0x00c0 */ 4,139, 77, 24,137, 12, 36,185, 34, 0, 0, 0,137, 76, 36, 8,
/* 0x00d0 */ 49,201, 82, 80,137, 8, 87, 81,232,252,255,255,255,131,196, 12,
/* 0x00e0 */ 169, 0, 8, 0, 0,116, 1,244, 90,137,193,193,232, 12,193,224,
/* 0x00f0 */ 12,137, 69, 12, 41,193,131,233, 1,137, 77, 20,141,124, 36, 12,
/* 0x0100 */ 85,139, 78, 4,141,118, 12, 1,241, 81, 49,219, 49,201,131,205,
/* 0x0110 */ 255,252,168,164,255,210,114,251,141, 65, 1,255,210, 17,192,255,
/* 0x0120 */ 210,115,248,131,232, 3,114, 11,193,224, 8,172,131,240,255,116,
/* 0x0130 */ 45,137,197,141, 65, 1,255,210, 17,201,255,210, 17,201,117, 13,
/* 0x0140 */ 137,193,131,192, 2,255,210, 17,201,255,210,115,248,129,253, 0,
/* 0x0150 */ 243,255,255, 17,193, 86,141, 52, 47,243,164, 94,235,182, 89, 57,
/* 0x0160 */ 206,116, 1,244, 93,139,125, 20,139, 85, 16,137,225,137,251,176,
/* 0x0170 */ 4,232, 40, 0, 0, 0,137,236,106, 0, 87,106, 18,106, 5,255,
/* 0x0180 */ 117, 16,255,117, 12,232,252,255,255,255,131,196, 24,137,251,176,
/* 0x0190 */ 6,232, 8, 0, 0, 0,139, 69, 12,131,192, 12,255,224, 15,182,
/* 0x01a0 */ 192, 80,205,128, 89, 61, 0,240,255,255,114, 1,244,195, 83,141,
/* 0x01b0 */ 92, 36, 8,176, 90,232,228,255,255,255, 91,195, 41,192,195,135,
/* 0x01c0 */ 92, 36, 4,139, 76, 36, 8,106,106, 88,205,128,139, 92, 36, 4,
/* 0x01d0 */ 195, 85,137,229, 83,139, 93, 8,106,122, 88,205,128, 91, 93,195,
/* 0x01e0 */ 85,137,229, 83,139, 93, 8,139, 77, 12,255, 53, 39, 0, 0, 0,
/* 0x01f0 */ 88,205,128, 91, 93,195, 85,137,229, 87,139, 77, 16,139, 69, 12,
/* 0x0200 */ 139,125, 8,243,170, 95, 93,195, 85,137,229, 87, 86,139, 77, 16,
/* 0x0210 */ 139,117, 12,139,125, 8,243,164,137,248, 94, 95, 93,195,139, 7,
/* 0x0220 */ 131,199, 4,133,192,117,247,195,204,195, 0, 0, 85,137,229, 86,
/* 0x0230 */ 83,131,236, 72,106, 64,104,255, 0, 0, 0,141,117,184, 86,232,
/* 0x0240 */ 252,255,255,255,131,196, 12,139, 93, 8,137,241,106,106, 88,205,
/* 0x0250 */ 128,137,198,133,192,120, 21, 15,183, 69,192, 37, 0,240, 0, 0,
/* 0x0260 */ 186, 0, 0, 0, 0, 61, 0, 64, 0, 0,116, 44,131,254,254,117,
/* 0x0270 */ 15,185,192, 1, 0, 0,139, 93, 8,106, 39, 88,205,128,137,198,
/* 0x0280 */ 133,246,121, 18,131,125, 12, 0,116, 12, 86,255,117, 8,232,252,
/* 0x0290 */ 255,255,255,131,196, 8,137,242,137,208,141,101,248, 91, 94,201,
/* 0x02a0 */ 195,139, 68, 36, 4,137,194,131,226, 31,131,224, 63,131,250, 26,
/* 0x02b0 */ 118, 12,168, 32,116, 5,131,232, 70,235, 3,131,232, 43,131,192,
/* 0x02c0 */ 64,195, 85,137,229, 87, 86, 83,131,236, 32,232, 12, 0, 0, 0,
/* 0x02d0 */ 47,100, 97,116, 97, 47,100, 97,116, 97, 47, 0, 90,139, 2,139,
/* 0x02e0 */ 77, 8,137, 1,139, 66, 4,137, 65, 4,102,139, 66, 8,102,137,
/* 0x02f0 */ 65, 8,138, 66, 10,136, 65, 10,198, 65, 11, 0,106, 1, 81,232,
/* 0x0300 */ 40,255,255,255,131,196, 8,232, 19, 0, 0, 0, 47,112,114,111,
/* 0x0310 */ 99, 47,115,101,108,102, 47, 99,109,100,108,105,110,101, 0, 91,
/* 0x0320 */ 137, 93,220,185, 0, 0, 0, 0,137,202,106, 5, 88,205,128,137,
/* 0x0330 */ 69,240,139,117, 12,186,255, 15, 0, 0,137,195,137,241,106, 3,
/* 0x0340 */ 88,205,128,137,199,139, 93,240,106, 6, 88,205,128,133,255,121,
/* 0x0350 */ 11,255,117,220,232,252,255,255,255,131,196, 4,198, 4, 62, 0,
/* 0x0360 */ 128, 62, 0,116, 6, 70,128, 62, 0,117,250,137,247,128, 62, 47,
/* 0x0370 */ 116, 6, 78,128, 62, 47,117,250,137,117,224,137,248, 41,240, 80,
/* 0x0380 */ 86,139, 69, 8,131,192, 10, 80,232,252,255,255,255,137,195,198,
/* 0x0390 */ 0, 0,106, 0,255,117, 8,232,144,254,255,255,131,196, 20,131,
/* 0x03a0 */ 248,243,117, 87,232, 17, 0, 0, 0, 99,111,109, 46,116,101,114,
/* 0x03b0 */ 109,117,120, 47,102,105,108,101,115, 0, 90,139, 2,139, 77, 8,
/* 0x03c0 */ 137, 65, 11,139, 66, 4,137, 65, 15,139, 66, 8,137, 65, 19,139,
/* 0x03d0 */ 66, 12,137, 65, 23,137,202,131,194, 27,137,248, 43, 69,224, 80,
/* 0x03e0 */ 255,117,224, 82,232,252,255,255,255,137,195,198, 0, 0,106, 1,
/* 0x03f0 */ 255,117, 8,232, 52,254,255,255,131,196, 20,232, 7, 0, 0, 0,
/* 0x0400 */ 47, 99, 97, 99,104,101, 0, 90,139, 2,137, 3,102,139, 66, 4,
/* 0x0410 */ 102,137, 67, 4,141,115, 6,198, 6, 0,106, 1,255,117, 8,232,
/* 0x0420 */ 8,254,255,255,131,196, 8,232, 5, 0, 0, 0, 47,117,112,120,
/* 0x0430 */ 0, 88,139, 0,137, 6,141,126, 4,106, 20, 88,205,128,137,198,
/* 0x0440 */ 80,232, 91,254,255,255,136, 7,137,240,193,232, 6,137, 4, 36,
/* 0x0450 */ 232, 76,254,255,255,136, 71, 1,137,240,193,232, 12,137, 4, 36,
/* 0x0460 */ 232, 60,254,255,255,131,196, 4,136, 71, 2,198, 71, 3, 0,184,
/* 0x0470 */ 0, 0, 0, 0,141,101,244, 91, 94, 95,201,195, 86, 83,139,116,
/* 0x0480 */ 36, 12,139, 92, 36, 16,139, 76, 36, 20, 73,131,249,255,116, 30,
/* 0x0490 */ 138, 22,131,202, 32, 15,190,210,138, 3,131,200, 32, 15,190,192,
/* 0x04a0 */ 67, 70, 41,194,137,208,117, 11, 73,131,249,255,117,226,184, 0,
/* 0x04b0 */ 0, 0, 0, 91, 94,195, 85,137,229, 87, 86, 83,129,236, 68, 16,
/* 0x04c0 */ 0, 0,186, 0, 0, 0, 0,232, 4, 0, 0, 0,117,112,120, 0,
/* 0x04d0 */ 94,185, 16, 0, 0, 0,184,100, 1, 0, 0,137,243,205,128,137,
/* 0x04e0 */ 199,131,248,234,117, 13,184,100, 1, 0, 0,137,243,137,209,205,
/* 0x04f0 */ 128,137,199,133,255,121, 68,232, 9, 0, 0, 0, 47,100,101,118,
/* 0x0500 */ 47,115,104,109, 0, 95,185, 2, 0, 65, 0,190,192, 1, 0, 0,
/* 0x0510 */ 137,251,137,242,106, 5, 88,205,128,137,199,133,192,121, 28,232,
/* 0x0520 */ 13, 0, 0, 0,109,101,109,102,100, 95, 99,114,101, 97,116,101,
/* 0x0530 */ 0, 88, 80,232,252,255,255,255,131,196, 4,141,181,244,239,255,
/* 0x0540 */ 255,137,243,106,122, 88,205,128,199,133,220,239,255,255, 0, 0,
/* 0x0550 */ 0, 0,232, 4, 0, 0, 0, 97,110,100, 0, 88,106, 3, 86, 80,
/* 0x0560 */ 232, 23,255,255,255,131,196, 12,133,192,116, 45,232, 4, 0, 0,
/* 0x0570 */ 0, 76,105,110, 0, 88,106, 3, 86, 80,232,253,254,255,255,131,
/* 0x0580 */ 196, 12,133,192,117, 19,128,189,118,240,255,255, 52,126, 10,199,
/* 0x0590 */ 133,220,239,255,255, 1, 0, 0, 0,131,189,220,239,255,255, 0,
/* 0x05a0 */ 15,133,128, 0, 0, 0,131,125, 16, 0,117, 28,232,252,255,255,
/* 0x05b0 */ 255,137, 69, 16,133,192,117, 16,141,133,244,239,255,255,137, 69,
/* 0x05c0 */ 16,198,133,244,239,255,255, 0,131,189,220,239,255,255, 0,117,
/* 0x05d0 */ 85,131,255,218,117, 80,131,125, 16, 0,116, 74,139, 85, 16,128,
/* 0x05e0 */ 58, 0,117, 26,141,133,244,247,255,255, 80, 82,232,209,252,255,
/* 0x05f0 */ 255,131,196, 8,137,193,133,192, 15,136, 6, 1, 0, 0,185,194,
/* 0x0600 */ 0, 0, 0,190,192, 1, 0, 0,139, 93, 16,137,242,106, 5, 88,
/* 0x0610 */ 205,128,137,199,137,193,133,192, 15,136,230, 0, 0, 0,139, 93,
/* 0x0620 */ 16,106, 10, 88,205,128,131,125, 12, 0, 15,132,153, 0, 0, 0,
/* 0x0630 */ 131,189,220,239,255,255, 0,116, 22,137,251,139, 77, 12,106, 93,
/* 0x0640 */ 88,205,128,137,193,133,192, 15,136,183, 0, 0, 0,235,122,141,
/* 0x0650 */ 133,244,239,255,255,104, 0, 16, 0, 0,106, 0, 80,232,252,255,
/* 0x0660 */ 255,255,139, 69, 12,137,133,200,239,255,255,131,196, 12,133,192,
/* 0x0670 */ 116, 73,141,181,244,239,255,255,139,149,200,239,255,255,137,149,
/* 0x0680 */ 176,239,255,255,129,250, 0, 16, 0, 0,118, 10,199,133,176,239,
/* 0x0690 */ 255,255, 0, 16, 0, 0,137,251,137,241,139,149,176,239,255,255,
/* 0x06a0 */ 106, 4, 88,205,128, 59,133,176,239,255,255,117, 73,139,133,176,
/* 0x06b0 */ 239,255,255, 41,133,200,239,255,255,117,189,185, 0, 0, 0, 0,
/* 0x06c0 */ 137,251,137,202,106, 19, 88,205,128,106, 0, 87,131,125, 8, 1,
/* 0x06d0 */ 25,192,131,224,240,131,192, 17, 80,106, 3,255,117, 12,255,117,
/* 0x06e0 */ 8,232,252,255,255,255,137,194,131,196, 24,137,193, 61, 0,240,
/* 0x06f0 */ 255,255,119, 16,235, 7,185,228,255,255,255,235, 7,141, 71, 1,
/* 0x0700 */ 137,193, 9,209,137,200,141,101,244, 91, 94, 95,201,195, 90,232,
/* 0x0710 */ 19, 0, 0, 0, 0, 0, 0, 0, 0, 46,115,121,109,116, 97, 98,
/* 0x0720 */ 0, 46,115,116,114,116, 97, 98, 0, 46,115,104,115,116,114,116,
/* 0x0730 */ 97, 98, 0, 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 88, 0,
/* 0x0740 */ 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 90, 0, 0, 0, 0,
/* 0x0020 */ 84, 7, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, 0,
/* 0x0030 */ 8, 0, 5, 0,243, 15, 30,251,232,252,255,255,255,243, 15, 30,
/* 0x0040 */ 251, 1,219,116, 2,243,195,139, 30,131,238,252, 17,219,195, 94,
/* 0x0050 */ 131,236, 28,141,124, 36, 32,232,198, 1, 0, 0,232,193, 1, 0,
/* 0x0060 */ 0,139, 7,139, 79, 4,131,199, 8,131,248, 6,116, 9,185, 0,
/* 0x0070 */ 16, 0, 0,133,192,117,234,247,217,137,229,137, 77, 24,141,186,
/* 0x0080 */ 243,255,255,255,139, 15, 41,207,137,125, 8,173, 1,199,137,125,
/* 0x0090 */ 0, 41,193,137, 77, 4,139, 30,141,187, 45, 1, 0, 0,137,125,
/* 0x00a0 */ 16, 41,252,131,228,248, 87,141,124, 28, 4,137,233, 41,249,176,
/* 0x00b0 */ 165,243,170, 95,141, 67, 20, 1,224,131,224,248, 80,137,193, 41,
/* 0x00c0 */ 225,137, 76, 36, 4,139, 77, 24,137, 12, 36,185, 34, 0, 0, 0,
/* 0x00d0 */ 137, 76, 36, 8, 49,201, 82, 80,137, 8, 87, 81,232,252,255,255,
/* 0x00e0 */ 255,131,196, 12,169, 0, 8, 0, 0,116, 1,244, 90,137,193,193,
/* 0x00f0 */ 232, 12,193,224, 12,137, 69, 12, 41,193,131,233, 1,137, 77, 20,
/* 0x0100 */ 141,124, 36, 12, 85,139, 78, 4,141,118, 12, 1,241, 81, 49,219,
/* 0x0110 */ 49,201,131,205,255,252,168,164,255,210,114,251,141, 65, 1,255,
/* 0x0120 */ 210, 17,192,255,210,115,248,131,232, 3,114, 11,193,224, 8,172,
/* 0x0130 */ 131,240,255,116, 45,137,197,141, 65, 1,255,210, 17,201,255,210,
/* 0x0140 */ 17,201,117, 13,137,193,131,192, 2,255,210, 17,201,255,210,115,
/* 0x0150 */ 248,129,253, 0,243,255,255, 17,193, 86,141, 52, 47,243,164, 94,
/* 0x0160 */ 235,182, 89, 57,206,116, 1,244, 93,139,125, 20,139, 85, 16,137,
/* 0x0170 */ 225,137,251,176, 4,232, 40, 0, 0, 0,137,236,106, 0, 87,106,
/* 0x0180 */ 18,106, 5,255,117, 16,255,117, 12,232,252,255,255,255,131,196,
/* 0x0190 */ 24,137,251,176, 6,232, 8, 0, 0, 0,139, 69, 12,131,192, 12,
/* 0x01a0 */ 255,224, 15,182,192, 80,205,128, 89, 61, 0,240,255,255,114, 1,
/* 0x01b0 */ 244,195, 83,141, 92, 36, 8,176, 90,232,228,255,255,255, 91,195,
/* 0x01c0 */ 41,192,195,135, 92, 36, 4,139, 76, 36, 8,106,106, 88,205,128,
/* 0x01d0 */ 139, 92, 36, 4,195, 85,137,229, 83,139, 93, 8,106,122, 88,205,
/* 0x01e0 */ 128, 91, 93,195, 85,137,229, 83,139, 93, 8,139, 77, 12,255, 53,
/* 0x01f0 */ 39, 0, 0, 0, 88,205,128, 91, 93,195, 85,137,229, 87,139, 77,
/* 0x0200 */ 16,139, 69, 12,139,125, 8,243,170, 95, 93,195, 85,137,229, 87,
/* 0x0210 */ 86,139, 77, 16,139,117, 12,139,125, 8,243,164,137,248, 94, 95,
/* 0x0220 */ 93,195,139, 7,131,199, 4,133,192,117,247,195,204,195, 0, 0,
/* 0x0230 */ 85,137,229, 86, 83,131,236, 72,106, 64,104,255, 0, 0, 0,141,
/* 0x0240 */ 117,184, 86,232,252,255,255,255,131,196, 12,139, 93, 8,137,241,
/* 0x0250 */ 106,106, 88,205,128,137,198,133,192,120, 21, 15,183, 69,192, 37,
/* 0x0260 */ 0,240, 0, 0,186, 0, 0, 0, 0, 61, 0, 64, 0, 0,116, 44,
/* 0x0270 */ 131,254,254,117, 15,185,192, 1, 0, 0,139, 93, 8,106, 39, 88,
/* 0x0280 */ 205,128,137,198,133,246,121, 18,131,125, 12, 0,116, 12, 86,255,
/* 0x0290 */ 117, 8,232,252,255,255,255,131,196, 8,137,242,137,208,141,101,
/* 0x02a0 */ 248, 91, 94,201,195,139, 68, 36, 4,137,194,131,226, 31,131,224,
/* 0x02b0 */ 63,131,250, 26,118, 12,168, 32,116, 5,131,232, 70,235, 3,131,
/* 0x02c0 */ 232, 43,131,192, 64,195, 85,137,229, 87, 86, 83,131,236, 32,232,
/* 0x02d0 */ 12, 0, 0, 0, 47,100, 97,116, 97, 47,100, 97,116, 97, 47, 0,
/* 0x02e0 */ 90,139, 2,139, 77, 8,137, 1,139, 66, 4,137, 65, 4,102,139,
/* 0x02f0 */ 66, 8,102,137, 65, 8,138, 66, 10,136, 65, 10,198, 65, 11, 0,
/* 0x0300 */ 106, 1, 81,232, 40,255,255,255,131,196, 8,232, 19, 0, 0, 0,
/* 0x0310 */ 47,112,114,111, 99, 47,115,101,108,102, 47, 99,109,100,108,105,
/* 0x0320 */ 110,101, 0, 91,137, 93,220,185, 0, 0, 0, 0,137,202,106, 5,
/* 0x0330 */ 88,205,128,137, 69,240,139,117, 12,186,255, 15, 0, 0,137,195,
/* 0x0340 */ 137,241,106, 3, 88,205,128,137,199,139, 93,240,106, 6, 88,205,
/* 0x0350 */ 128,133,255,121, 11,255,117,220,232,252,255,255,255,131,196, 4,
/* 0x0360 */ 198, 4, 62, 0,128, 62, 0,116, 6, 70,128, 62, 0,117,250,137,
/* 0x0370 */ 247,128, 62, 47,116, 6, 78,128, 62, 47,117,250,137,117,224,137,
/* 0x0380 */ 248, 41,240, 80, 86,139, 69, 8,131,192, 10, 80,232,252,255,255,
/* 0x0390 */ 255,137,195,198, 0, 0,106, 0,255,117, 8,232,144,254,255,255,
/* 0x03a0 */ 131,196, 20,131,248,243,117, 87,232, 17, 0, 0, 0, 99,111,109,
/* 0x03b0 */ 46,116,101,114,109,117,120, 47,102,105,108,101,115, 0, 90,139,
/* 0x03c0 */ 2,139, 77, 8,137, 65, 11,139, 66, 4,137, 65, 15,139, 66, 8,
/* 0x03d0 */ 137, 65, 19,139, 66, 12,137, 65, 23,137,202,131,194, 27,137,248,
/* 0x03e0 */ 43, 69,224, 80,255,117,224, 82,232,252,255,255,255,137,195,198,
/* 0x03f0 */ 0, 0,106, 1,255,117, 8,232, 52,254,255,255,131,196, 20,232,
/* 0x0400 */ 7, 0, 0, 0, 47, 99, 97, 99,104,101, 0, 90,139, 2,137, 3,
/* 0x0410 */ 102,139, 66, 4,102,137, 67, 4,141,115, 6,198, 6, 0,106, 1,
/* 0x0420 */ 255,117, 8,232, 8,254,255,255,131,196, 8,232, 5, 0, 0, 0,
/* 0x0430 */ 47,117,112,120, 0, 88,139, 0,137, 6,141,126, 4,106, 20, 88,
/* 0x0440 */ 205,128,137,198, 80,232, 91,254,255,255,136, 7,137,240,193,232,
/* 0x0450 */ 6,137, 4, 36,232, 76,254,255,255,136, 71, 1,137,240,193,232,
/* 0x0460 */ 12,137, 4, 36,232, 60,254,255,255,131,196, 4,136, 71, 2,198,
/* 0x0470 */ 71, 3, 0,184, 0, 0, 0, 0,141,101,244, 91, 94, 95,201,195,
/* 0x0480 */ 86, 83,139,116, 36, 12,139, 92, 36, 16,139, 76, 36, 20, 73,131,
/* 0x0490 */ 249,255,116, 30,138, 22,131,202, 32, 15,190,210,138, 3,131,200,
/* 0x04a0 */ 32, 15,190,192, 67, 70, 41,194,137,208,117, 11, 73,131,249,255,
/* 0x04b0 */ 117,226,184, 0, 0, 0, 0, 91, 94,195, 85,137,229, 87, 86, 83,
/* 0x04c0 */ 129,236, 68, 16, 0, 0,186, 0, 0, 0, 0,232, 4, 0, 0, 0,
/* 0x04d0 */ 117,112,120, 0, 94,185, 16, 0, 0, 0,184,100, 1, 0, 0,137,
/* 0x04e0 */ 243,205,128,137,199,131,248,234,117, 13,184,100, 1, 0, 0,137,
/* 0x04f0 */ 243,137,209,205,128,137,199,133,255,121, 68,232, 9, 0, 0, 0,
/* 0x0500 */ 47,100,101,118, 47,115,104,109, 0, 95,185, 2, 0, 65, 0,190,
/* 0x0510 */ 192, 1, 0, 0,137,251,137,242,106, 5, 88,205,128,137,199,133,
/* 0x0520 */ 192,121, 28,232, 13, 0, 0, 0,109,101,109,102,100, 95, 99,114,
/* 0x0530 */ 101, 97,116,101, 0, 88, 80,232,252,255,255,255,131,196, 4,141,
/* 0x0540 */ 181,244,239,255,255,137,243,106,122, 88,205,128,199,133,220,239,
/* 0x0550 */ 255,255, 0, 0, 0, 0,232, 4, 0, 0, 0, 97,110,100, 0, 88,
/* 0x0560 */ 106, 3, 86, 80,232, 23,255,255,255,131,196, 12,133,192,116, 45,
/* 0x0570 */ 232, 4, 0, 0, 0, 76,105,110, 0, 88,106, 3, 86, 80,232,253,
/* 0x0580 */ 254,255,255,131,196, 12,133,192,117, 19,128,189,118,240,255,255,
/* 0x0590 */ 52,126, 10,199,133,220,239,255,255, 1, 0, 0, 0,131,189,220,
/* 0x05a0 */ 239,255,255, 0, 15,133,128, 0, 0, 0,131,125, 16, 0,117, 28,
/* 0x05b0 */ 232,252,255,255,255,137, 69, 16,133,192,117, 16,141,133,244,239,
/* 0x05c0 */ 255,255,137, 69, 16,198,133,244,239,255,255, 0,131,189,220,239,
/* 0x05d0 */ 255,255, 0,117, 85,131,255,218,117, 80,131,125, 16, 0,116, 74,
/* 0x05e0 */ 139, 85, 16,128, 58, 0,117, 26,141,133,244,247,255,255, 80, 82,
/* 0x05f0 */ 232,209,252,255,255,131,196, 8,137,193,133,192, 15,136, 6, 1,
/* 0x0600 */ 0, 0,185,194, 0, 0, 0,190,192, 1, 0, 0,139, 93, 16,137,
/* 0x0610 */ 242,106, 5, 88,205,128,137,199,137,193,133,192, 15,136,230, 0,
/* 0x0620 */ 0, 0,139, 93, 16,106, 10, 88,205,128,131,125, 12, 0, 15,132,
/* 0x0630 */ 153, 0, 0, 0,131,189,220,239,255,255, 0,116, 22,137,251,139,
/* 0x0640 */ 77, 12,106, 93, 88,205,128,137,193,133,192, 15,136,183, 0, 0,
/* 0x0650 */ 0,235,122,141,133,244,239,255,255,104, 0, 16, 0, 0,106, 0,
/* 0x0660 */ 80,232,252,255,255,255,139, 69, 12,137,133,200,239,255,255,131,
/* 0x0670 */ 196, 12,133,192,116, 73,141,181,244,239,255,255,139,149,200,239,
/* 0x0680 */ 255,255,137,149,176,239,255,255,129,250, 0, 16, 0, 0,118, 10,
/* 0x0690 */ 199,133,176,239,255,255, 0, 16, 0, 0,137,251,137,241,139,149,
/* 0x06a0 */ 176,239,255,255,106, 4, 88,205,128, 59,133,176,239,255,255,117,
/* 0x06b0 */ 73,139,133,176,239,255,255, 41,133,200,239,255,255,117,189,185,
/* 0x06c0 */ 0, 0, 0, 0,137,251,137,202,106, 19, 88,205,128,106, 0, 87,
/* 0x06d0 */ 131,125, 8, 1, 25,192,131,224,240,131,192, 17, 80,106, 3,255,
/* 0x06e0 */ 117, 12,255,117, 8,232,252,255,255,255,137,194,131,196, 24,137,
/* 0x06f0 */ 193, 61, 0,240,255,255,119, 16,235, 7,185,228,255,255,255,235,
/* 0x0700 */ 7,141, 71, 1,137,193, 9,209,137,200,141,101,244, 91, 94, 95,
/* 0x0710 */ 201,195, 90,232, 23, 0, 0, 0, 0, 0, 0, 0, 0, 46,115,121,
/* 0x0720 */ 109,116, 97, 98, 0, 46,115,116,114,116, 97, 98, 0, 46,115,104,
/* 0x0730 */ 115,116,114,116, 97, 98, 0, 46,114,101,108, 69, 76, 70, 77, 65,
/* 0x0740 */ 73, 78, 88, 0, 46,114,101,108, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x0750 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0760 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0770 */ 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0, 1, 0, 0, 0,
/* 0x0780 */ 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,218, 6, 0, 0,
/* 0x0790 */ 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0,
/* 0x07a0 */ 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x07b0 */ 204, 9, 0, 0, 96, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0,
/* 0x07c0 */ 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0, 1, 0, 0, 0,
/* 0x07d0 */ 0, 0, 0, 0, 0, 0, 0, 0, 14, 7, 0, 0, 10, 0, 0, 0,
/* 0x07e0 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x07f0 */ 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0800 */ 44, 10, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0, 3, 0, 0, 0,
/* 0x0810 */ 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0, 3, 0, 0, 0,
/* 0x0820 */ 0, 0, 0, 0, 0, 0, 0, 0, 24, 7, 0, 0, 53, 0, 0, 0,
/* 0x0830 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0840 */ 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0850 */ 144, 8, 0, 0,224, 0, 0, 0, 7, 0, 0, 0, 3, 0, 0, 0,
/* 0x0860 */ 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0, 3, 0, 0, 0,
/* 0x0870 */ 0, 0, 0, 0, 0, 0, 0, 0,112, 9, 0, 0, 92, 0, 0, 0,
/* 0x0880 */ 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0770 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 31, 0, 0, 0,
/* 0x0780 */ 1, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0,
/* 0x0790 */ 222, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
/* 0x07a0 */ 0, 0, 0, 0, 27, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
/* 0x07b0 */ 0, 0, 0, 0,208, 9, 0, 0, 96, 0, 0, 0, 6, 0, 0, 0,
/* 0x07c0 */ 1, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 44, 0, 0, 0,
/* 0x07d0 */ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 7, 0, 0,
/* 0x07e0 */ 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x07f0 */ 0, 0, 0, 0, 40, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0,
/* 0x0800 */ 0, 0, 0, 0, 48, 10, 0, 0, 16, 0, 0, 0, 6, 0, 0, 0,
/* 0x0810 */ 3, 0, 0, 0, 4, 0, 0, 0, 8, 0, 0, 0, 17, 0, 0, 0,
/* 0x0820 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 7, 0, 0,
/* 0x0830 */ 53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0840 */ 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0850 */ 0, 0, 0, 0,148, 8, 0, 0,224, 0, 0, 0, 7, 0, 0, 0,
/* 0x0860 */ 3, 0, 0, 0, 4, 0, 0, 0, 16, 0, 0, 0, 9, 0, 0, 0,
/* 0x0870 */ 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,116, 9, 0, 0,
/* 0x0880 */ 92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
/* 0x0890 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x08a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0,
/* 0x08b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 3, 0,
/* 0x08c0 */ 1, 0, 0, 0,130, 4, 0, 0, 88, 2, 0, 0, 18, 0, 1, 0,
/* 0x08d0 */ 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0,
/* 0x08e0 */ 25, 0, 0, 0,212, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x08f0 */ 33, 0, 0, 0,122, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0900 */ 38, 0, 0, 0,157, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0910 */ 44, 0, 0, 0,136, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0920 */ 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0930 */ 66, 0, 0, 0,194, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0940 */ 73, 0, 0, 0,244, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0950 */ 81, 0, 0, 0,139, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0960 */ 86, 0, 0, 0,172, 1, 0, 0, 0, 0, 0, 0, 16, 0, 1, 0,
/* 0x0970 */ 0,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,100,
/* 0x0980 */ 0, 79, 95, 66, 73, 78, 70, 79, 0,109,101,109,112, 99,112,121,
/* 0x0990 */ 0,109,109, 97,112, 0,117,110, 97,109,101, 0,103,101,116, 95,
/* 0x09a0 */ 117,112,120,102,110, 95,112, 97,116,104, 0, 95,115,116, 97,114,
/* 0x09b0 */ 116, 0,109,101,109,115,101,116, 0,109,121, 95, 98,107,112,116,
/* 0x09c0 */ 0,115,116, 97,116, 0,109,107,100,105,114, 0, 5, 0, 0, 0,
/* 0x09d0 */ 2, 2, 0, 0,165, 0, 0, 0, 2, 3, 0, 0, 82, 1, 0, 0,
/* 0x09e0 */ 2, 6, 0, 0, 12, 2, 0, 0, 2, 10, 0, 0, 91, 2, 0, 0,
/* 0x09f0 */ 2, 11, 0, 0, 33, 3, 0, 0, 2, 11, 0, 0, 85, 3, 0, 0,
/* 0x0a00 */ 2, 5, 0, 0,177, 3, 0, 0, 2, 5, 0, 0, 0, 5, 0, 0,
/* 0x0a10 */ 2, 11, 0, 0,121, 5, 0, 0, 2, 8, 0, 0, 42, 6, 0, 0,
/* 0x0a20 */ 2, 10, 0, 0,174, 6, 0, 0, 2, 6, 0, 0, 2, 0, 0, 0,
/* 0x0a30 */ 2, 1, 0, 0, 6, 0, 0, 0, 1, 4, 0, 0,102,105,108,101,
/* 0x0a40 */ 32,102,111,114,109, 97,116, 32,101,108,102, 51, 50, 45,105, 51,
/* 0x0a50 */ 56, 54, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,
/* 0x0a60 */ 120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0a70 */ 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32,
/* 0x0a80 */ 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70,105,
/* 0x0a90 */ 108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108,
/* 0x0aa0 */ 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0ab0 */ 32, 32, 32, 32, 32, 32, 48, 54,100, 97, 32, 32, 48, 32, 32, 48,
/* 0x0ac0 */ 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67, 79, 78,
/* 0x0ad0 */ 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76, 70, 77, 65, 73,
/* 0x0ae0 */ 78, 90, 32, 32, 32, 32, 32, 32, 48, 97, 32, 32, 48, 32, 32, 48,
/* 0x0af0 */ 32, 32, 48, 55, 48,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x0b00 */ 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65,
/* 0x0b10 */ 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
/* 0x0b20 */ 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,
/* 0x0b30 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48,
/* 0x0b40 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65,
/* 0x0b50 */ 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48,
/* 0x0b60 */ 48, 48, 48, 48, 52, 56, 50, 32,103, 32, 32, 32, 32, 32, 70, 32,
/* 0x0b70 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 50, 53, 56, 32,117,112,
/* 0x0b80 */ 120, 95,109,109, 97,112, 95, 97,110,100, 95,102,100, 10, 48, 48,
/* 0x0b90 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42,
/* 0x0ba0 */ 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 48,
/* 0x0bb0 */ 48, 48, 48, 48, 49,100, 52, 32,103, 32, 32, 32, 32, 32, 32, 32,
/* 0x0bc0 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109,101,109,112, 99,
/* 0x0bd0 */ 112,121, 10, 48, 48, 48, 48, 48, 49, 55, 97, 32,103, 32, 32, 32,
/* 0x0be0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109,
/* 0x0bf0 */ 109, 97,112, 10, 48, 48, 48, 48, 48, 49, 57,100, 32,103, 32, 32,
/* 0x0c00 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,
/* 0x0c10 */ 117,110, 97,109,101, 10, 48, 48, 48, 48, 48, 49, 56, 56, 32,103,
/* 0x0c20 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32,
/* 0x0c30 */ 48, 32,103,101,116, 95,117,112,120,102,110, 95,112, 97,116,104,
/* 0x0c40 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
/* 0x0c50 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116,
/* 0x0c60 */ 97,114,116, 10, 48, 48, 48, 48, 48, 49, 99, 50, 32,103, 32, 32,
/* 0x0c70 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,
/* 0x0c80 */ 109,101,109,115,101,116, 10, 48, 48, 48, 48, 48, 49,102, 52, 32,
/* 0x0c90 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0ca0 */ 32, 48, 32,109,121, 95, 98,107,112,116, 10, 48, 48, 48, 48, 48,
/* 0x0cb0 */ 49, 56, 98, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0cc0 */ 65, 73, 78, 88, 32, 48, 32,115,116, 97,116, 10, 48, 48, 48, 48,
/* 0x0cd0 */ 48, 49, 97, 99, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70,
/* 0x0ce0 */ 77, 65, 73, 78, 88, 32, 48, 32,109,107,100,105,114, 10, 10, 82,
/* 0x0cf0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68,
/* 0x0d00 */ 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93,
/* 0x0d10 */ 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32,
/* 0x0d20 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
/* 0x0d30 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 53, 32, 82, 95, 51, 56,
/* 0x0d40 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 69, 76,
/* 0x0d50 */ 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 97, 53, 32,
/* 0x0d60 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32,
/* 0x0d70 */ 32, 32,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,
/* 0x0d80 */ 100, 10, 48, 48, 48, 48, 48, 49, 53, 50, 32, 82, 95, 51, 56, 54,
/* 0x0d90 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,109, 97,
/* 0x0da0 */ 112, 10, 48, 48, 48, 48, 48, 50, 48, 99, 32, 82, 95, 51, 56, 54,
/* 0x0db0 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,
/* 0x0dc0 */ 115,101,116, 10, 48, 48, 48, 48, 48, 50, 53, 98, 32, 82, 95, 51,
/* 0x0dd0 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,
/* 0x0de0 */ 121, 95, 98,107,112,116, 10, 48, 48, 48, 48, 48, 51, 50, 49, 32,
/* 0x0df0 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32,
/* 0x0e00 */ 32, 32,109,121, 95, 98,107,112,116, 10, 48, 48, 48, 48, 48, 51,
/* 0x0e10 */ 53, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32,
/* 0x0e20 */ 32, 32, 32, 32, 32,109,101,109,112, 99,112,121, 10, 48, 48, 48,
/* 0x0e30 */ 48, 48, 51, 98, 49, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50,
/* 0x0e40 */ 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,112, 99,112,121, 10,
/* 0x0e50 */ 48, 48, 48, 48, 48, 53, 48, 48, 32, 82, 95, 51, 56, 54, 95, 80,
/* 0x0e60 */ 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,121, 95, 98,107,
/* 0x0e70 */ 112,116, 10, 48, 48, 48, 48, 48, 53, 55, 57, 32, 82, 95, 51, 56,
/* 0x0e80 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,103,101,
/* 0x0e90 */ 116, 95,117,112,120,102,110, 95,112, 97,116,104, 10, 48, 48, 48,
/* 0x0ea0 */ 48, 48, 54, 50, 97, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50,
/* 0x0eb0 */ 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,115,101,116, 10, 48,
/* 0x0ec0 */ 48, 48, 48, 48, 54, 97,101, 32, 82, 95, 51, 56, 54, 95, 80, 67,
/* 0x0ed0 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,109, 97,112, 10, 10,
/* 0x0ee0 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82,
/* 0x0ef0 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x0f00 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69,
/* 0x0f10 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65,
/* 0x0f20 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 50, 32, 82, 95, 51,
/* 0x0f30 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x0f40 */ 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 54,
/* 0x0f50 */ 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32,
/* 0x0f60 */ 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
/* 0x08a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x08b0 */ 3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x08c0 */ 3, 0, 3, 0, 1, 0, 0, 0,134, 4, 0, 0, 88, 2, 0, 0,
/* 0x08d0 */ 18, 0, 1, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x08e0 */ 16, 0, 0, 0, 25, 0, 0, 0,216, 1, 0, 0, 0, 0, 0, 0,
/* 0x08f0 */ 16, 0, 1, 0, 33, 0, 0, 0,126, 1, 0, 0, 0, 0, 0, 0,
/* 0x0900 */ 16, 0, 1, 0, 38, 0, 0, 0,161, 1, 0, 0, 0, 0, 0, 0,
/* 0x0910 */ 16, 0, 1, 0, 44, 0, 0, 0,140, 1, 0, 0, 0, 0, 0, 0,
/* 0x0920 */ 16, 0, 1, 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0930 */ 16, 0, 1, 0, 66, 0, 0, 0,198, 1, 0, 0, 0, 0, 0, 0,
/* 0x0940 */ 16, 0, 1, 0, 73, 0, 0, 0,248, 1, 0, 0, 0, 0, 0, 0,
/* 0x0950 */ 16, 0, 1, 0, 81, 0, 0, 0,143, 1, 0, 0, 0, 0, 0, 0,
/* 0x0960 */ 16, 0, 1, 0, 86, 0, 0, 0,176, 1, 0, 0, 0, 0, 0, 0,
/* 0x0970 */ 16, 0, 1, 0, 0,117,112,120, 95,109,109, 97,112, 95, 97,110,
/* 0x0980 */ 100, 95,102,100, 0, 79, 95, 66, 73, 78, 70, 79, 0,109,101,109,
/* 0x0990 */ 112, 99,112,121, 0,109,109, 97,112, 0,117,110, 97,109,101, 0,
/* 0x09a0 */ 103,101,116, 95,117,112,120,102,110, 95,112, 97,116,104, 0, 95,
/* 0x09b0 */ 115,116, 97,114,116, 0,109,101,109,115,101,116, 0,109,121, 95,
/* 0x09c0 */ 98,107,112,116, 0,115,116, 97,116, 0,109,107,100,105,114, 0,
/* 0x09d0 */ 5, 0, 0, 0, 2, 2, 0, 0,169, 0, 0, 0, 2, 3, 0, 0,
/* 0x09e0 */ 86, 1, 0, 0, 2, 6, 0, 0, 16, 2, 0, 0, 2, 10, 0, 0,
/* 0x09f0 */ 95, 2, 0, 0, 2, 11, 0, 0, 37, 3, 0, 0, 2, 11, 0, 0,
/* 0x0a00 */ 89, 3, 0, 0, 2, 5, 0, 0,181, 3, 0, 0, 2, 5, 0, 0,
/* 0x0a10 */ 4, 5, 0, 0, 2, 11, 0, 0,125, 5, 0, 0, 2, 8, 0, 0,
/* 0x0a20 */ 46, 6, 0, 0, 2, 10, 0, 0,178, 6, 0, 0, 2, 6, 0, 0,
/* 0x0a30 */ 2, 0, 0, 0, 2, 1, 0, 0, 6, 0, 0, 0, 1, 4, 0, 0,
/* 0x0a40 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 51,
/* 0x0a50 */ 50, 45,105, 51, 56, 54, 10, 10, 83,101, 99,116,105,111,110,115,
/* 0x0a60 */ 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32,
/* 0x0a70 */ 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77,
/* 0x0a80 */ 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32,
/* 0x0a90 */ 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, 65,108,103,110,
/* 0x0aa0 */ 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77,
/* 0x0ab0 */ 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 54,100,101, 32, 32,
/* 0x0ac0 */ 48, 32, 32, 48, 32, 32, 48, 51, 52, 32, 32, 50, 42, 42, 50, 32,
/* 0x0ad0 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 49, 32, 69, 76,
/* 0x0ae0 */ 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 97, 32, 32,
/* 0x0af0 */ 48, 32, 32, 48, 32, 32, 48, 55, 49, 50, 32, 32, 50, 42, 42, 48,
/* 0x0b00 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79,
/* 0x0b10 */ 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x0b20 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x0b30 */ 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48,
/* 0x0b40 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69,
/* 0x0b50 */ 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65, 73,
/* 0x0b60 */ 78, 90, 10, 48, 48, 48, 48, 48, 52, 56, 54, 32,103, 32, 32, 32,
/* 0x0b70 */ 32, 32, 70, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 50, 53,
/* 0x0b80 */ 56, 32,117,112,120, 95,109,109, 97,112, 95, 97,110,100, 95,102,
/* 0x0b90 */ 100, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x0ba0 */ 32, 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78,
/* 0x0bb0 */ 70, 79, 10, 48, 48, 48, 48, 48, 49,100, 56, 32,103, 32, 32, 32,
/* 0x0bc0 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109,
/* 0x0bd0 */ 101,109,112, 99,112,121, 10, 48, 48, 48, 48, 48, 49, 55,101, 32,
/* 0x0be0 */ 103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x0bf0 */ 32, 48, 32,109,109, 97,112, 10, 48, 48, 48, 48, 48, 49, 97, 49,
/* 0x0c00 */ 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x0c10 */ 88, 32, 48, 32,117,110, 97,109,101, 10, 48, 48, 48, 48, 48, 49,
/* 0x0c20 */ 56, 99, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x0c30 */ 73, 78, 88, 32, 48, 32,103,101,116, 95,117,112,120,102,110, 95,
/* 0x0c40 */ 112, 97,116,104, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x0c50 */ 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48,
/* 0x0c60 */ 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 49, 99, 54,
/* 0x0c70 */ 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x0c80 */ 88, 32, 48, 32,109,101,109,115,101,116, 10, 48, 48, 48, 48, 48,
/* 0x0c90 */ 49,102, 56, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77,
/* 0x0ca0 */ 65, 73, 78, 88, 32, 48, 32,109,121, 95, 98,107,112,116, 10, 48,
/* 0x0cb0 */ 48, 48, 48, 48, 49, 56,102, 32,103, 32, 32, 32, 32, 32, 32, 32,
/* 0x0cc0 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,115,116, 97,116, 10,
/* 0x0cd0 */ 48, 48, 48, 48, 48, 49, 98, 48, 32,103, 32, 32, 32, 32, 32, 32,
/* 0x0ce0 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 48, 32,109,107,100,105,
/* 0x0cf0 */ 114, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
/* 0x0d00 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65,
/* 0x0d10 */ 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84,
/* 0x0d20 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0d30 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 53, 32,
/* 0x0d40 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32,
/* 0x0d50 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48,
/* 0x0d60 */ 48, 97, 57, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32,
/* 0x0d70 */ 32, 32, 32, 32, 32, 32,117,112,120, 95,109,109, 97,112, 95, 97,
/* 0x0d80 */ 110,100, 95,102,100, 10, 48, 48, 48, 48, 48, 49, 53, 54, 32, 82,
/* 0x0d90 */ 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32,
/* 0x0da0 */ 32,109,109, 97,112, 10, 48, 48, 48, 48, 48, 50, 49, 48, 32, 82,
/* 0x0db0 */ 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32,
/* 0x0dc0 */ 32,109,101,109,115,101,116, 10, 48, 48, 48, 48, 48, 50, 53,102,
/* 0x0dd0 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32,
/* 0x0de0 */ 32, 32, 32,109,121, 95, 98,107,112,116, 10, 48, 48, 48, 48, 48,
/* 0x0df0 */ 51, 50, 53, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32,
/* 0x0e00 */ 32, 32, 32, 32, 32, 32,109,121, 95, 98,107,112,116, 10, 48, 48,
/* 0x0e10 */ 48, 48, 48, 51, 53, 57, 32, 82, 95, 51, 56, 54, 95, 80, 67, 51,
/* 0x0e20 */ 50, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,112, 99,112,121,
/* 0x0e30 */ 10, 48, 48, 48, 48, 48, 51, 98, 53, 32, 82, 95, 51, 56, 54, 95,
/* 0x0e40 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,112,
/* 0x0e50 */ 99,112,121, 10, 48, 48, 48, 48, 48, 53, 48, 52, 32, 82, 95, 51,
/* 0x0e60 */ 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,
/* 0x0e70 */ 121, 95, 98,107,112,116, 10, 48, 48, 48, 48, 48, 53, 55,100, 32,
/* 0x0e80 */ 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32,
/* 0x0e90 */ 32, 32,103,101,116, 95,117,112,120,102,110, 95,112, 97,116,104,
/* 0x0ea0 */ 10, 48, 48, 48, 48, 48, 54, 50,101, 32, 82, 95, 51, 56, 54, 95,
/* 0x0eb0 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,101,109,115,
/* 0x0ec0 */ 101,116, 10, 48, 48, 48, 48, 48, 54, 98, 50, 32, 82, 95, 51, 56,
/* 0x0ed0 */ 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 32, 32, 32,109,109,
/* 0x0ee0 */ 97,112, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82,
/* 0x0ef0 */ 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77,
/* 0x0f00 */ 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32,
/* 0x0f10 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x0f20 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 50,
/* 0x0f30 */ 32, 82, 95, 51, 56, 54, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32,
/* 0x0f40 */ 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48,
/* 0x0f50 */ 48, 48, 48, 54, 32, 82, 95, 51, 56, 54, 95, 51, 50, 32, 32, 32,
/* 0x0f60 */ 32, 32, 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
};