Option --unmap-all-pages completely avoids /proc/self/exe

https://github.com/upx/upx/issues/749
This commit is contained in:
John Reiser
2024-06-18 10:18:32 -07:00
committed by Markus F.X.J. Oberhumer
parent 3b36dce5c2
commit de8de9c0f0
67 changed files with 10710 additions and 10443 deletions
+144 -146
View File
@@ -1,5 +1,5 @@
/* arm64-linux.elf-entry.h
created from arm64-linux.elf-entry.bin, 7437 (0x1d0d) bytes
created from arm64-linux.elf-entry.bin, 7405 (0x1ced) bytes
This file is part of the UPX executable compressor.
@@ -32,14 +32,14 @@
/* clang-format off */
#define STUB_ARM64_LINUX_ELF_ENTRY_SIZE 7437
#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0xf1277575
#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0x3732046d
#define STUB_ARM64_LINUX_ELF_ENTRY_SIZE 7405
#define STUB_ARM64_LINUX_ELF_ENTRY_ADLER32 0xbcad6a23
#define STUB_ARM64_LINUX_ELF_ENTRY_CRC32 0x4f61097f
unsigned char stub_arm64_linux_elf_entry[7437] = {
unsigned char stub_arm64_linux_elf_entry[7405] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 1, 0,183, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 56, 24, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 24, 24, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
/* 0x0040 */ 0, 0, 0, 0,224, 7,191,169,211,255,255, 24, 0, 0, 0,148,
/* 0x0050 */ 254, 15, 31,248,226, 15,191,169, 7, 64, 33,139, 5, 0,128, 18,
@@ -362,144 +362,142 @@ unsigned char stub_arm64_linux_elf_entry[7437] = {
/* 0x1420 */ 227, 3, 0,145,128, 66, 0,145,129, 10, 64,185,132, 50, 64, 57,
/* 0x1430 */ 0, 3, 63,214,232, 7, 65,248,122, 3, 0,249,115, 19, 0,185,
/* 0x1440 */ 162, 0,128, 82,225, 27, 64,185,224, 3, 27,170, 72, 28,128, 82,
/* 0x1450 */ 1, 0, 0,212,128, 2, 64,185, 29,195, 94,184, 60, 3, 0,139,
/* 0x1460 */ 96, 83, 0,145, 0, 0, 31,214, 47,112,114,111, 99, 47,115,101,
/* 0x1470 */ 108,102, 47,101,120,101, 0, 0, 1,132, 64,248,225,255,255,181,
/* 0x1480 */ 192, 3, 95,214,248, 3, 30,170,224, 99, 0,145,251,255,255,151,
/* 0x1490 */ 250,255,255,151,246, 3, 0,170, 1, 8,193,168, 63, 24, 0,113,
/* 0x14a0 */ 96, 0, 0, 84,161,255,255, 53, 34, 0,160,210,250, 3, 2,203,
/* 0x14b0 */ 96, 12,128, 18,161,253,255, 16, 2, 0,128, 82, 8, 7,128, 82,
/* 0x14c0 */ 1, 0, 0,212,251, 3, 0, 42,200,255,255,151, 0, 0, 0, 0,
/* 0x14d0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54,
/* 0x14e0 */ 52, 45,108,105,116,116,108,101, 97, 97,114, 99,104, 54, 52, 10,
/* 0x14f0 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78,
/* 0x1500 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,
/* 0x1510 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32,
/* 0x1520 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32,
/* 0x1530 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,
/* 0x1540 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115,
/* 0x1550 */ 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32,
/* 0x1560 */ 32, 32, 32, 48, 49, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 52,
/* 0x1570 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1580 */ 83, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32,
/* 0x1590 */ 32, 32, 32, 32, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53, 48,
/* 0x15a0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x15b0 */ 10, 32, 32, 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32,
/* 0x15c0 */ 32, 32, 32, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53, 48, 32,
/* 0x15d0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10,
/* 0x15e0 */ 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x15f0 */ 32, 32, 48, 49, 55, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53,
/* 0x1600 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1610 */ 83, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32,
/* 0x1620 */ 32, 32, 32, 32, 48, 49, 55, 48, 32, 32, 48, 32, 32, 48, 32, 32,
/* 0x1630 */ 48, 49, 99, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1640 */ 69, 78, 84, 83, 10, 32, 32, 53, 32, 78, 82, 86, 50, 66, 32, 32,
/* 0x1650 */ 32, 32, 32, 32, 32, 32, 32, 48, 49, 52, 52, 32, 32, 48, 32, 32,
/* 0x1660 */ 48, 32, 32, 48, 51, 51, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67,
/* 0x1670 */ 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 54, 32, 76, 90, 77, 65,
/* 0x1680 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 49, 48, 99, 32, 32,
/* 0x1690 */ 48, 32, 32, 48, 32, 32, 48, 52, 56, 48, 32, 32, 50, 42, 42, 48,
/* 0x16a0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 55, 32, 76,
/* 0x16b0 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 57, 54,
/* 0x16c0 */ 56, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53, 56, 99, 32, 32, 50,
/* 0x16d0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32,
/* 0x16e0 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32,
/* 0x16f0 */ 48, 52, 97, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48,101,102, 52,
/* 0x1700 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x1710 */ 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32,
/* 0x1720 */ 32, 32, 32, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 51, 57,
/* 0x1730 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1740 */ 83, 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32,
/* 0x1750 */ 32, 32, 32, 32, 48, 51,101, 32, 32, 48, 32, 32, 48, 32, 32, 48,
/* 0x1760 */ 49, 51, 57, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1770 */ 69, 78, 84, 83, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1780 */ 90, 32, 32, 32, 32, 32, 32, 48,102, 99, 32, 32, 48, 32, 32, 48,
/* 0x1790 */ 32, 32, 48, 49, 51,100, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67,
/* 0x17a0 */ 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84,
/* 0x17b0 */ 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x17c0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x17d0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 48, 32, 76, 90, 77, 65,
/* 0x17e0 */ 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x17f0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1800 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65,
/* 0x1810 */ 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1820 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70,
/* 0x1830 */ 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1840 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1850 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69,
/* 0x1860 */ 65, 68, 32, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48,
/* 0x1870 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x1880 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32,
/* 0x1890 */ 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48,
/* 0x18a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x18b0 */ 32,100, 32, 32, 78, 82, 86, 50, 69, 32, 48, 32, 78, 82, 86, 50,
/* 0x18c0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x18d0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68,
/* 0x18e0 */ 32, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x1900 */ 32, 32, 78, 82, 86, 50, 66, 32, 48, 32, 78, 82, 86, 50, 66, 10,
/* 0x1910 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1920 */ 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76,
/* 0x1930 */ 70, 48, 48, 32, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48,
/* 0x1940 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1950 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68,
/* 0x1960 */ 69, 67, 50, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50,
/* 0x1970 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1980 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95,
/* 0x1990 */ 68, 69, 67, 49, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67,
/* 0x19a0 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19b0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77,
/* 0x19c0 */ 65, 73, 78, 89, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10,
/* 0x19d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48,
/* 0x19f0 */ 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a00 */ 48, 48, 48, 48, 48, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1a10 */ 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116,
/* 0x1a20 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a30 */ 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 32,
/* 0x1a40 */ 48, 49, 55, 99, 32,117, 99,108, 95,110,114,118, 50,101, 95,100,
/* 0x1a50 */ 101, 99,111,109,112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48,
/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x1a70 */ 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 68, 32, 48, 49, 55, 48,
/* 0x1a80 */ 32,117, 99,108, 95,110,114,118, 50,100, 95,100,101, 99,111,109,
/* 0x1a90 */ 112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1aa0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
/* 0x1ab0 */ 70, 32, 78, 82, 86, 50, 66, 32, 48, 49, 52, 52, 32,117, 99,108,
/* 0x1ac0 */ 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114,101,115,
/* 0x1ad0 */ 115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ae0 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 90,
/* 0x1af0 */ 77, 65, 95, 68, 69, 67, 49, 48, 32, 48, 32, 76,122,109, 97, 68,
/* 0x1b00 */ 101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b10 */ 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1b20 */ 76, 70, 77, 65, 73, 78, 89, 32, 48, 32,101,110,100, 95,100,101,
/* 0x1b30 */ 99,111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32,
/* 0x1b50 */ 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70,
/* 0x1b60 */ 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
/* 0x1b70 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65,
/* 0x1b80 */ 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
/* 0x1b90 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
/* 0x1ba0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
/* 0x1bb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1bc0 */ 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66, 83, 51, 50, 32,
/* 0x1bd0 */ 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1be0 */ 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 65, 65, 82, 67, 72, 54,
/* 0x1bf0 */ 52, 95, 67, 65, 76, 76, 50, 54, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x1c00 */ 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c10 */ 48, 48, 48, 98, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
/* 0x1c20 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76,
/* 0x1c30 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83,
/* 0x1c40 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80,
/* 0x1c50 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86,
/* 0x1c60 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c70 */ 48, 48, 48, 48, 52, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95,
/* 0x1c80 */ 67, 79, 78, 68, 66, 82, 49, 57, 32, 32, 76, 90, 77, 65, 95, 68,
/* 0x1c90 */ 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
/* 0x1ca0 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76,
/* 0x1cb0 */ 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
/* 0x1cc0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32,
/* 0x1cd0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
/* 0x1ce0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1cf0 */ 102, 56, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66, 83,
/* 0x1d00 */ 51, 50, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
/* 0x1450 */ 1, 0, 0,212,128, 2, 64,185, 0,116, 30, 18, 29,195, 94,184,
/* 0x1460 */ 60, 3, 0,139, 96, 83, 0,145, 0, 0, 31,214, 1,132, 64,248,
/* 0x1470 */ 225,255,255,181,192, 3, 95,214,248, 3, 30,170,224, 99, 0,145,
/* 0x1480 */ 251,255,255,151,250,255,255,151,246, 3, 0,170, 1, 8,193,168,
/* 0x1490 */ 63, 24, 0,113, 96, 0, 0, 84,161,255,255, 53, 34, 0,160,210,
/* 0x14a0 */ 250, 3, 2,203, 27, 0,128, 18,208,255,255,151, 0, 0, 0, 0,
/* 0x14b0 */ 102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,102, 54,
/* 0x14c0 */ 52, 45,108,105,116,116,108,101, 97, 97,114, 99,104, 54, 52, 10,
/* 0x14d0 */ 10, 83,101, 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78,
/* 0x14e0 */ 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,
/* 0x14f0 */ 101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32,
/* 0x1500 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32,
/* 0x1510 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,
/* 0x1520 */ 111,102,102, 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115,
/* 0x1530 */ 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32,
/* 0x1540 */ 32, 32, 32, 48, 49, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 52,
/* 0x1550 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1560 */ 83, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32,
/* 0x1570 */ 32, 32, 32, 32, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53, 48,
/* 0x1580 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x1590 */ 10, 32, 32, 50, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32,
/* 0x15a0 */ 32, 32, 32, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53, 48, 32,
/* 0x15b0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10,
/* 0x15c0 */ 32, 32, 51, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x15d0 */ 32, 32, 48, 49, 55, 99, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53,
/* 0x15e0 */ 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x15f0 */ 83, 10, 32, 32, 52, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, 32,
/* 0x1600 */ 32, 32, 32, 32, 48, 49, 55, 48, 32, 32, 48, 32, 32, 48, 32, 32,
/* 0x1610 */ 48, 49, 99, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1620 */ 69, 78, 84, 83, 10, 32, 32, 53, 32, 78, 82, 86, 50, 66, 32, 32,
/* 0x1630 */ 32, 32, 32, 32, 32, 32, 32, 48, 49, 52, 52, 32, 32, 48, 32, 32,
/* 0x1640 */ 48, 32, 32, 48, 51, 51, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67,
/* 0x1650 */ 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 54, 32, 76, 90, 77, 65,
/* 0x1660 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 49, 48, 99, 32, 32,
/* 0x1670 */ 48, 32, 32, 48, 32, 32, 48, 52, 56, 48, 32, 32, 50, 42, 42, 48,
/* 0x1680 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32, 55, 32, 76,
/* 0x1690 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, 57, 54,
/* 0x16a0 */ 56, 32, 32, 48, 32, 32, 48, 32, 32, 48, 53, 56, 99, 32, 32, 50,
/* 0x16b0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 10, 32, 32,
/* 0x16c0 */ 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32,
/* 0x16d0 */ 48, 52, 97, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48,101,102, 52,
/* 0x16e0 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x16f0 */ 10, 32, 32, 57, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32,
/* 0x1700 */ 32, 32, 32, 48, 32, 32, 48, 32, 32, 48, 32, 32, 48, 49, 51, 57,
/* 0x1710 */ 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1720 */ 83, 10, 32, 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32,
/* 0x1730 */ 32, 32, 32, 32, 48, 51,101, 32, 32, 48, 32, 32, 48, 32, 32, 48,
/* 0x1740 */ 49, 51, 57, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1750 */ 69, 78, 84, 83, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1760 */ 90, 32, 32, 32, 32, 32, 32, 48,100, 99, 32, 32, 48, 32, 32, 48,
/* 0x1770 */ 32, 32, 48, 49, 51,100, 52, 32, 32, 50, 42, 42, 50, 32, 32, 67,
/* 0x1780 */ 79, 78, 84, 69, 78, 84, 83, 10, 83, 89, 77, 66, 79, 76, 32, 84,
/* 0x1790 */ 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x17a0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x17b0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 48, 32, 76, 90, 77, 65,
/* 0x17c0 */ 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x17d0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x17e0 */ 69, 76, 70, 77, 65, 73, 78, 90, 32, 48, 32, 69, 76, 70, 77, 65,
/* 0x17f0 */ 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1800 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70,
/* 0x1810 */ 77, 65, 73, 78, 88, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1820 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1830 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 72, 69,
/* 0x1840 */ 65, 68, 32, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48, 48,
/* 0x1850 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x1860 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32,
/* 0x1870 */ 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48,
/* 0x1880 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x1890 */ 32,100, 32, 32, 78, 82, 86, 50, 69, 32, 48, 32, 78, 82, 86, 50,
/* 0x18a0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x18b0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68,
/* 0x18c0 */ 32, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x18d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x18e0 */ 32, 32, 78, 82, 86, 50, 66, 32, 48, 32, 78, 82, 86, 50, 66, 10,
/* 0x18f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1900 */ 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, 76,
/* 0x1910 */ 70, 48, 48, 32, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48,
/* 0x1920 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1930 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68,
/* 0x1940 */ 69, 67, 50, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50,
/* 0x1950 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1960 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95,
/* 0x1970 */ 68, 69, 67, 49, 48, 32, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67,
/* 0x1980 */ 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1990 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77,
/* 0x19a0 */ 65, 73, 78, 89, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10,
/* 0x19b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 32, 48,
/* 0x19d0 */ 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19e0 */ 48, 48, 48, 48, 48, 52, 32,103, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x19f0 */ 76, 70, 77, 65, 73, 78, 88, 32, 48, 32, 95,115,116, 97,114,116,
/* 0x1a00 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a10 */ 48, 32,103, 32, 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 69, 32,
/* 0x1a20 */ 48, 49, 55, 99, 32,117, 99,108, 95,110,114,118, 50,101, 95,100,
/* 0x1a30 */ 101, 99,111,109,112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48,
/* 0x1a40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32,
/* 0x1a50 */ 32, 32, 32, 32, 70, 32, 78, 82, 86, 50, 68, 32, 48, 49, 55, 48,
/* 0x1a60 */ 32,117, 99,108, 95,110,114,118, 50,100, 95,100,101, 99,111,109,
/* 0x1a70 */ 112,114,101,115,115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32,
/* 0x1a90 */ 70, 32, 78, 82, 86, 50, 66, 32, 48, 49, 52, 52, 32,117, 99,108,
/* 0x1aa0 */ 95,110,114,118, 50, 98, 95,100,101, 99,111,109,112,114,101,115,
/* 0x1ab0 */ 115, 95, 51, 50, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ac0 */ 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 76, 90,
/* 0x1ad0 */ 77, 65, 95, 68, 69, 67, 49, 48, 32, 48, 32, 76,122,109, 97, 68,
/* 0x1ae0 */ 101, 99,111,100,101, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69,
/* 0x1b00 */ 76, 70, 77, 65, 73, 78, 89, 32, 48, 32,101,110,100, 95,100,101,
/* 0x1b10 */ 99,111,109,112,114,101,115,115, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32,
/* 0x1b30 */ 32, 32, 42, 85, 78, 68, 42, 32, 48, 32, 79, 95, 66, 73, 78, 70,
/* 0x1b40 */ 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
/* 0x1b50 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65,
/* 0x1b60 */ 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32,
/* 0x1b70 */ 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
/* 0x1b80 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
/* 0x1b90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1ba0 */ 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66, 83, 51, 50, 32,
/* 0x1bb0 */ 32, 32, 77, 70, 76, 71, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 99, 32, 82, 95, 65, 65, 82, 67, 72, 54,
/* 0x1bd0 */ 52, 95, 67, 65, 76, 76, 50, 54, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x1be0 */ 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1bf0 */ 48, 48, 48, 97, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
/* 0x1c00 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76,
/* 0x1c10 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83,
/* 0x1c20 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80,
/* 0x1c30 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86,
/* 0x1c40 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c50 */ 48, 48, 48, 48, 52, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95,
/* 0x1c60 */ 67, 79, 78, 68, 66, 82, 49, 57, 32, 32, 76, 90, 77, 65, 95, 68,
/* 0x1c70 */ 69, 67, 51, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78,
/* 0x1c80 */ 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76,
/* 0x1c90 */ 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32,
/* 0x1ca0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32,
/* 0x1cb0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85,
/* 0x1cc0 */ 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1cd0 */ 100, 56, 32, 82, 95, 65, 65, 82, 67, 72, 54, 52, 95, 65, 66, 83,
/* 0x1ce0 */ 51, 50, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
};