powerpc-linux.elf-fold.S and -main.c handle /proc/self/exe

modified:   stub/src/amd64-linux.elf-main.c
	modified:   stub/src/powerpc-linux.elf-entry.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	modified:   stub/src/powerpc-linux.elf-main.c

	modified:   stub/tmp/amd64-linux.elf-fold.map
	modified:   stub/amd64-linux.elf-fold.h
	modified:   stub/powerpc-linux.elf-entry.h
	modified:   stub/powerpc-linux.elf-fold.h
	modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/tmp/powerpc-linux.elf-entry.bin.dump
	modified:   stub/tmp/powerpc-linux.elf-fold.map
This commit is contained in:
John Reiser
2017-04-22 20:18:00 -07:00
parent 9df4b6ea24
commit 391f511094
11 changed files with 629 additions and 514 deletions
+27 -28
View File
@@ -1,5 +1,5 @@
/* amd64-linux.elf-fold.h /* amd64-linux.elf-fold.h
created from amd64-linux.elf-fold.bin, 2036 (0x7f4) bytes created from amd64-linux.elf-fold.bin, 2032 (0x7f0) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,20 +31,20 @@
*/ */
#define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2036 #define STUB_AMD64_LINUX_ELF_FOLD_SIZE 2032
#define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x9382090d #define STUB_AMD64_LINUX_ELF_FOLD_ADLER32 0x06e1065d
#define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0x31eb4b3d #define STUB_AMD64_LINUX_ELF_FOLD_CRC32 0xc66d4cda
unsigned char stub_amd64_linux_elf_fold[2036] = { unsigned char stub_amd64_linux_elf_fold[2032] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 62, 0, 1, 0, 0, 0,188, 0, 16, 0, 0, 0, 0, 0,
/* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0,
/* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0040 */ 1, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x0060 */ 244, 7, 0, 0, 0, 0, 0, 0,244, 7, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 240, 7, 0, 0, 0, 0, 0, 0,240, 7, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 0, 16, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 244, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0080 */ 240, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, /* 0x00a0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 89, 0, 0, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,232, 89, 0, 0,
@@ -143,25 +143,24 @@ unsigned char stub_amd64_linux_elf_fold[2036] = {
/* 0x0680 */ 72,137, 52, 36, 72,137,116, 36, 16, 72,141,116, 36, 32, 72,137, /* 0x0680 */ 72,137, 52, 36, 72,137,116, 36, 16, 72,141,116, 36, 32, 72,137,
/* 0x0690 */ 84, 36, 40, 72,137,124, 36, 8, 76,137,194, 72,137,124, 36, 24, /* 0x0690 */ 84, 36, 40, 72,137,124, 36, 8, 76,137,194, 72,137,124, 36, 24,
/* 0x06a0 */ 72,137,231, 72,137, 68, 36, 32,232,215,251,255,255, 72,139, 85, /* 0x06a0 */ 72,137,231, 72,137, 68, 36, 32,232,215,251,255,255, 72,139, 85,
/* 0x06b0 */ 16,190, 3, 0, 0, 0, 72,137,223, 72,131,194, 64,232,207,252, /* 0x06b0 */ 16,190, 3, 0, 0, 0, 72,137,223,232,211,252,255,255, 73, 15,
/* 0x06c0 */ 255,255, 73, 15,183, 84, 36, 56,190, 5, 0, 0, 0, 72,137,223, /* 0x06c0 */ 183, 84, 36, 56,190, 5, 0, 0, 0, 72,137,223,232,192,252,255,
/* 0x06d0 */ 232,188,252,255,255, 69, 15,183,116, 36, 16, 65,131,254, 3,117, /* 0x06d0 */ 255, 69, 15,183,116, 36, 16, 65,131,254, 3,117, 62, 72,139, 84,
/* 0x06e0 */ 62, 72,139, 84, 36,112, 73, 3, 84, 36, 24,190, 9, 0, 0, 0, /* 0x06e0 */ 36,112, 73, 3, 84, 36, 24,190, 9, 0, 0, 0,102, 65,199, 68,
/* 0x06f0 */ 102, 65,199, 68, 36, 16, 2, 0, 72,137,223,232,145,252,255,255, /* 0x06f0 */ 36, 16, 2, 0, 72,137,223,232,149,252,255,255, 65, 15,183, 68,
/* 0x0700 */ 65, 15,183, 68, 36, 56,133,192,116, 21, 72,139, 84, 36,112, 72, /* 0x0700 */ 36, 56,133,192,116, 21, 72,139, 84, 36,112, 72, 1, 85, 16, 72,
/* 0x0710 */ 1, 85, 16, 72, 1, 85, 24, 72,131,197, 56,255,200,117,240, 65, /* 0x0710 */ 1, 85, 24, 72,131,197, 56,255,200,117,240, 65, 83, 77,137,249,
/* 0x0720 */ 83, 77,137,249, 77,137,232, 49,210, 72,137,217, 72,141, 68, 36, /* 0x0720 */ 77,137,232, 49,210, 72,137,217, 72,141, 68, 36,120, 72,141,116,
/* 0x0730 */ 120, 72,141,116, 36, 24, 76,137,231, 80,232,132,252,255,255, 65, /* 0x0730 */ 36, 24, 76,137,231, 80,232,136,252,255,255, 65, 89, 65,131,254,
/* 0x0740 */ 89, 65,131,254, 3, 73,137,197, 65, 90,116, 16, 72,137,194,190, /* 0x0740 */ 3, 73,137,197, 65, 90,116, 16, 72,137,194,190, 9, 0, 0, 0,
/* 0x0750 */ 9, 0, 0, 0, 72,137,223,232, 53,252,255,255, 69, 49,246,102, /* 0x0750 */ 72,137,223,232, 57,252,255,255, 69, 49,246,102, 65,131,124, 36,
/* 0x0760 */ 65,131,124, 36, 56, 0, 73,141,108, 36, 64,116,117,131,125, 0, /* 0x0760 */ 56, 0, 73,141,108, 36, 64,116,117,131,125, 0, 3,117, 93, 72,
/* 0x0770 */ 3,117, 93, 72,139,124, 36,112, 72, 3,125, 16, 49,210, 49,246, /* 0x0770 */ 139,124, 36,112, 72, 3,125, 16, 49,210, 49,246,232,189,250,255,
/* 0x0780 */ 232,185,250,255,255,133,192,137,195,120, 23,186, 0, 4, 0, 0, /* 0x0780 */ 255,133,192,137,195,120, 23,186, 0, 4, 0, 0, 76,137,230,137,
/* 0x0790 */ 76,137,230,137,199,232,160,250,255,255, 72, 61, 0, 4, 0, 0, /* 0x0790 */ 199,232,164,250,255,255, 72, 61, 0, 4, 0, 0,116, 10,191,127,
/* 0x07a0 */ 116, 10,191,127, 0, 0, 0,232,154,250,255,255, 65, 80, 49,246, /* 0x07a0 */ 0, 0, 0,232,158,250,255,255, 65, 80, 49,246, 69, 49,201, 69,
/* 0x07b0 */ 69, 49,201, 69, 49,192, 49,201,106, 0,137,218, 76,137,231,232, /* 0x07b0 */ 49,192, 49,201,106, 0,137,218, 76,137,231,232, 3,252,255,255,
/* 0x07c0 */ 255,251,255,255,137,223, 73,137,197,232,116,250,255,255, 94, 95, /* 0x07c0 */ 137,223, 73,137,197,232,120,250,255,255, 94, 95, 65, 15,183, 68,
/* 0x07d0 */ 65, 15,183, 68, 36, 56, 65,255,198, 72,131,197, 56, 65, 57,198, /* 0x07d0 */ 36, 56, 65,255,198, 72,131,197, 56, 65, 57,198,114,139, 72,131,
/* 0x07e0 */ 114,139, 72,131,196, 56, 76,137,232, 91, 93, 65, 92, 65, 93, 65, /* 0x07e0 */ 196, 56, 76,137,232, 91, 93, 65, 92, 65, 93, 65, 94, 65, 95,195
/* 0x07f0 */ 94, 65, 95,195
}; };
+204 -205
View File
@@ -1,5 +1,5 @@
/* powerpc-linux.elf-entry.h /* powerpc-linux.elf-entry.h
created from powerpc-linux.elf-entry.bin, 9333 (0x2475) bytes created from powerpc-linux.elf-entry.bin, 9325 (0x246d) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,15 +31,15 @@
*/ */
#define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9333 #define STUB_POWERPC_LINUX_ELF_ENTRY_SIZE 9325
#define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0x0fce77f6 #define STUB_POWERPC_LINUX_ELF_ENTRY_ADLER32 0xa3727536
#define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x5aca59c2 #define STUB_POWERPC_LINUX_ELF_ENTRY_CRC32 0x4e844a16
unsigned char stub_powerpc_linux_elf_entry[9333] = { unsigned char stub_powerpc_linux_elf_entry[9325] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 0, 1, 0, 20, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 25,220, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40, /* 0x0020 */ 0, 0, 25,212, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 40,
/* 0x0030 */ 0, 0, 0, 0, 72, 0, 1, 29,124, 0, 41,236,125,168, 2,166, /* 0x0030 */ 0, 0, 0, 0, 72, 0, 1, 25,124, 0, 41,236,125,168, 2,166,
/* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20, /* 0x0040 */ 40, 7, 0, 8, 64,130, 1, 60,144,166, 0, 0,124,132, 26, 20,
/* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255, /* 0x0050 */ 60, 0,128, 0, 61, 32,128, 0, 56, 99,255,255, 56,165,255,255,
/* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44, /* 0x0060 */ 57, 64,255,255, 72, 0, 1, 12, 57, 32, 0, 1,125, 41, 28, 44,
@@ -422,202 +422,201 @@ unsigned char stub_powerpc_linux_elf_entry[9333] = {
/* 0x17f0 */ 2,166, 56, 96, 0, 2, 56, 0, 0, 4, 68, 0, 0, 2, 56, 96, /* 0x17f0 */ 2,166, 56, 96, 0, 2, 56, 0, 0, 4, 68, 0, 0, 2, 56, 96,
/* 0x1800 */ 0,127, 56, 0, 0, 1, 68, 0, 0, 2,128, 3, 0, 0, 56, 99, /* 0x1800 */ 0,127, 56, 0, 0, 1, 68, 0, 0, 2,128, 3, 0, 0, 56, 99,
/* 0x1810 */ 0, 4, 47,128, 0, 0, 64,158,255,244, 78,128, 0, 32,127,200, /* 0x1810 */ 0, 4, 47,128, 0, 0, 64,158,255,244, 78,128, 0, 32,127,200,
/* 0x1820 */ 2,166,131, 31,255,248,131, 94, 0, 12,130,254, 0, 8, 56, 97, /* 0x1820 */ 2,166,131, 31,255,248,131, 94, 0, 12,130,254, 0, 8, 59, 24,
/* 0x1830 */ 0,144, 75,255,255,217, 75,255,255,213,124,124, 27,120,128, 3, /* 0x1830 */ 0, 8,127, 24,248, 80, 56, 97, 0,144, 75,255,255,209, 75,255,
/* 0x1840 */ 0, 0,128,131, 0, 4, 56, 99, 0, 8, 44, 0, 0, 6, 65,130, /* 0x1840 */ 255,205,124,124, 27,120,128, 3, 0, 0,128,131, 0, 4, 56, 99,
/* 0x1850 */ 0, 16, 44, 0, 0, 0, 64,130,255,232, 56,128, 16, 0,124,155, /* 0x1850 */ 0, 8, 44, 0, 0, 6, 65,130, 0, 16, 44, 0, 0, 0, 64,130,
/* 0x1860 */ 35,120, 57, 0, 0, 0, 56,224,255,255, 56,192, 0, 34, 56,160, /* 0x1860 */ 255,232, 56,128, 16, 0,124,155, 35,120, 57, 0, 0, 0, 56,224,
/* 0x1870 */ 0, 7,128,158, 0, 4,128,126, 0, 0, 56, 0, 0, 90,124,110, /* 0x1870 */ 255,255, 56,192, 0, 34, 56,160, 0, 7,128,158, 0, 4,128,126,
/* 0x1880 */ 27,120, 68, 0, 0, 2,124, 14, 24, 64, 64,130, 0, 0,128, 30, /* 0x1880 */ 0, 0, 56, 0, 0, 90,124,110, 27,120, 68, 0, 0, 2,124, 14,
/* 0x1890 */ 0, 4, 58,192, 0, 0,124, 0,216, 64, 64,129, 0, 68, 59, 24, /* 0x1890 */ 24, 64, 64,130, 0, 0,128, 30, 0, 4, 58,192, 0, 0,124, 0,
/* 0x18a0 */ 0, 8,127, 24,248, 80,126,216, 24, 80,127,255,178, 20,127, 57, /* 0x18a0 */ 216, 64, 64,129, 0, 56,126,216, 24, 80,127,255,178, 20,127, 24,
/* 0x18b0 */ 178, 20,127, 24,178, 20, 56, 0, 0, 7, 56,132,255,252, 84, 0, /* 0x18b0 */ 178, 20, 56, 0, 0, 7, 56,132,255,252, 84, 0,232,254, 56, 99,
/* 0x18c0 */ 232,254, 56, 99,255,252,124, 9, 3,166,129,100, 0, 4,133,132, /* 0x18c0 */ 255,252,124, 9, 3,166,129,100, 0, 4,133,132, 0, 8,145, 99,
/* 0x18d0 */ 0, 8,145, 99, 0, 4,149,131, 0, 8, 66, 0,255,240,127,233, /* 0x18d0 */ 0, 4,149,131, 0, 8, 66, 0,255,240,127,233, 3,166,128, 30,
/* 0x18e0 */ 3,166,128, 30, 0, 16,136,254, 0, 24, 56,193, 0,140,144, 1, /* 0x18e0 */ 0, 16,136,254, 0, 24, 56,193, 0,140,144, 1, 0,140,125,197,
/* 0x18f0 */ 0,140,125,197,115,120,125,200, 3,166,128,158, 0, 20, 56,126, /* 0x18f0 */ 115,120,125,200, 3,166,128,158, 0, 20, 56,126, 0, 28, 78,128,
/* 0x1900 */ 0, 28, 78,128, 4, 32,124,128, 0, 8,148, 33,255,112,188, 65, /* 0x1900 */ 4, 32,148, 33,255,112,188, 65, 0, 20,127,232, 2,166, 75,255,
/* 0x1910 */ 0, 20,127,232, 2,166, 75,255,255, 9, 0, 0, 0, 0, 0, 0, /* 0x1910 */ 255, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x1920 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,102,105,108,101, 32,102, /* 0x1920 */ 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108,
/* 0x1930 */ 111,114,109, 97,116, 32,101,108,102, 51, 50, 45,112,111,119,101, /* 0x1930 */ 102, 51, 50, 45,112,111,119,101,114,112, 99, 10, 10, 83,101, 99,
/* 0x1940 */ 114,112, 99, 10, 10, 83,101, 99,116,105,111,110,115, 58, 10, 73, /* 0x1940 */ 116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32,
/* 0x1950 */ 100,120, 32, 78, 97,109,101, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x1950 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32,
/* 0x1960 */ 32, 83,105,122,101, 32, 32, 32, 32, 32, 32, 86, 77, 65, 32, 32, /* 0x1960 */ 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 76, 77, 65,
/* 0x1970 */ 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 70, /* 0x1970 */ 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32,
/* 0x1980 */ 105,108,101, 32,111,102,102, 32, 32, 65,108,103,110, 32, 32, 70, /* 0x1980 */ 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48,
/* 0x1990 */ 108, 97,103,115, 10, 32, 32, 48, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x1990 */ 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48,
/* 0x19a0 */ 88, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48, 52, 32, /* 0x19a0 */ 48, 48, 48, 48, 48, 48, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x19b0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x19b0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x19c0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 52, 32, 32, 50, /* 0x19c0 */ 48, 48, 48, 51, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78,
/* 0x19d0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, /* 0x19d0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69,
/* 0x19e0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, /* 0x19e0 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72,
/* 0x19f0 */ 32, 49, 32, 78, 82, 86, 95, 72, 69, 65, 68, 32, 32, 32, 32, 32, /* 0x19f0 */ 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a00 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1a00 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1a10 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1a10 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32,
/* 0x1a20 */ 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, /* 0x1a20 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44,
/* 0x1a30 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, /* 0x1a30 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82,
/* 0x1a40 */ 89, 10, 32, 32, 50, 32, 78, 82, 86, 50, 69, 32, 32, 32, 32, 32, /* 0x1a40 */ 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48,
/* 0x1a50 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 56, 32, 32, 48, 48, /* 0x1a50 */ 48, 49, 52, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1a60 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1a60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1a70 */ 32, 32, 48, 48, 48, 48, 48, 48, 51, 56, 32, 32, 50, 42, 42, 48, /* 0x1a70 */ 51, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78,
/* 0x1a80 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, /* 0x1a80 */ 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79,
/* 0x1a90 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 51, 32, /* 0x1a90 */ 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32,
/* 0x1aa0 */ 78, 82, 86, 50, 68, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1aa0 */ 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 50, 99, 32, 32,
/* 0x1ab0 */ 48, 48, 48, 49, 50, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1ab0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1ac0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1ac0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 56, 48, 32, 32, 50, 42,
/* 0x1ad0 */ 48, 49, 56, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x1ad0 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69,
/* 0x1ae0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x1ae0 */ 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32,
/* 0x1af0 */ 68, 79, 78, 76, 89, 10, 32, 32, 52, 32, 78, 82, 86, 50, 66, 32, /* 0x1af0 */ 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1b00 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,102, 48, /* 0x1b00 */ 48, 48, 48, 48, 48, 48,102, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1b10 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1b10 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1b20 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 97, 99, 32, 32, /* 0x1b20 */ 48, 48, 48, 50, 97, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1b30 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1b30 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82,
/* 0x1b40 */ 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x1b40 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65,
/* 0x1b50 */ 32, 32, 53, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 32, 32, /* 0x1b50 */ 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1b60 */ 32, 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, /* 0x1b60 */ 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1b70 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1b70 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 51, 57, 99,
/* 0x1b80 */ 48, 48, 48, 48, 48, 51, 57, 99, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x1b80 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x1b90 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, /* 0x1b90 */ 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76,
/* 0x1ba0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 54, 32, 76, 90, /* 0x1ba0 */ 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48,
/* 0x1bb0 */ 77, 65, 95, 68, 69, 67, 49, 48, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x1bb0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48,
/* 0x1bc0 */ 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1bd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 52, /* 0x1bd0 */ 32, 32, 48, 48, 48, 48, 48, 52, 50, 99, 32, 32, 50, 42, 42, 48,
/* 0x1be0 */ 50, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x1be0 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68,
/* 0x1bf0 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 55, /* 0x1bf0 */ 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69,
/* 0x1c00 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 32, 32, 32, 32, 48, /* 0x1c00 */ 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57, 57, 99, 32,
/* 0x1c10 */ 48, 48, 48, 48, 57, 57, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1c10 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x1c20 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1c20 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,100, 99, 56, 32, 32, 50,
/* 0x1c30 */ 48, 48,100, 99, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x1c30 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82,
/* 0x1c40 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x1c40 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65,
/* 0x1c50 */ 32, 32, 56, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 32, 32, /* 0x1c50 */ 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1c60 */ 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, /* 0x1c60 */ 50, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1c70 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1c70 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 54, 52,
/* 0x1c80 */ 48, 48, 48, 48, 49, 55, 54, 52, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x1c80 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x1c90 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1c90 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78,
/* 0x1ca0 */ 76, 89, 10, 32, 32, 57, 32, 78, 82, 86, 95, 84, 65, 73, 76, 32, /* 0x1ca0 */ 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48,
/* 0x1cb0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, 99, 32, 32, 48, /* 0x1cb0 */ 48, 48, 48, 49, 99, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1cc0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1cc0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,
/* 0x1cd0 */ 48, 32, 32, 48, 48, 48, 48, 49, 55, 56, 56, 32, 32, 50, 42, 42, /* 0x1cd0 */ 55, 56, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1ce0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, /* 0x1ce0 */ 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49,
/* 0x1cf0 */ 68, 79, 78, 76, 89, 10, 32, 49, 48, 32, 67, 70, 76, 85, 83, 72, /* 0x1cf0 */ 48, 32, 67, 70, 76, 85, 83, 72, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1d00 */ 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 52, /* 0x1d00 */ 48, 48, 48, 48, 48, 48, 50, 52, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1d10 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1d10 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1d20 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 97, 52, 32, 32, /* 0x1d20 */ 48, 48, 49, 55, 97, 52, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x1d30 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1d30 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89,
/* 0x1d40 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, /* 0x1d40 */ 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32,
/* 0x1d50 */ 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1d50 */ 32, 32, 32, 48, 48, 48, 48, 48, 48, 50, 50, 32, 32, 48, 48, 48,
/* 0x1d60 */ 48, 50, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1d60 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1d70 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 99, /* 0x1d70 */ 32, 48, 48, 48, 48, 49, 55, 99, 56, 32, 32, 50, 42, 42, 48, 32,
/* 0x1d80 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1d80 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67,
/* 0x1d90 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1d90 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 69,
/* 0x1da0 */ 76, 89, 10, 32, 49, 50, 32, 69, 76, 70, 77, 65, 73, 78, 90, 32, /* 0x1da0 */ 76, 70, 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48,
/* 0x1db0 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 49, 52, 48, 32, 32, 48, /* 0x1db0 */ 48, 48, 49, 51, 56, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1dc0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1dc0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49,
/* 0x1dd0 */ 48, 32, 32, 48, 48, 48, 48, 49, 55,101, 97, 32, 32, 50, 42, 42, /* 0x1dd0 */ 55,101, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1de0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, /* 0x1de0 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68,
/* 0x1df0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, /* 0x1df0 */ 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, 32, 84, 65, 66, 76,
/* 0x1e00 */ 66, 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, /* 0x1e00 */ 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x1e10 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, /* 0x1e10 */ 32,100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48,
/* 0x1e20 */ 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1e20 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67,
/* 0x1e30 */ 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, /* 0x1e30 */ 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x1e40 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, /* 0x1e40 */ 32,100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48,
/* 0x1e50 */ 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, /* 0x1e50 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 48,
/* 0x1e60 */ 86, 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1e70 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, /* 0x1e70 */ 69, 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e80 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, /* 0x1e80 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48,
/* 0x1e90 */ 78, 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, /* 0x1e90 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77,
/* 0x1ea0 */ 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 9, 48, 48, 48, /* 0x1ea0 */ 65, 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76,
/* 0x1eb0 */ 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, /* 0x1eb0 */ 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, /* 0x1ec0 */ 108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88,
/* 0x1ed0 */ 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x1ed0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73,
/* 0x1ee0 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, /* 0x1ee0 */ 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32,
/* 0x1ef0 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 95, /* 0x1ef0 */ 32,100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48,
/* 0x1f00 */ 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, /* 0x1f00 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, 69, 65, 68, 10, 48,
/* 0x1f10 */ 86, 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1f10 */ 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32,
/* 0x1f20 */ 108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 69, 9, 48, 48, /* 0x1f20 */ 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78,
/* 0x1f30 */ 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, /* 0x1f30 */ 82, 86, 50, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32,
/* 0x1f40 */ 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, /* 0x1f40 */ 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48,
/* 0x1f50 */ 86, 50, 68, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, /* 0x1f50 */ 48, 48, 48, 48, 32, 78, 82, 86, 50, 68, 10, 48, 48, 48, 48, 48,
/* 0x1f60 */ 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, /* 0x1f60 */ 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50,
/* 0x1f70 */ 32,100, 32, 32, 78, 82, 86, 50, 66, 9, 48, 48, 48, 48, 48, 48, /* 0x1f70 */ 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 66,
/* 0x1f80 */ 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x1f80 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x1f90 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 69, /* 0x1f90 */ 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48,
/* 0x1fa0 */ 76, 70, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, /* 0x1fa0 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48,
/* 0x1fb0 */ 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x1fb0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x1fc0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, /* 0x1fc0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48,
/* 0x1fd0 */ 69, 67, 49, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, /* 0x1fd0 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48,
/* 0x1fe0 */ 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x1fe0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x1ff0 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, 65, 95, 68, /* 0x1ff0 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48,
/* 0x2000 */ 69, 67, 50, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, /* 0x2000 */ 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48,
/* 0x2010 */ 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, /* 0x2010 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100,
/* 0x2020 */ 48, 32,108, 32, 32, 32, 32,100, 32, 32, 67, 70, 76, 85, 83, 72, /* 0x2020 */ 32, 32, 67, 70, 76, 85, 83, 72, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x2030 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 67, 70, 76, 85, 83, 72, /* 0x2030 */ 48, 32, 67, 70, 76, 85, 83, 72, 10, 48, 48, 48, 48, 48, 48, 48,
/* 0x2040 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, 32, 32, 32, /* 0x2040 */ 48, 32,103, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x2050 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, 48, /* 0x2050 */ 78, 88, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95,115,116, 97,
/* 0x2060 */ 48, 48, 48, 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, /* 0x2060 */ 114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32,
/* 0x2070 */ 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, /* 0x2070 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48,
/* 0x2080 */ 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 77, 10, /* 0x2080 */ 48, 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2090 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2090 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48,
/* 0x20a0 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x20a0 */ 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 77, 10, 48, 48, 48,
/* 0x20b0 */ 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, /* 0x20b0 */ 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85,
/* 0x20c0 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, /* 0x20c0 */ 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78,
/* 0x20d0 */ 48, 48, 48, 48, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 48, /* 0x20d0 */ 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32,
/* 0x20e0 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, /* 0x20e0 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48,
/* 0x20f0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 32, 79, 95, 66, 73, 78, 70, /* 0x20f0 */ 48, 32, 79, 95, 66, 73, 78, 70, 79, 10, 10, 82, 69, 76, 79, 67,
/* 0x2100 */ 79, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, /* 0x2100 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79,
/* 0x2110 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, /* 0x2110 */ 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, 93, 58, 10, 79, 70,
/* 0x2120 */ 73, 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, /* 0x2120 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32,
/* 0x2130 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2130 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48,
/* 0x2140 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x2140 */ 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69,
/* 0x2150 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, /* 0x2150 */ 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x2160 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120, 48, 48, 48, /* 0x2160 */ 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 49, 49, 56, 10, 10, 82,
/* 0x2170 */ 48, 48, 49, 49, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, /* 0x2170 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68,
/* 0x2180 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, /* 0x2180 */ 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79,
/* 0x2190 */ 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, /* 0x2190 */ 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32,
/* 0x21a0 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x21a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10,
/* 0x21b0 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, /* 0x21b0 */ 48, 48, 48, 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82,
/* 0x21c0 */ 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, /* 0x21c0 */ 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84,
/* 0x21d0 */ 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, /* 0x21d0 */ 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32,
/* 0x21e0 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, /* 0x21e0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86,
/* 0x21f0 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, /* 0x21f0 */ 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89,
/* 0x2200 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, /* 0x2200 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2210 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, /* 0x2210 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 98, 52, 32, 82,
/* 0x2220 */ 48, 48, 48, 48, 98, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, /* 0x2220 */ 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32,
/* 0x2230 */ 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, /* 0x2230 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67,
/* 0x2240 */ 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, /* 0x2240 */ 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79,
/* 0x2250 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, /* 0x2250 */ 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, 83, 69,
/* 0x2260 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, /* 0x2260 */ 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2270 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, /* 0x2270 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48,
/* 0x2280 */ 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 57, 48, 32, 82, 95, 80, /* 0x2280 */ 48, 48, 57, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52,
/* 0x2290 */ 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 78, /* 0x2290 */ 32, 32, 32, 32, 32, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 10,
/* 0x22a0 */ 82, 86, 95, 84, 65, 73, 76, 10, 10, 82, 69, 76, 79, 67, 65, 84, /* 0x22a0 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79,
/* 0x22b0 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, /* 0x22b0 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, 65, 95, 69, 76,
/* 0x22c0 */ 91, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, /* 0x22c0 */ 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84,
/* 0x22d0 */ 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, /* 0x22d0 */ 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x22e0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, /* 0x22e0 */ 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 52, 32,
/* 0x22f0 */ 48, 48, 48, 48, 48, 48, 52, 32, 82, 95, 80, 80, 67, 95, 82, 69, /* 0x22f0 */ 82, 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32,
/* 0x2300 */ 76, 49, 52, 32, 32, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, /* 0x2300 */ 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, 43, 48,120, 48,
/* 0x2310 */ 69, 67, 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 50, 52, 10, /* 0x2310 */ 48, 48, 48, 48, 48, 50, 52, 10, 10, 82, 69, 76, 79, 67, 65, 84,
/* 0x2320 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, /* 0x2320 */ 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32,
/* 0x2330 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, /* 0x2330 */ 91, 69, 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83,
/* 0x2340 */ 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89, 80, /* 0x2340 */ 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32,
/* 0x2350 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, /* 0x2350 */ 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48,
/* 0x2360 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 32, 82, 95, /* 0x2360 */ 48, 48, 48, 48, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, 50,
/* 0x2370 */ 80, 80, 67, 95, 82, 69, 76, 50, 52, 32, 32, 32, 32, 32, 32, 32, /* 0x2370 */ 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,
/* 0x2380 */ 69, 76, 70, 77, 65, 73, 78, 90, 10, 10, 82, 69, 76, 79, 67, 65, /* 0x2380 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x2390 */ 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, /* 0x2390 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73,
/* 0x23a0 */ 32, 91, 69, 76, 70, 77, 65, 73, 78, 90, 93, 58, 10, 79, 70, 70, /* 0x23a0 */ 78, 90, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 84, 89,
/* 0x23b0 */ 83, 69, 84, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, /* 0x23b0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x23c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, /* 0x23c0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 97, 56, 32, 82,
/* 0x23d0 */ 48, 48, 48, 48, 97, 48, 32, 82, 95, 80, 80, 67, 95, 82, 69, 76, /* 0x23d0 */ 95, 80, 80, 67, 95, 82, 69, 76, 49, 52, 32, 32, 32, 32, 32, 32,
/* 0x23e0 */ 49, 52, 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x23e0 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, 48, 48, 48, 48, 48, 49,
/* 0x23f0 */ 89, 10, 48, 48, 48, 48, 48, 49, 51, 48, 32, 82, 95, 80, 80, 67, /* 0x23f0 */ 50, 56, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82, 51, 50, 32,
/* 0x2400 */ 95, 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, 32, 32, 65, 68, 82, /* 0x2400 */ 32, 32, 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 49,
/* 0x2410 */ 77, 10, 48, 48, 48, 48, 48, 49, 51, 52, 32, 82, 95, 80, 80, 67, /* 0x2410 */ 50, 99, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82, 51, 50, 32,
/* 0x2420 */ 95, 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, 32, 32, 76, 69, 78, /* 0x2420 */ 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 49,
/* 0x2430 */ 77, 10, 48, 48, 48, 48, 48, 49, 51, 56, 32, 82, 95, 80, 80, 67, /* 0x2430 */ 51, 48, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82, 51, 50, 32,
/* 0x2440 */ 95, 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, 32, 32, 76, 69, 78, /* 0x2440 */ 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, 48, 48, 48, 49,
/* 0x2450 */ 85, 10, 48, 48, 48, 48, 48, 49, 51, 99, 32, 82, 95, 80, 80, 67, /* 0x2450 */ 51, 52, 32, 82, 95, 80, 80, 67, 95, 65, 68, 68, 82, 51, 50, 32,
/* 0x2460 */ 95, 65, 68, 68, 82, 51, 50, 32, 32, 32, 32, 32, 32, 79, 95, 66, /* 0x2460 */ 32, 32, 32, 32, 32, 79, 95, 66, 73, 78, 70, 79, 10
/* 0x2470 */ 73, 78, 70, 79, 10
}; };
+239 -221
View File
@@ -1,5 +1,5 @@
/* powerpc-linux.elf-fold.h /* powerpc-linux.elf-fold.h
created from powerpc-linux.elf-fold.bin, 3540 (0xdd4) bytes created from powerpc-linux.elf-fold.bin, 3828 (0xef4) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,231 +31,249 @@
*/ */
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 3540 #define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 3828
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0xc29a94c0 #define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x8388f9e4
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0xfd4cabe0 #define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x783d0e81
unsigned char stub_powerpc_linux_elf_fold[3540] = { unsigned char stub_powerpc_linux_elf_fold[3828] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52, /* 0x0010 */ 0, 2, 0, 20, 0, 0, 0, 1, 0, 16, 0,128, 0, 0, 0, 52,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 16, 0, 0,
/* 0x0040 */ 0, 16, 0, 0, 0, 0, 13,212, 0, 0, 13,212, 0, 0, 0, 5, /* 0x0040 */ 0, 16, 0, 0, 0, 0, 14,244, 0, 0, 14,244, 0, 0, 0, 5,
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 13,212, 0, 0, 0, 0, /* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 14,244, 0, 0, 0, 0,
/* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 124,128, 0, 8, 72, 0, 0,105, 40, 6, 0,208, 76,130, 0, 32, /* 0x0080 */ 72, 0, 0,125, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191,
/* 0x0090 */ 84,132,240,191, 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, /* 0x0090 */ 77,130, 0, 32, 60, 0, 0, 16,124, 4, 0, 64, 65,128, 0, 8,
/* 0x00a0 */ 65,128, 0, 8,124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, /* 0x00a0 */ 124, 4, 3,120, 56,165, 1, 32,124,103, 27,120, 56, 99,255,252,
/* 0x00b0 */ 56, 99,255,252,124,137, 3,166, 72, 0, 0, 28, 85, 96, 2,186, /* 0x00b0 */ 124,137, 3,166, 72, 0, 0, 28, 85, 96, 2,186,124, 3, 0, 80,
/* 0x00c0 */ 124, 3, 0, 80,124, 0, 58, 20, 80, 11, 1,186,145, 99, 0, 0, /* 0x00c0 */ 124, 0, 58, 20, 80, 11, 1,186,145, 99, 0, 0, 78, 64, 0, 32,
/* 0x00d0 */ 78, 64, 0, 32,133, 99, 0, 4, 85, 96, 85,190,124, 0, 40, 64, /* 0x00d0 */ 133, 99, 0, 4, 85, 96, 85,190,124, 0, 40, 64, 65,162,255,220,
/* 0x00e0 */ 65,162,255,220, 66, 0,255,240, 78,128, 0, 32, 56, 0, 0, 0, /* 0x00e0 */ 66, 0,255,240, 78,128, 0, 32, 32, 32, 32, 61, 47,112,114,111,
/* 0x00f0 */ 57, 65, 0,140,146,202, 0, 0,124, 27, 0, 80,127,106,219,120, /* 0x00f0 */ 99, 47,115,101,108,102, 47,101,120,101, 0, 0,126,168, 2,166,
/* 0x0100 */ 127,137,227,120,125, 8, 2,166,125, 30, 0, 56,127,231,251,120, /* 0x0100 */ 56,128, 0, 0, 56,117, 0,104, 56, 0, 0, 5, 68, 0, 0, 2,
/* 0x0110 */ 56, 33,248, 0,128,159,255,248,127,164,248, 80, 59,189,255,248, /* 0x0110 */ 124,116, 27,120, 56,129,255,252, 56, 33,239,252,124, 59, 8, 80,
/* 0x0120 */ 147,161, 0, 8,124,125,210, 20,124,154, 32, 80, 56,161, 0, 16, /* 0x0120 */ 124, 59, 8, 80, 56, 97,255,252, 59,156,255,252,132, 4, 0, 4,
/* 0x0130 */ 128,195, 0, 0,124,128, 0, 8, 72, 0, 9,153,124,127, 27,120, /* 0x0130 */ 127,132,224, 64,148, 3, 0, 4, 65,156,255,244, 59,131, 0, 8,
/* 0x0140 */ 127,163,235,120,124,157,240, 80, 72, 0, 0, 81,127,232, 3,166, /* 0x0140 */ 148, 3, 0, 4,128, 4, 0, 4, 43,128, 0, 0,144, 3, 0, 4,
/* 0x0150 */ 184, 65, 8, 20,128, 33, 8, 0, 78,128, 0, 32, 56, 0, 0, 90, /* 0x0150 */ 132, 4, 0, 8,148, 3, 0, 8, 64,158,255,236, 58, 99, 0, 4,
/* 0x0160 */ 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, 78,128, 0, 32, /* 0x0160 */ 126, 92,152, 80,128, 21, 0,100, 58, 36, 0, 4,148, 3, 0, 4,
/* 0x0170 */ 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 3, 72, 0, 0, 8, /* 0x0170 */ 57,195, 0, 4, 56,160, 15,255,125,196,115,120, 56,117, 0,104,
/* 0x0180 */ 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, 72, 0, 0, 8, /* 0x0180 */ 56, 0, 0, 85, 68, 0, 0, 2, 56,174,255,252, 44, 3, 0, 0,
/* 0x0190 */ 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, 72, 0, 0, 8, /* 0x0190 */ 65,129, 0, 12, 56,181, 0,100, 56, 96, 0, 16, 56, 99, 0, 4,
/* 0x01a0 */ 56, 0, 0, 45, 75,255,255,188,148, 33,255,208,124, 8, 2,166, /* 0x01a0 */ 124,133, 26, 20,124,105, 3,166,126, 35,139,120, 56,160, 0, 0,
/* 0x01b0 */ 147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8, /* 0x01b0 */ 156,163,255,255,140, 4,255,255,156, 3,255,255, 66, 0,255,248,
/* 0x01c0 */ 144,159, 0, 12,144,191, 0, 16,129, 63, 0, 8,128, 9, 0, 4, /* 0x01c0 */ 144,124,255,248,124, 27, 40, 80,124,112, 0, 56,126, 16, 2, 20,
/* 0x01d0 */ 144, 31, 0, 20,128, 31, 0, 12,144, 31, 0, 24,129, 63, 0, 8, /* 0x01d0 */ 127,146,128, 80, 57, 0, 0, 0,126,135,163,120, 56,192, 0, 18,
/* 0x01e0 */ 129, 41, 0, 0,128, 31, 0, 16,127,137, 0, 64, 64,156, 0, 12, /* 0x01e0 */ 56,160, 0, 1,127,100,219,120,126, 3,131,120, 56, 0, 0, 90,
/* 0x01f0 */ 56, 96, 0,127, 75,255,255,125,128, 31, 0, 16,144, 31, 0, 28, /* 0x01f0 */ 68, 0, 0, 2,126,100,155,120,132, 4,255,252,127,132, 8, 64,
/* 0x0200 */ 129, 63, 0, 28, 56, 9,255,255,124, 9, 3,120,145, 63, 0, 28, /* 0x0200 */ 148, 3,255,252, 65,157,255,244,124, 97, 27,120,126,131,163,120,
/* 0x0210 */ 56, 0,255,255,127,137, 0, 0, 65,158, 0, 48,129,127, 0, 24, /* 0x0210 */ 56, 0, 0, 6, 68, 0, 0, 2, 56, 0, 0, 0, 57, 65, 0,140,
/* 0x0220 */ 129, 63, 0, 20,136, 9, 0, 0,152, 11, 0, 0,129, 63, 0, 20, /* 0x0220 */ 146,202, 0, 0,124, 27, 0, 80,127,106,219,120,127,137,227,120,
/* 0x0230 */ 56, 9, 0, 1,144, 31, 0, 20,129, 63, 0, 24, 56, 9, 0, 1, /* 0x0230 */ 126,168,171,120,125, 30, 0, 56,127,231,251,120, 56, 33,248, 0,
/* 0x0240 */ 144, 31, 0, 24, 75,255,255,188,129,127, 0, 8,129, 63, 0, 8, /* 0x0240 */ 128,159,255,248,127,164,248, 80, 59,189,255,248,147,161, 0, 8,
/* 0x0250 */ 129, 41, 0, 4,128, 31, 0, 16,124, 9, 2, 20,144, 11, 0, 4, /* 0x0250 */ 124,125,210, 20,124,154, 32, 80, 56,161, 0, 16,128,195, 0, 0,
/* 0x0260 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16, /* 0x0260 */ 72, 0, 9,153,124,127, 27,120,127, 3,195,120,126,229,187,120,
/* 0x0270 */ 124, 0, 72, 80,144, 11, 0, 0,129, 97, 0, 0,128, 11, 0, 4, /* 0x0270 */ 72, 0, 0, 81,127,232, 3,166,184, 65, 8, 20, 56, 33, 8,144,
/* 0x0280 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, /* 0x0280 */ 78,128, 0, 32, 56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8,
/* 0x0290 */ 148, 33,255,176,124, 8, 2,166,147,225, 0, 76,144, 1, 0, 84, /* 0x0290 */ 56, 96,255,255, 78,128, 0, 32, 56, 0, 0, 1, 72, 0, 0, 8,
/* 0x02a0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, /* 0x02a0 */ 56, 0, 0, 3, 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8,
/* 0x02b0 */ 144,223, 0, 20,129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 0, /* 0x02b0 */ 56, 0, 0, 6, 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8,
/* 0x02c0 */ 65,158, 1,192, 56, 31, 0, 32,128,127, 0, 8,124, 4, 3,120, /* 0x02c0 */ 56, 0, 0, 91, 72, 0, 0, 8, 56, 0, 0, 45, 75,255,255,188,
/* 0x02d0 */ 56,160, 0, 12, 75,255,254,213,128, 31, 0, 32, 47,128, 0, 0, /* 0x02d0 */ 148, 33,255,208,124, 8, 2,166,147,225, 0, 44,144, 1, 0, 52,
/* 0x02e0 */ 64,158, 0, 48,128, 31, 0, 36, 61, 32, 33, 88, 97, 41, 80, 85, /* 0x02e0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x02f0 */ 127,128, 72, 0, 65,158, 0, 8, 72, 0, 0, 36,129, 63, 0, 8, /* 0x02f0 */ 129, 63, 0, 8,128, 9, 0, 4,144, 31, 0, 20,128, 31, 0, 12,
/* 0x0300 */ 128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,120, 72, 0, 0, 16, /* 0x0300 */ 144, 31, 0, 24,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,
/* 0x0310 */ 128, 31, 0, 36, 47,128, 0, 0, 64,158, 0, 12, 56, 96, 0,127, /* 0x0310 */ 127,137, 0, 64, 64,156, 0, 12, 56, 96, 0,127, 75,255,255,125,
/* 0x0320 */ 75,255,254, 81,128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, /* 0x0320 */ 128, 31, 0, 16,144, 31, 0, 28,129, 63, 0, 28, 56, 9,255,255,
/* 0x0330 */ 65,157,255,236,129, 63, 0, 12,129,127, 0, 32,128, 9, 0, 0, /* 0x0330 */ 124, 9, 3,120,145, 63, 0, 28, 56, 0,255,255,127,137, 0, 0,
/* 0x0340 */ 127,139, 0, 64, 65,157,255,216,128, 31, 0, 36,129, 63, 0, 32, /* 0x0340 */ 65,158, 0, 48,129,127, 0, 24,129, 63, 0, 20,136, 9, 0, 0,
/* 0x0350 */ 127,128, 72, 64, 64,156, 0,228,128, 31, 0, 32,144, 31, 0, 48, /* 0x0350 */ 152, 11, 0, 0,129, 63, 0, 20, 56, 9, 0, 1,144, 31, 0, 20,
/* 0x0360 */ 129, 63, 0, 8,129,127, 0, 12, 57, 95, 0, 48,136, 31, 0, 40, /* 0x0360 */ 129, 63, 0, 24, 56, 9, 0, 1,144, 31, 0, 24, 75,255,255,188,
/* 0x0370 */ 84, 0, 6, 62,129, 31, 0, 16,125, 9, 3,166,128,105, 0, 4, /* 0x0370 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 16,
/* 0x0380 */ 128,159, 0, 36,128,171, 0, 4,125, 70, 83,120,124, 7, 3,120, /* 0x0380 */ 124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,
/* 0x0390 */ 78,128, 4, 33,124, 96, 27,120,144, 31, 0, 52,128, 31, 0, 52, /* 0x0390 */ 129, 41, 0, 0,128, 31, 0, 16,124, 0, 72, 80,144, 11, 0, 0,
/* 0x03a0 */ 47,128, 0, 0, 64,158,255,120,128, 31, 0, 32,129, 63, 0, 48, /* 0x03a0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x03b0 */ 127,128, 72, 0, 64,158,255,104,136, 31, 0, 41, 84, 0, 6, 62, /* 0x03b0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,176,124, 8, 2,166,
/* 0x03c0 */ 47,128, 0, 0, 65,158, 0, 64,128, 31, 0, 20, 47,128, 0, 0, /* 0x03c0 */ 147,225, 0, 76,144, 1, 0, 84,124, 63, 11,120,144,127, 0, 8,
/* 0x03d0 */ 65,158, 0, 52,129, 63, 0, 12,136, 31, 0, 42, 84, 11, 6, 62, /* 0x03d0 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,129, 63, 0, 12,
/* 0x03e0 */ 136, 31, 0, 41, 84, 0, 6, 62,129, 31, 0, 20,125, 9, 3,166, /* 0x03e0 */ 128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,192, 56, 31, 0, 32,
/* 0x03f0 */ 128,105, 0, 4,128,159, 0, 48,125,101, 91,120,124, 6, 3,120, /* 0x03f0 */ 128,127, 0, 8,124, 4, 3,120, 56,160, 0, 12, 75,255,254,213,
/* 0x0400 */ 78,128, 4, 33,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4, /* 0x0400 */ 128, 31, 0, 32, 47,128, 0, 0, 64,158, 0, 48,128, 31, 0, 36,
/* 0x0410 */ 128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8, /* 0x0410 */ 61, 32, 33, 88, 97, 41, 80, 85,127,128, 72, 0, 65,158, 0, 8,
/* 0x0420 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 36,124, 0, 72, 80, /* 0x0420 */ 72, 0, 0, 36,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 0,
/* 0x0430 */ 144, 11, 0, 0, 72, 0, 0, 24,129, 63, 0, 12,128,127, 0, 8, /* 0x0430 */ 65,158, 1,120, 72, 0, 0, 16,128, 31, 0, 36, 47,128, 0, 0,
/* 0x0440 */ 128,137, 0, 4,128,191, 0, 36, 75,255,253, 97,129,127, 0, 12, /* 0x0440 */ 64,158, 0, 12, 56, 96, 0,127, 75,255,254, 81,128, 31, 0, 36,
/* 0x0450 */ 129, 63, 0, 12,129, 41, 0, 4,128, 31, 0, 32,124, 9, 2, 20, /* 0x0450 */ 129, 63, 0, 32,127,128, 72, 64, 65,157,255,236,129, 63, 0, 12,
/* 0x0460 */ 144, 11, 0, 4,129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 0, /* 0x0460 */ 129,127, 0, 32,128, 9, 0, 0,127,139, 0, 64, 65,157,255,216,
/* 0x0470 */ 128, 31, 0, 32,124, 0, 72, 80,144, 11, 0, 0, 75,255,254, 56, /* 0x0470 */ 128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64, 64,156, 0,228,
/* 0x0480 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, /* 0x0480 */ 128, 31, 0, 32,144, 31, 0, 48,129, 63, 0, 8,129,127, 0, 12,
/* 0x0490 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28, /* 0x0490 */ 57, 95, 0, 48,136, 31, 0, 40, 84, 0, 6, 62,129, 31, 0, 16,
/* 0x04a0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,128, 31, 0, 12, /* 0x04a0 */ 125, 9, 3,166,128,105, 0, 4,128,159, 0, 36,128,171, 0, 4,
/* 0x04b0 */ 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 8,125, 43, 75,120, /* 0x04b0 */ 125, 70, 83,120,124, 7, 3,120, 78,128, 4, 33,124, 96, 27,120,
/* 0x04c0 */ 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1,145, 63, 0, 8, /* 0x04c0 */ 144, 31, 0, 52,128, 31, 0, 52, 47,128, 0, 0, 64,158,255,120,
/* 0x04d0 */ 129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12, 47,128, 0, 0, /* 0x04d0 */ 128, 31, 0, 32,129, 63, 0, 48,127,128, 72, 0, 64,158,255,104,
/* 0x04e0 */ 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0,131,235,255,252, /* 0x04e0 */ 136, 31, 0, 41, 84, 0, 6, 62, 47,128, 0, 0, 65,158, 0, 64,
/* 0x04f0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28, /* 0x04f0 */ 128, 31, 0, 20, 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 12,
/* 0x0500 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, /* 0x0500 */ 136, 31, 0, 42, 84, 11, 6, 62,136, 31, 0, 41, 84, 0, 6, 62,
/* 0x0510 */ 128, 31, 0, 8, 47,128, 0, 0, 65,158, 0,100,129, 63, 0, 8, /* 0x0510 */ 129, 31, 0, 20,125, 9, 3,166,128,105, 0, 4,128,159, 0, 48,
/* 0x0520 */ 129, 41, 0, 0,128, 31, 0, 12,127,137, 0, 0, 65,158, 0, 36, /* 0x0520 */ 125,101, 91,120,124, 6, 3,120, 78,128, 4, 33,129,127, 0, 8,
/* 0x0530 */ 129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 48, /* 0x0530 */ 129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 36,124, 9, 2, 20,
/* 0x0540 */ 128, 31, 0, 12, 47,128, 0, 0, 64,158, 0, 8, 72, 0, 0, 32, /* 0x0540 */ 144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0,
/* 0x0550 */ 129, 63, 0, 8,128, 31, 0, 12,144, 9, 0, 0,129, 63, 0, 8, /* 0x0550 */ 128, 31, 0, 36,124, 0, 72, 80,144, 11, 0, 0, 72, 0, 0, 24,
/* 0x0560 */ 128, 31, 0, 16,144, 9, 0, 4, 72, 0, 0, 20,129, 63, 0, 8, /* 0x0560 */ 129, 63, 0, 12,128,127, 0, 8,128,137, 0, 4,128,191, 0, 36,
/* 0x0570 */ 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,164,129, 97, 0, 0, /* 0x0570 */ 75,255,253, 97,129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 4,
/* 0x0580 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,192, /* 0x0580 */ 128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 12,
/* 0x0590 */ 124, 8, 2,166,147,225, 0, 60,144, 1, 0, 68,124, 63, 11,120, /* 0x0590 */ 129, 63, 0, 12,129, 41, 0, 0,128, 31, 0, 32,124, 0, 72, 80,
/* 0x05a0 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, /* 0x05a0 */ 144, 11, 0, 0, 75,255,254, 56,129, 97, 0, 0,128, 11, 0, 4,
/* 0x05b0 */ 144,255, 0, 24, 56, 0,255,255,144, 31, 0, 28, 56, 0, 0, 0, /* 0x05b0 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x05c0 */ 144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36,129, 63, 0, 8, /* 0x05c0 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,
/* 0x05d0 */ 56, 9, 8, 34,144, 31, 0, 8,129, 63, 0, 16, 56, 9,255,255, /* 0x05d0 */ 144,159, 0, 12,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52,
/* 0x05e0 */ 144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,136,129, 63, 0, 12, /* 0x05e0 */ 129, 63, 0, 8,125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0,
/* 0x05f0 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 0,104,129, 63, 0, 12, /* 0x05f0 */ 57, 41, 0, 1,145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255,
/* 0x0600 */ 129, 41, 0, 8,128, 31, 0, 28,127,137, 0, 64, 64,156, 0, 28, /* 0x0600 */ 144, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212,
/* 0x0610 */ 129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 28,129, 63, 0, 12, /* 0x0610 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0620 */ 128, 9, 0, 16,144, 31, 0, 36,129, 63, 0, 12,129,127, 0, 12, /* 0x0620 */ 148, 33,255,224,147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,
/* 0x0630 */ 129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32, /* 0x0630 */ 144,159, 0, 12,144,191, 0, 16,128, 31, 0, 8, 47,128, 0, 0,
/* 0x0640 */ 127,137, 0, 64, 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12, /* 0x0640 */ 65,158, 0,100,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12,
/* 0x0650 */ 129, 41, 0, 20,128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32, /* 0x0650 */ 127,137, 0, 0, 65,158, 0, 36,129, 63, 0, 8,128, 9, 0, 0,
/* 0x0660 */ 129, 63, 0, 12, 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,108, /* 0x0660 */ 47,128, 0, 1, 64,158, 0, 48,128, 31, 0, 12, 47,128, 0, 0,
/* 0x0670 */ 128, 31, 0, 24,124, 9, 0,248,128, 31, 0, 28,125, 41, 0, 56, /* 0x0670 */ 64,158, 0, 8, 72, 0, 0, 32,129, 63, 0, 8,128, 31, 0, 12,
/* 0x0680 */ 128, 31, 0, 36,124, 0, 74, 20,144, 31, 0, 36,129, 63, 0, 28, /* 0x0680 */ 144, 9, 0, 0,129, 63, 0, 8,128, 31, 0, 16,144, 9, 0, 4,
/* 0x0690 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32, /* 0x0690 */ 72, 0, 0, 20,129, 63, 0, 8, 56, 9, 0, 8,144, 31, 0, 8,
/* 0x06a0 */ 128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80, /* 0x06a0 */ 75,255,255,164,129, 97, 0, 0,131,235,255,252,125, 97, 91,120,
/* 0x06b0 */ 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32, /* 0x06b0 */ 78,128, 0, 32,148, 33,255,192,124, 8, 2,166,147,225, 0, 60,
/* 0x06c0 */ 129, 63, 0, 36,128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255, /* 0x06c0 */ 144, 1, 0, 68,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,
/* 0x06d0 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 36,128,127, 0, 28, /* 0x06d0 */ 144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, 56, 0,255,255,
/* 0x06e0 */ 128,159, 0, 32, 56,160, 0, 0,128,223, 0, 8, 56,224,255,255, /* 0x06e0 */ 144, 31, 0, 28, 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 0, 0,
/* 0x06f0 */ 57, 0, 0, 0, 75,255,250,105,144,127, 0, 40,129,127, 0, 20, /* 0x06f0 */ 144, 31, 0, 36,129, 63, 0, 8, 56, 9, 8, 34,144, 31, 0, 8,
/* 0x0700 */ 129, 63, 0, 40,128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 0, /* 0x0700 */ 129, 63, 0, 16, 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0,
/* 0x0710 */ 129, 63, 0, 40,128, 31, 0, 28,124, 0, 72, 80,124, 3, 3,120, /* 0x0710 */ 65,156, 0,136,129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1,
/* 0x0720 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252, /* 0x0720 */ 64,158, 0,104,129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 28,
/* 0x0730 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,124, 8, 2,166, /* 0x0730 */ 127,137, 0, 64, 64,156, 0, 28,129, 63, 0, 12,128, 9, 0, 8,
/* 0x0740 */ 147,225, 0,108,144, 1, 0,116,124, 63, 11,120,144,127, 0, 8, /* 0x0740 */ 144, 31, 0, 28,129, 63, 0, 12,128, 9, 0, 16,144, 31, 0, 36,
/* 0x0750 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24, /* 0x0750 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
/* 0x0760 */ 145, 31, 0, 28,145, 63, 0, 32,145, 95, 0, 36,129, 63, 0, 8, /* 0x0760 */ 125, 41, 2, 20,128, 31, 0, 32,127,137, 0, 64, 64,157, 0, 28,
/* 0x0770 */ 129, 41, 0, 28,128, 31, 0, 8,124, 9, 2, 20,144, 31, 0, 40, /* 0x0770 */ 129, 63, 0, 12,129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,
/* 0x0780 */ 129, 63, 0, 8,160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 3, /* 0x0780 */ 124, 9, 2, 20,144, 31, 0, 32,129, 63, 0, 12, 56, 9, 0, 32,
/* 0x0790 */ 65,158, 0, 16, 56, 0, 0, 16,144, 31, 0, 88, 72, 0, 0, 12, /* 0x0790 */ 144, 31, 0, 12, 75,255,255,108,128, 31, 0, 24,124, 9, 0,248,
/* 0x07a0 */ 57, 32, 0, 0,145, 63, 0, 88,129, 63, 0, 8,160, 9, 0, 44, /* 0x07a0 */ 128, 31, 0, 28,125, 41, 0, 56,128, 31, 0, 36,124, 0, 74, 20,
/* 0x07b0 */ 84, 0, 4, 62, 57, 63, 0, 44,128,127, 0, 88,128,159, 0, 40, /* 0x07b0 */ 144, 31, 0, 36,129, 63, 0, 28,128, 31, 0, 24,125, 32, 0, 56,
/* 0x07c0 */ 124, 5, 3,120,125, 38, 75,120,128,255, 0, 36, 75,255,253,193, /* 0x07c0 */ 144, 31, 0, 28,129, 63, 0, 32,128, 31, 0, 28,125, 32, 72, 80,
/* 0x07d0 */ 124, 96, 27,120,144, 31, 0, 48, 56, 0, 0, 0,144, 31, 0, 52, /* 0x07d0 */ 128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 24,
/* 0x07e0 */ 129, 63, 0, 8,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 52, /* 0x07e0 */ 125, 32, 0, 56,144, 31, 0, 32,129, 63, 0, 36,128, 31, 0, 24,
/* 0x07f0 */ 127,137, 0, 0, 64,157, 2,152,128, 31, 0, 12, 47,128, 0, 0, /* 0x07f0 */ 125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,
/* 0x0800 */ 65,158, 0, 56,129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 6, /* 0x0800 */ 144, 31, 0, 36,128,127, 0, 28,128,159, 0, 32, 56,160, 0, 0,
/* 0x0810 */ 64,158, 0, 40,129, 63, 0, 40,129, 41, 0, 8,128, 31, 0, 48, /* 0x0810 */ 128,223, 0, 8, 56,224,255,255, 57, 0, 0, 0, 75,255,250,105,
/* 0x0820 */ 124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, /* 0x0820 */ 144,127, 0, 40,129,127, 0, 20,129, 63, 0, 40,128, 31, 0, 32,
/* 0x0830 */ 75,255,252,201, 72, 0, 2, 60,129, 63, 0, 40,128, 9, 0, 0, /* 0x0830 */ 124, 9, 2, 20,144, 11, 0, 0,129, 63, 0, 40,128, 31, 0, 28,
/* 0x0840 */ 47,128, 0, 1, 64,158, 2, 44,129, 63, 0, 40,128, 9, 0, 24, /* 0x0840 */ 124, 0, 72, 80,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,
/* 0x0850 */ 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64, /* 0x0850 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0860 */ 124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 56,129, 63, 0, 40, /* 0x0860 */ 148, 33,255,144,124, 8, 2,166,147,225, 0,108,144, 1, 0,116,
/* 0x0870 */ 128, 9, 0, 16,144, 31, 0, 64,144, 31, 0, 72,129, 63, 0, 40, /* 0x0870 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x0880 */ 129, 41, 0, 8,128, 31, 0, 48,124, 9, 2, 20,144, 31, 0, 68, /* 0x0880 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32,
/* 0x0890 */ 144, 31, 0, 76,129, 63, 0, 40,129, 41, 0, 20,128, 31, 0, 76, /* 0x0890 */ 145, 95, 0, 36,129, 63, 0, 8,129, 41, 0, 28,128, 31, 0, 8,
/* 0x08a0 */ 124, 9, 2, 20,144, 31, 0, 80,128, 31, 0, 36,124, 9, 0,248, /* 0x08a0 */ 124, 9, 2, 20,144, 31, 0, 40,129, 63, 0, 8,160, 9, 0, 16,
/* 0x08b0 */ 128, 31, 0, 76,125, 32, 0, 56,144, 31, 0, 84,129, 63, 0, 72, /* 0x08b0 */ 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 16, 56, 0, 0, 16,
/* 0x08c0 */ 128, 31, 0, 84,124, 9, 2, 20,144, 31, 0, 72,129, 63, 0, 76, /* 0x08c0 */ 144, 31, 0, 88, 72, 0, 0, 12, 57, 32, 0, 0,145, 63, 0, 88,
/* 0x08d0 */ 128, 31, 0, 84,124, 0, 72, 80,144, 31, 0, 76,128, 31, 0, 12, /* 0x08d0 */ 129, 63, 0, 8,160, 9, 0, 44, 84, 0, 4, 62, 57, 63, 0, 44,
/* 0x08e0 */ 124, 11,254,112,125,105, 2,120,125, 43, 72, 80,145, 63, 0, 92, /* 0x08e0 */ 128,127, 0, 88,128,159, 0, 40,124, 5, 3,120,125, 38, 75,120,
/* 0x08f0 */ 128, 31, 0, 92,124, 0, 0,208,144, 31, 0, 92,129, 63, 0, 92, /* 0x08f0 */ 128,255, 0, 36, 75,255,253,193,124, 96, 27,120,144, 31, 0, 48,
/* 0x0900 */ 85, 41, 15,254,145, 63, 0, 92,129,127, 0, 92, 85,107, 8, 60, /* 0x0900 */ 56, 0, 0, 0,144, 31, 0, 52,129, 63, 0, 8,160, 9, 0, 44,
/* 0x0910 */ 145,127, 0, 92,128, 31, 0, 56,129, 63, 0, 92,125, 41, 3,120, /* 0x0910 */ 84, 9, 4, 62,128, 31, 0, 52,127,137, 0, 0, 64,157, 2,152,
/* 0x0920 */ 145, 63, 0, 92,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 16, /* 0x0920 */ 128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 56,129, 63, 0, 40,
/* 0x0930 */ 57, 96, 0, 50,145,127, 0, 96, 72, 0, 0, 12, 56, 0, 0, 18, /* 0x0930 */ 128, 9, 0, 0, 47,128, 0, 6, 64,158, 0, 40,129, 63, 0, 40,
/* 0x0940 */ 144, 31, 0, 96,128, 31, 0, 12, 47,128, 0, 0, 64,158, 0, 16, /* 0x0940 */ 129, 41, 0, 8,128, 31, 0, 48,124, 9, 2, 20,128,127, 0, 20,
/* 0x0950 */ 129, 63, 0, 16,145, 63, 0,100, 72, 0, 0, 12, 57, 96,255,255, /* 0x0950 */ 56,128, 0, 3,124, 5, 3,120, 75,255,252,201, 72, 0, 2, 60,
/* 0x0960 */ 145,127, 0,100,129, 63, 0, 40,129, 41, 0, 4,128, 31, 0, 84, /* 0x0960 */ 129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 1, 64,158, 2, 44,
/* 0x0970 */ 124, 0, 72, 80,128,127, 0, 76,128,159, 0, 72,128,191, 0, 92, /* 0x0970 */ 129, 63, 0, 40,128, 9, 0, 24, 84, 0, 7,126, 84, 9, 16, 58,
/* 0x0980 */ 128,223, 0, 96,128,255, 0,100,124, 8, 3,120, 75,255,247,209, /* 0x0980 */ 60, 0,115, 81, 96, 0, 98, 64,124, 0, 76, 48, 84, 0, 7,126,
/* 0x0990 */ 124,105, 27,120,128, 31, 0, 76,127,137, 0, 0, 65,158, 0, 8, /* 0x0990 */ 144, 31, 0, 56,129, 63, 0, 40,128, 9, 0, 16,144, 31, 0, 64,
/* 0x09a0 */ 72, 0, 0,200,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 28, /* 0x09a0 */ 144, 31, 0, 72,129, 63, 0, 40,129, 41, 0, 8,128, 31, 0, 48,
/* 0x09b0 */ 56, 31, 0, 64,128,127, 0, 12,124, 4, 3,120,128,191, 0, 24, /* 0x09b0 */ 124, 9, 2, 20,144, 31, 0, 68,144, 31, 0, 76,129, 63, 0, 40,
/* 0x09c0 */ 128,223, 0, 28, 75,255,248,205,128, 31, 0, 72,125, 32, 0,208, /* 0x09c0 */ 129, 41, 0, 20,128, 31, 0, 76,124, 9, 2, 20,144, 31, 0, 80,
/* 0x09d0 */ 128, 31, 0, 36,124, 0, 0,248,125, 32, 0, 56,144, 31, 0, 84, /* 0x09d0 */ 128, 31, 0, 36,124, 9, 0,248,128, 31, 0, 76,125, 32, 0, 56,
/* 0x09e0 */ 128, 31, 0, 56, 84, 0, 7,188, 47,128, 0, 0, 65,158, 0, 28, /* 0x09e0 */ 144, 31, 0, 84,129, 63, 0, 72,128, 31, 0, 84,124, 9, 2, 20,
/* 0x09f0 */ 128, 31, 0, 76,129, 63, 0, 72,124, 0, 74, 20,124, 3, 3,120, /* 0x09f0 */ 144, 31, 0, 72,129, 63, 0, 76,128, 31, 0, 84,124, 0, 72, 80,
/* 0x0a00 */ 128,159, 0, 84, 75,255,250,149,129, 63, 0, 72,128, 31, 0, 84, /* 0x0a00 */ 144, 31, 0, 76,128, 31, 0, 12,124, 11,254,112,125,105, 2,120,
/* 0x0a10 */ 125, 41, 2, 20,128, 31, 0, 76,124, 0, 74, 20,144, 31, 0, 76, /* 0x0a10 */ 125, 43, 72, 80,145, 63, 0, 92,128, 31, 0, 92,124, 0, 0,208,
/* 0x0a20 */ 129, 63, 0, 76,128, 31, 0, 80,127,137, 0, 64, 64,156, 0, 68, /* 0x0a20 */ 144, 31, 0, 92,129, 63, 0, 92, 85, 41, 15,254,145, 63, 0, 92,
/* 0x0a30 */ 129, 63, 0, 80,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 76, /* 0x0a30 */ 129,127, 0, 92, 85,107, 8, 60,145,127, 0, 92,128, 31, 0, 56,
/* 0x0a40 */ 124, 4, 3,120,128,191, 0, 56, 56,192, 0, 50, 56,224,255,255, /* 0x0a40 */ 129, 63, 0, 92,125, 41, 3,120,145, 63, 0, 92,128, 31, 0, 12,
/* 0x0a50 */ 57, 0, 0, 0, 75,255,247, 9,124,105, 27,120,128, 31, 0, 76, /* 0x0a50 */ 47,128, 0, 0, 65,158, 0, 16, 57, 96, 0, 50,145,127, 0, 96,
/* 0x0a60 */ 127,137, 0, 0, 65,158, 0, 12, 56, 96, 0,127, 75,255,247, 5, /* 0x0a60 */ 72, 0, 0, 12, 56, 0, 0, 18,144, 31, 0, 96,128, 31, 0, 12,
/* 0x0a70 */ 129, 63, 0, 40, 56, 9, 0, 32,144, 31, 0, 40,129, 63, 0, 52, /* 0x0a70 */ 47,128, 0, 0, 64,158, 0, 16,129, 63, 0, 16,145, 63, 0,100,
/* 0x0a80 */ 56, 9, 0, 1,144, 31, 0, 52, 75,255,253, 88,128, 31, 0, 32, /* 0x0a80 */ 72, 0, 0, 12, 57, 96,255,255,145,127, 0,100,129, 63, 0, 40,
/* 0x0a90 */ 47,128, 0, 0, 65,158, 0, 16,129, 63, 0, 32,128, 31, 0, 48, /* 0x0a90 */ 129, 41, 0, 4,128, 31, 0, 84,124, 0, 72, 80,128,127, 0, 76,
/* 0x0aa0 */ 144, 9, 0, 0,129, 63, 0, 8,129, 41, 0, 24,128, 31, 0, 48, /* 0x0aa0 */ 128,159, 0, 72,128,191, 0, 92,128,223, 0, 96,128,255, 0,100,
/* 0x0ab0 */ 124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4, /* 0x0ab0 */ 124, 8, 3,120, 75,255,247,209,124,105, 27,120,128, 31, 0, 76,
/* 0x0ac0 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, /* 0x0ac0 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0,200,128, 31, 0, 12,
/* 0x0ad0 */ 148, 33,255,144,124, 8, 2,166,147,225, 0,108,144, 1, 0,116, /* 0x0ad0 */ 47,128, 0, 0, 65,158, 0, 28, 56, 31, 0, 64,128,127, 0, 12,
/* 0x0ae0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, /* 0x0ae0 */ 124, 4, 3,120,128,191, 0, 24,128,223, 0, 28, 75,255,248,205,
/* 0x0af0 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32, /* 0x0af0 */ 128, 31, 0, 72,125, 32, 0,208,128, 31, 0, 36,124, 0, 0,248,
/* 0x0b00 */ 145, 95, 0, 36,128, 31, 0, 36,124, 0, 0,208,144, 31, 0, 40, /* 0x0b00 */ 125, 32, 0, 56,144, 31, 0, 84,128, 31, 0, 56, 84, 0, 7,188,
/* 0x0b10 */ 128, 31, 0, 36, 47,128, 16, 0, 65,158, 0, 28,128, 31, 0, 36, /* 0x0b10 */ 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 76,129, 63, 0, 72,
/* 0x0b20 */ 61, 32, 0, 1,127,128, 72, 0, 65,158, 0, 12, 56, 96, 0,232, /* 0x0b20 */ 124, 0, 74, 20,124, 3, 3,120,128,159, 0, 84, 75,255,250,149,
/* 0x0b30 */ 75,255,246, 65,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 44, /* 0x0b30 */ 129, 63, 0, 72,128, 31, 0, 84,125, 41, 2, 20,128, 31, 0, 76,
/* 0x0b40 */ 128, 31, 0, 16,144, 31, 0, 52,129, 63, 0, 8,128, 9, 0, 0, /* 0x0b40 */ 124, 0, 74, 20,144, 31, 0, 76,129, 63, 0, 76,128, 31, 0, 80,
/* 0x0b50 */ 144, 31, 0, 48,128, 31, 0, 8,144, 31, 0, 68,128, 31, 0, 12, /* 0x0b50 */ 127,137, 0, 64, 64,156, 0, 68,129, 63, 0, 80,128, 31, 0, 76,
/* 0x0b60 */ 144, 31, 0, 64,128, 31, 0, 8,144, 31, 0, 60,128, 31, 0, 12, /* 0x0b60 */ 124, 0, 72, 80,128,127, 0, 76,124, 4, 3,120,128,191, 0, 56,
/* 0x0b70 */ 144, 31, 0, 56, 56, 31, 0, 64, 57, 63, 0, 48,124, 3, 3,120, /* 0x0b70 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,247, 9,
/* 0x0b80 */ 125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0, 75,255,247, 5, /* 0x0b80 */ 124,105, 27,120,128, 31, 0, 76,127,137, 0, 0, 65,158, 0, 12,
/* 0x0b90 */ 129, 63, 0, 44,129, 41, 0, 8, 56, 9, 0, 52,128,127, 0, 32, /* 0x0b90 */ 56, 96, 0,127, 75,255,247, 5,129, 63, 0, 40, 56, 9, 0, 32,
/* 0x0ba0 */ 56,128, 0, 3,124, 5, 3,120, 75,255,249, 81,129, 63, 0, 16, /* 0x0ba0 */ 144, 31, 0, 40,129, 63, 0, 52, 56, 9, 0, 1,144, 31, 0, 52,
/* 0x0bb0 */ 160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 32, 56,128, 0, 5, /* 0x0bb0 */ 75,255,253, 88,128, 31, 0, 32, 47,128, 0, 0, 65,158, 0, 16,
/* 0x0bc0 */ 124, 5, 3,120, 75,255,249, 53,129, 63, 0, 16,160, 9, 0, 16, /* 0x0bc0 */ 129, 63, 0, 32,128, 31, 0, 48,144, 9, 0, 0,129, 63, 0, 8,
/* 0x0bd0 */ 84, 0, 4, 62,144, 31, 0, 72,128, 31, 0, 72, 47,128, 0, 3, /* 0x0bd0 */ 129, 41, 0, 24,128, 31, 0, 48,124, 9, 2, 20,124, 3, 3,120,
/* 0x0be0 */ 64,158, 0,168,129, 63, 0, 16, 56, 0, 0, 2,176, 9, 0, 16, /* 0x0be0 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x0bf0 */ 129, 63, 0, 16,129, 41, 0, 24,128, 31, 0,120,124, 9, 2, 20, /* 0x0bf0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,
/* 0x0c00 */ 128,127, 0, 32, 56,128, 0, 9,124, 5, 3,120, 75,255,248,237, /* 0x0c00 */ 147,225, 0,108,144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,
/* 0x0c10 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 44, 56, 0, 0, 0, /* 0x0c10 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,
/* 0x0c20 */ 144, 31, 0, 76,129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62, /* 0x0c20 */ 145, 31, 0, 28,145, 63, 0, 32,145, 95, 0, 36,128, 31, 0, 36,
/* 0x0c30 */ 128, 31, 0, 76,127,137, 0, 64, 64,157, 0, 80,129,127, 0, 44, /* 0x0c30 */ 124, 0, 0,208,144, 31, 0, 40,128, 31, 0, 36, 47,128, 16, 0,
/* 0x0c40 */ 129, 63, 0, 44,129, 41, 0, 8,128, 31, 0,120,124, 9, 2, 20, /* 0x0c40 */ 65,158, 0, 28,128, 31, 0, 36, 61, 32, 0, 1,127,128, 72, 0,
/* 0x0c50 */ 144, 11, 0, 8,129,127, 0, 44,129, 63, 0, 44,129, 41, 0, 12, /* 0x0c50 */ 65,158, 0, 12, 56, 96, 0,232, 75,255,246, 65,129, 63, 0, 16,
/* 0x0c60 */ 128, 31, 0,120,124, 9, 2, 20,144, 11, 0, 12,129, 63, 0, 44, /* 0x0c60 */ 56, 9, 0, 52,144, 31, 0, 44,128, 31, 0, 16,144, 31, 0, 52,
/* 0x0c70 */ 56, 9, 0, 32,144, 31, 0, 44,129, 63, 0, 76, 56, 9, 0, 1, /* 0x0c70 */ 129, 63, 0, 8,128, 9, 0, 0,144, 31, 0, 48,128, 31, 0, 8,
/* 0x0c80 */ 144, 31, 0, 76, 75,255,255,160, 56, 31, 0, 56,128,127, 0, 16, /* 0x0c80 */ 144, 31, 0, 68,128, 31, 0, 12,144, 31, 0, 64,128, 31, 0, 8,
/* 0x0c90 */ 124, 4, 3,120, 56,160, 0, 0,128,223, 0, 32,128,255, 0, 24, /* 0x0c90 */ 144, 31, 0, 60,128, 31, 0, 12,144, 31, 0, 56, 56, 31, 0, 64,
/* 0x0ca0 */ 129, 31, 0, 28, 57, 63, 0,120,129, 95, 0, 40, 75,255,250,141, /* 0x0ca0 */ 57, 63, 0, 48,124, 3, 3,120,125, 36, 75,120,128,191, 0, 24,
/* 0x0cb0 */ 124, 96, 27,120,144, 31, 0, 76,128, 31, 0, 72, 47,128, 0, 3, /* 0x0cb0 */ 56,192, 0, 0, 75,255,247, 5,129, 63, 0, 44,128,127, 0, 32,
/* 0x0cc0 */ 65,158, 0, 20,128,127, 0, 32, 56,128, 0, 9,128,191, 0, 76, /* 0x0cc0 */ 56,128, 0, 3,128,169, 0, 8, 75,255,249, 89,129, 63, 0, 16,
/* 0x0cd0 */ 75,255,248, 41, 56, 0, 0, 0,144, 31, 0, 80,129, 63, 0, 16, /* 0x0cd0 */ 160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 32, 56,128, 0, 5,
/* 0x0ce0 */ 160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 80,127,137, 0, 0, /* 0x0ce0 */ 124, 5, 3,120, 75,255,249, 61,129, 63, 0, 16,160, 9, 0, 16,
/* 0x0cf0 */ 64,157, 0,196,129, 63, 0, 44,128, 9, 0, 0, 47,128, 0, 3, /* 0x0cf0 */ 84, 0, 4, 62,144, 31, 0, 72,128, 31, 0, 72, 47,128, 0, 3,
/* 0x0d00 */ 64,158, 0,152,129, 63, 0, 44,129, 41, 0, 8,128, 31, 0,120, /* 0x0d00 */ 64,158, 0,168,129, 63, 0, 16, 56, 0, 0, 2,176, 9, 0, 16,
/* 0x0d10 */ 124, 9, 2, 20,144, 31, 0, 84,128,127, 0, 84, 56,128, 0, 0, /* 0x0d10 */ 129, 63, 0, 16,129, 41, 0, 24,128, 31, 0,120,124, 9, 2, 20,
/* 0x0d20 */ 56,160, 0, 0, 75,255,244, 93,124, 96, 27,120,144, 31, 0, 88, /* 0x0d20 */ 128,127, 0, 32, 56,128, 0, 9,124, 5, 3,120, 75,255,248,245,
/* 0x0d30 */ 128, 31, 0, 88, 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32, /* 0x0d30 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 44, 56, 0, 0, 0,
/* 0x0d40 */ 128,127, 0, 88,128,159, 0, 16, 56,160, 2, 0, 75,255,244, 45, /* 0x0d40 */ 144, 31, 0, 76,129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62,
/* 0x0d50 */ 124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127, /* 0x0d50 */ 128, 31, 0, 76,127,137, 0, 64, 64,157, 0, 80,129,127, 0, 44,
/* 0x0d60 */ 75,255,244, 17,128,127, 0, 16, 56,128, 0, 0,128,191, 0, 88, /* 0x0d60 */ 129, 63, 0, 44,129, 41, 0, 8,128, 31, 0,120,124, 9, 2, 20,
/* 0x0d70 */ 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, 57, 32, 0, 0, /* 0x0d70 */ 144, 11, 0, 8,129,127, 0, 44,129, 63, 0, 44,129, 41, 0, 12,
/* 0x0d80 */ 129, 95, 0, 40, 75,255,249,181,124, 96, 27,120,144, 31, 0, 76, /* 0x0d80 */ 128, 31, 0,120,124, 9, 2, 20,144, 11, 0, 12,129, 63, 0, 44,
/* 0x0d90 */ 128,127, 0, 88, 75,255,243,245,129, 63, 0, 44, 56, 9, 0, 32, /* 0x0d90 */ 56, 9, 0, 32,144, 31, 0, 44,129, 63, 0, 76, 56, 9, 0, 1,
/* 0x0da0 */ 144, 31, 0, 44,129, 63, 0, 80, 56, 9, 0, 1,144, 31, 0, 80, /* 0x0da0 */ 144, 31, 0, 76, 75,255,255,160, 56, 31, 0, 56,128,127, 0, 16,
/* 0x0db0 */ 75,255,255, 44,128, 31, 0, 76,124, 3, 3,120,129, 97, 0, 0, /* 0x0db0 */ 124, 4, 3,120, 56,160, 0, 0,128,223, 0, 32,128,255, 0, 24,
/* 0x0dc0 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, /* 0x0dc0 */ 129, 31, 0, 28, 57, 63, 0,120,129, 95, 0, 40, 75,255,250,149,
/* 0x0dd0 */ 78,128, 0, 32 /* 0x0dd0 */ 124, 96, 27,120,144, 31, 0, 76,128, 31, 0, 72, 47,128, 0, 3,
/* 0x0de0 */ 65,158, 0, 20,128,127, 0, 32, 56,128, 0, 9,128,191, 0, 76,
/* 0x0df0 */ 75,255,248, 49, 56, 0, 0, 0,144, 31, 0, 80,129, 63, 0, 16,
/* 0x0e00 */ 160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 80,127,137, 0, 0,
/* 0x0e10 */ 64,157, 0,196,129, 63, 0, 44,128, 9, 0, 0, 47,128, 0, 3,
/* 0x0e20 */ 64,158, 0,152,129, 63, 0, 44,129, 41, 0, 8,128, 31, 0,120,
/* 0x0e30 */ 124, 9, 2, 20,144, 31, 0, 84,128,127, 0, 84, 56,128, 0, 0,
/* 0x0e40 */ 56,160, 0, 0, 75,255,244,101,124, 96, 27,120,144, 31, 0, 88,
/* 0x0e50 */ 128, 31, 0, 88, 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32,
/* 0x0e60 */ 128,127, 0, 88,128,159, 0, 16, 56,160, 2, 0, 75,255,244, 53,
/* 0x0e70 */ 124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127,
/* 0x0e80 */ 75,255,244, 25,128,127, 0, 16, 56,128, 0, 0,128,191, 0, 88,
/* 0x0e90 */ 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, 57, 32, 0, 0,
/* 0x0ea0 */ 129, 95, 0, 40, 75,255,249,189,124, 96, 27,120,144, 31, 0, 76,
/* 0x0eb0 */ 128,127, 0, 88, 75,255,243,253,129, 63, 0, 44, 56, 9, 0, 32,
/* 0x0ec0 */ 144, 31, 0, 44,129, 63, 0, 80, 56, 9, 0, 1,144, 31, 0, 80,
/* 0x0ed0 */ 75,255,255, 44,128, 31, 0, 76,124, 3, 3,120,129, 97, 0, 0,
/* 0x0ee0 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120,
/* 0x0ef0 */ 78,128, 0, 32
}; };
+8 -6
View File
@@ -30,8 +30,10 @@
#include "arch/amd64/macros.S" #include "arch/amd64/macros.S"
#include "arch/amd64/regs.h" #include "arch/amd64/regs.h"
PAGE_SHIFT= 12 PATH_MAX= 4096 // /usr/include/linux/limits.h
PAGE_MASK= 0xffffffffffffffff<<PAGE_SHIFT PAGE_SHIFT= 12 // /usr/include/sys/user.h
PAGE_SIZE= 1 << PAGE_SHIFT
PAGE_MASK= ~0 << PAGE_SHIFT
sz_b_info= 12 sz_b_info= 12
sz_unc= 0 sz_unc= 0
@@ -78,7 +80,7 @@ L90:
pop %rbx # L90a pop %rbx # L90a
lea L90b - L90a(%rbx),%rax; push %rax # &amdbxx: f_unfilter lea L90b - L90a(%rbx),%rax; push %rax # &amdbxx: f_unfilter
mov %rsp,%rsi mov %rsp,%rsi
sub $3*4096,%rsp sub $2*PAGE_SIZE + PATH_MAX,%rsp
push %rsp; pop %rdi push %rsp; pop %rdi
push $7; pop %rcx; rep movsq # f_unfilter,LENX,ADRX,LENU,ADRU,slide,argc push $7; pop %rcx; rep movsq # f_unfilter,LENX,ADRX,LENU,ADRU,slide,argc
0: 0:
@@ -95,7 +97,7 @@ L90:
sub %r15,%r12 # -length of auxv sub %r15,%r12 # -length of auxv
push $ __NR_readlink push $ __NR_readlink
movl $-1+ 4096,%arg3l # buflen movl $-1+ PATH_MAX,%arg3l # buflen
push %rdi; pop %arg2 #buffer push %rdi; pop %arg2 #buffer
push %rbx; pop %arg1 # "/proc/self/exe" push %rbx; pop %arg1 # "/proc/self/exe"
pop %rax; syscall; testl %eax,%eax; jns 0f pop %rax; syscall; testl %eax,%eax; jns 0f
@@ -111,7 +113,7 @@ L90:
rep movsb # slide up rep movsb # slide up
sub $3,%rdi; movl $('='<<24)|(' '<<16)|(' '<<8)|(' '<<0),(%rdi) # env var name sub $3,%rdi; movl $('='<<24)|(' '<<16)|(' '<<8)|(' '<<0),(%rdi) # env var name
mov %rdi,(%r14) # new_env[0] mov %rdi,(%r14) # new_env[0]
shr $12,%rdi; dec %rdi; shl $12,%rdi; mov %rdi,%r14 # &page shr $PAGE_SHIFT,%rdi; dec %rdi; shl $PAGE_SHIFT,%rdi; mov %rdi,%r14 # &page
push $__NR_open push $__NR_open
sub %arg2l,%arg2l # O_RDONLY sub %arg2l,%arg2l # O_RDONLY
@@ -123,7 +125,7 @@ L90:
mov %ebx,%arg5l mov %ebx,%arg5l
push $MAP_PRIVATE|MAP_FIXED; pop %sys4 # BEWARE: %sys4 push $MAP_PRIVATE|MAP_FIXED; pop %sys4 # BEWARE: %sys4
push $PROT_READ; pop %arg3 push $PROT_READ; pop %arg3
mov $4096,%arg2l mov $PAGE_SIZE,%arg2l
push %r14; pop %arg1 push %r14; pop %arg1
pop %rax; syscall pop %rax; syscall
+1 -1
View File
@@ -337,7 +337,7 @@ upx_main( // returns entry address
unpackExtent(&xi2, &xo, f_decompress, 0); // never filtered? unpackExtent(&xi2, &xo, f_decompress, 0); // never filtered?
// AT_PHDR.a_un.a_val is set again by do_xmap if PT_PHDR is present. // AT_PHDR.a_un.a_val is set again by do_xmap if PT_PHDR is present.
auxv_up(av, AT_PHDR , (unsigned long)(1+(Elf64_Ehdr *)phdr->p_vaddr)); auxv_up(av, AT_PHDR , (unsigned long)phdr->p_vaddr);
auxv_up(av, AT_PHNUM , ehdr->e_phnum); auxv_up(av, AT_PHNUM , ehdr->e_phnum);
//auxv_up(av, AT_PHENT , ehdr->e_phentsize); /* this can never change */ //auxv_up(av, AT_PHENT , ehdr->e_phentsize); /* this can never change */
//auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */ //auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */
+3 -4
View File
@@ -158,6 +158,8 @@ unfold:
lwz r24,-2*4(r31) // sz_pack2 lwz r24,-2*4(r31) // sz_pack2
lwz r26,LOBINFO - LrUNF(r30) // O_BINFO lwz r26,LOBINFO - LrUNF(r30) // O_BINFO
lwz r23,LLENU - LrUNF(r30) lwz r23,LLENU - LrUNF(r30)
addi r24,r24,2*4
sub r24,r31,r24 // ADRU
la a0,SZ_FRAME+32*4(sp) la a0,SZ_FRAME+32*4(sp)
call zfind // a0= envp call zfind // a0= envp
@@ -193,11 +195,8 @@ sz_auxv= 2*4
li r22,0 // slide= 0 li r22,0 // slide= 0
cmpl cr0,r0,r27; ble L80 // only 1 page; no move required cmpl cr0,r0,r27; ble L80 // only 1 page; no move required
addi r24,r24,2*4
sub r24,r31,r24 // ADRU
sub r22,a0,r24 // (ADRM - ADRU) == relocation amount sub r22,a0,r24 // (ADRM - ADRU) == relocation amount
add r31,r31,r22 // update &decompress add r31,r31,r22 // update &decompress
add r25,r25,r22 // update ADRX
add r24,r24,r22 // update ADRU add r24,r24,r22 // update ADRU
addi r0,r0,7 // roundup (8, ) addi r0,r0,7 // roundup (8, )
addi a1,a1,-4 // prepare for lwu addi a1,a1,-4 // prepare for lwu
@@ -232,7 +231,7 @@ L80:
// blr # goto return address // blr # goto return address
main: main:
teq r0,r0 // debugging ////teq r0,r0 // debugging
stwu r1,-(SZ_FRAME+32*4)(sp) // allocate space (keeping 0 mod 16), save r1 stwu r1,-(SZ_FRAME+32*4)(sp) // allocate space (keeping 0 mod 16), save r1
stmw r2, SZ_FRAME+2*4-4(sp) // save registers r2 thru r31 stmw r2, SZ_FRAME+2*4-4(sp) // save registers r2 thru r31
mflr r31 // &decompress mflr r31 // &decompress
+113 -15
View File
@@ -31,10 +31,12 @@
#include "arch/powerpc/32/macros.S" #include "arch/powerpc/32/macros.S"
#include "arch/powerpc/32/ppc_regs.h" #include "arch/powerpc/32/ppc_regs.h"
PATH_MAX= 4096 // /usr/include/linux/limits.h
#define szElf32_Ehdr 0x34 szElf32_Ehdr= 0x34
#define szElf32_Phdr 0x20 szElf32_Phdr= 0x20
#define e_phnum 44 e_phnum= 44
AT_NULL= 0
sz_b_info= 12 sz_b_info= 12
sz_unc= 0 sz_unc= 0
@@ -43,6 +45,13 @@ sz_b_info= 12
sz_l_info= 12 sz_l_info= 12
sz_p_info= 12 sz_p_info= 12
MAP_PRIVATE= 0x02
MAP_FIXED= 0x10
PROT_READ= 0x1
O_RDONLY= 0
OVERHEAD= 2048 OVERHEAD= 2048
// http://refspecs.linuxfoundation.org/elf/elfspec_ppc.pdf p.3-17 (pdf p.33) // http://refspecs.linuxfoundation.org/elf/elfspec_ppc.pdf p.3-17 (pdf p.33)
@@ -59,25 +68,114 @@ SZ_FRAME= SZ_LINKA
r28= &Elf32_auxv_t r28= &Elf32_auxv_t
r27= actual page size (4K or 64K) r27= actual page size (4K or 64K)
r26= o_binfo r26= o_binfo
r25= ADRX
r24= ADRU r24= ADRU
r23= LENU r23= LENU
r22= slide r22= slide
*/
fold_begin:
teq r0,r0 // debugging
call L90
#include "arch/powerpc/32/bxx.S"
r21= &f_unf
*/
#define av_lo r28
#define adru r24
#define lenu r23
#define r_fd r20
#define av_hi r19
#define av_len r18
#define cblk r17
#define pag r16
fold_begin:
call L90
L90b:
#include "arch/powerpc/32/bxx.S"
L90a:
.asciz " =/proc/self/exe"
.balign 4
L90: L90:
mflr r21 // L90b = &ppcbxx: f_unfilter
// open /proc/self/exe
li a1,O_RDONLY
la a0,4+ L90a - L90b(r21) // "/proc/self/exe"
li r0,SYS_open
sc; movr r_fd,a0
// slide {<<stuff>>,argc,argv,0,env,0,auxv} down with maximum room before strings
la a1,-4(sp) // src ready for lwzu
la sp,-(4+ PATH_MAX)(sp)
sub sp,sp,r27 // sp -= PAGE_SIZE
sub sp,sp,r27 // sp -= PAGE_SIZE
la a0,-4(sp) // dst ready for stwu
la av_lo,-4(av_lo) // &end ready for lwzu
0: // copy upto auxv
lwzu r0,4(a1); cmplw cr7,a1,av_lo
stwu r0,4(a0); blt cr7,0b
la av_lo,8(a0) // new &auxv
stwu r0,4(a0) // new env_terminator
0: // copy auxv
lwz r0,4(a1); cmpli cr7,r0,AT_NULL
stw r0,4(a0)
lwzu r0,2*4(a1)
stwu r0,2*4(a0); bne cr7,0b
la av_hi,4(a0) // tmp end of auxv
subf av_len,av_lo,av_hi // length of auxv
lwz r0,L90a - L90b(r21) // " ="
la cblk,4(a1) // original &strings
stwu r0,4(a0)
la r14,4(a0) // buffer
// readlink("/proc/self/exe", buffer, -1+ PATH_MAX)
li a2,-1+ PATH_MAX
movr a1,r14 // buffer
la a0,4+ L90a - L90b(r21) // "/proc/self/exe"
li r0,SYS_readlink
sc; la a2,-4(r14) // a0= len; a2= buffer
cmpwi a0,0; bgt 0f // success
la a2,L90a - L90b(r21) // " =/proc/self/exe"
li a0,L90 - (4+ L90a) // round_up(4, strlen("/proc/self/exe"))
0:
addi a0,a0,4 // len += strlen(" =");
add a1,a2,a0 // beyond end of path
mtctr a0
movr a0,cblk // old &strings
li a2,0
stbu a2,-1(a0) // NUL terminate
0: // slide path up
lbzu r0,-1(a1)
stbu r0,-1(a0); bdnz 0b
stw a0,-2*4(av_lo) // &" =<<path>>" for env
subf r0,r27,a2 // -PAGE_SIZE == PAGE_MASK
and pag, a0,r0 // round down to page boundary
add pag,pag,r0 // next lower page
subf av_lo,av_len,pag // final auxv (stack alignment?)
// map the first page of /proc/self/exe
li a5,0 // offset
movr a4,r_fd
li a3,MAP_PRIVATE|MAP_FIXED
li a2,PROT_READ
movr a1,r27 // PAGE_SIZE
movr a0,pag // &page
li r0,SYS_mmap
sc // a0= &page
// slide the rest of the stack up to just below the mapped page
movr a1,av_hi
0:
lwzu r0,-4(a1); cmpl cr7,a1,sp
stwu r0,-4(a0); bgt+ cr7,0b
movr sp,a0
// close /proc/self/exe
movr a0,r_fd
li r0,SYS_close
sc
li r0,0 li r0,0
r_reloc= 32 - 1 # use a slot in register save area r_reloc= 32 - 1 # use a slot in register save area
la a7,SZ_FRAME+r_reloc*4(sp) // &reloc la a7,SZ_FRAME+r_reloc*4(sp) // &reloc
stw r22,0(a7) // reloc === slide stw r22,0(a7) // reloc === slide
sub r0,r0,r27 // -pagesize == pagemask sub r0,r0,r27 // -pagesize == pagemask
mr a7,r27 // pagesize mr a7,r27 // pagesize
mr a6,r28 // &Elf32_auxv_t mr a6,av_lo // &Elf32_auxv_t
mflr a5 // &ppcbxx: f_unfilter mr a5,r21 // &f_unf
and r30,a5,r0 // r30= &this_page and r30,a5,r0 // r30= &this_page
mr a4,r31 // &decompress: f_expand mr a4,r31 // &decompress: f_expand
@@ -92,19 +190,18 @@ r_reloc= 32 - 1 # use a slot in register save area
la a2,SZ_FRAME(sp) // &Elf32_Ehdr temporary space la a2,SZ_FRAME(sp) // &Elf32_Ehdr temporary space
lwz a3,sz_unc(a0) // sz_elf_headers lwz a3,sz_unc(a0) // sz_elf_headers
teq r0,r0
call upx_main // Out: a0= entry call upx_main // Out: a0= entry
// entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, sz_ehdr a3, // entry= upx_main(b_info *a0, total_size a1, Elf32_Ehdr *a2, sz_ehdr a3,
// f_exp a4, f_unf a5, Elf32_auxv_t *a6, page_size a7, reloc ARG9) // f_exp a4, f_unf a5, Elf32_auxv_t *a6, page_size a7, reloc ARG9)
mr r31,a0 // save &entry mr r31,a0 // save &entry
mr a0,r29 // &our_Elf32_Ehdr movr a0,adru
subf a1,r29,r30 // size movr a2,lenu
call munmap // unmap compressed program; /proc/self/exe disappears call munmap // unmap compressed program; /proc/self/exe disappears
mtlr r31 // entry address mtlr r31 // entry address
lmw r2,OVERHEAD+SZ_FRAME+2*4-4(sp) // restore registers r2 thru r31 lmw r2,OVERHEAD+SZ_FRAME+2*4-4(sp) // restore registers r2 thru r31
lwz sp,OVERHEAD(sp) // restore r1; deallocate space la sp,OVERHEAD+SZ_FRAME+32*4(sp) // deallocate space
ret // enter /lib/ld.so.1 ret // enter /lib/ld.so.1
SYS_exit= 1 SYS_exit= 1
@@ -115,6 +212,7 @@ SYS_open= 5
SYS_close= 6 SYS_close= 6
SYS_brk= 45 SYS_brk= 45
SYS_readlink= 85
SYS_mmap= 90 SYS_mmap= 90
SYS_munmap= 91 SYS_munmap= 91
SYS_mprotect= 125 SYS_mprotect= 125
+1 -1
View File
@@ -330,7 +330,7 @@ void *upx_main(
unpackExtent(&xi2, &xo, f_decompress, 0); // never filtered? unpackExtent(&xi2, &xo, f_decompress, 0); // never filtered?
// AT_PHDR.a_un.a_val is set again by do_xmap if PT_PHDR is present. // AT_PHDR.a_un.a_val is set again by do_xmap if PT_PHDR is present.
auxv_up(av, AT_PHDR , (unsigned)(1+(Elf32_Ehdr *)phdr->p_vaddr)); auxv_up(av, AT_PHDR , (unsigned)phdr->p_vaddr);
auxv_up(av, AT_PHNUM , ehdr->e_phnum); auxv_up(av, AT_PHNUM , ehdr->e_phnum);
//auxv_up(av, AT_PHENT , ehdr->e_phentsize); /* this can never change */ //auxv_up(av, AT_PHENT , ehdr->e_phentsize); /* this can never change */
//auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */ //auxv_up(av, AT_PAGESZ, PAGE_SIZE); /* ld-linux.so.2 does not need this */
+8 -8
View File
@@ -8,7 +8,7 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x738 .text 0x00000000001000bc 0x734
*(.text) *(.text)
.text 0x00000000001000bc 0x18e tmp/amd64-linux.elf-fold.o .text 0x00000000001000bc 0x18e tmp/amd64-linux.elf-fold.o
0x0000000000100217 munmap 0x0000000000100217 munmap
@@ -20,19 +20,19 @@ Linker script and memory map
0x000000000010021b mprotect 0x000000000010021b mprotect
0x0000000000100242 close 0x0000000000100242 close
*fill* 0x000000000010024a 0x2 00 *fill* 0x000000000010024a 0x2 00
.text 0x000000000010024c 0x5a8 tmp/amd64-linux.elf-main.o .text 0x000000000010024c 0x5a4 tmp/amd64-linux.elf-main.o
0x000000000010065e upx_main 0x000000000010065e upx_main
*(.data) *(.data)
.data 0x00000000001007f4 0x0 tmp/amd64-linux.elf-fold.o .data 0x00000000001007f0 0x0 tmp/amd64-linux.elf-fold.o
.data 0x00000000001007f4 0x0 tmp/amd64-linux.elf-main.o .data 0x00000000001007f0 0x0 tmp/amd64-linux.elf-main.o
.data .data
.bss 0x00000000001007f4 0x0 .bss 0x00000000001007f0 0x0
.bss 0x00000000001007f4 0x0 tmp/amd64-linux.elf-fold.o .bss 0x00000000001007f0 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x00000000001007f4 0x0 tmp/amd64-linux.elf-main.o .bss 0x00000000001007f0 0x0 tmp/amd64-linux.elf-main.o
.rela.dyn 0x00000000001007f8 0x0 .rela.dyn 0x00000000001007f0 0x0
.rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o .rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-fold.o LOAD tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-main.o LOAD tmp/amd64-linux.elf-main.o
@@ -14,7 +14,7 @@ Idx Name Size VMA LMA File off Algn Flags
9 NRV_TAIL 0000001c 00000000 00000000 00001788 2**0 CONTENTS, READONLY 9 NRV_TAIL 0000001c 00000000 00000000 00001788 2**0 CONTENTS, READONLY
10 CFLUSH 00000024 00000000 00000000 000017a4 2**0 CONTENTS, READONLY 10 CFLUSH 00000024 00000000 00000000 000017a4 2**0 CONTENTS, READONLY
11 ELFMAINY 00000022 00000000 00000000 000017c8 2**0 CONTENTS, RELOC, READONLY 11 ELFMAINY 00000022 00000000 00000000 000017c8 2**0 CONTENTS, RELOC, READONLY
12 ELFMAINZ 00000140 00000000 00000000 000017ea 2**0 CONTENTS, RELOC, READONLY 12 ELFMAINZ 00000138 00000000 00000000 000017ea 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE: SYMBOL TABLE:
00000000 l d LZMA_DEC30 00000000 LZMA_DEC30 00000000 l d LZMA_DEC30 00000000 LZMA_DEC30
00000000 l d NRV_TAIL 00000000 NRV_TAIL 00000000 l d NRV_TAIL 00000000 NRV_TAIL
@@ -37,7 +37,7 @@ SYMBOL TABLE:
RELOCATION RECORDS FOR [ELFMAINX]: RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
00000000 R_PPC_REL24 ELFMAINZ+0x0000011c 00000000 R_PPC_REL24 ELFMAINZ+0x00000118
RELOCATION RECORDS FOR [NRV2E]: RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
@@ -61,8 +61,8 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [ELFMAINZ]: RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE OFFSET TYPE VALUE
000000a0 R_PPC_REL14 ELFMAINY 000000a8 R_PPC_REL14 ELFMAINY
00000130 R_PPC_ADDR32 ADRM 00000128 R_PPC_ADDR32 ADRM
00000134 R_PPC_ADDR32 LENM 0000012c R_PPC_ADDR32 LENM
00000138 R_PPC_ADDR32 LENU 00000130 R_PPC_ADDR32 LENU
0000013c R_PPC_ADDR32 O_BINFO 00000134 R_PPC_ADDR32 O_BINFO
+18 -18
View File
@@ -9,30 +9,30 @@ Linker script and memory map
TARGET(elf32-powerpc) TARGET(elf32-powerpc)
0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x0000000000100080 . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000100080 0xd54 .text 0x0000000000100080 0xe74
*(.text) *(.text)
.text 0x0000000000100080 0x128 tmp/powerpc-linux.elf-fold.o .text 0x0000000000100080 0x250 tmp/powerpc-linux.elf-fold.o
0x0000000000100198 munmap 0x00000000001002c0 munmap
0x000000000010015c mmap 0x0000000000100284 mmap
0x0000000000100178 read 0x00000000001002a0 read
0x0000000000100170 exit 0x0000000000100298 exit
0x00000000001001a0 brk 0x00000000001002c8 brk
0x0000000000100180 open 0x00000000001002a8 open
0x0000000000100190 mprotect 0x00000000001002b8 mprotect
0x0000000000100188 close 0x00000000001002b0 close
.text 0x00000000001001a8 0xc2c tmp/powerpc-linux.elf-main.o .text 0x00000000001002d0 0xc24 tmp/powerpc-linux.elf-main.o
0x0000000000100ad0 upx_main 0x0000000000100bf8 upx_main
*(.data) *(.data)
.data 0x0000000000100dd4 0x0 tmp/powerpc-linux.elf-fold.o .data 0x0000000000100ef4 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x0000000000100dd4 0x0 tmp/powerpc-linux.elf-main.o .data 0x0000000000100ef4 0x0 tmp/powerpc-linux.elf-main.o
.data .data
.bss 0x0000000000100dd4 0x0 .bss 0x0000000000100ef4 0x0
.bss 0x0000000000100dd4 0x0 tmp/powerpc-linux.elf-fold.o .bss 0x0000000000100ef4 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x0000000000100dd4 0x0 tmp/powerpc-linux.elf-main.o .bss 0x0000000000100ef4 0x0 tmp/powerpc-linux.elf-main.o
.rela.dyn 0x0000000000100dd4 0x0 .rela.dyn 0x0000000000100ef4 0x0
.rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o .rela.text 0x0000000000000000 0x0 tmp/powerpc-linux.elf-fold.o
LOAD tmp/powerpc-linux.elf-fold.o LOAD tmp/powerpc-linux.elf-fold.o
LOAD tmp/powerpc-linux.elf-main.o LOAD tmp/powerpc-linux.elf-main.o