Elf propagates NX via PT_GNU_STACK (except MIPS stub is too difficult for now)

https://github.com/upx/upx/issues/81
	modified:   ../.github/travis_testsuite_1.sh
	modified:   p_elf_enum.h
	modified:   p_lx_elf.cpp
	modified:   p_lx_elf.h
	modified:   stub/amd64-linux.elf-entry.h
	modified:   stub/i386-linux.elf-fold.h
	modified:   stub/powerpc-linux.elf-fold.h
	modified:   stub/powerpc64le-linux.elf-fold.h
	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	modified:   stub/src/powerpc64le-linux.elf-fold.S
	modified:   stub/tmp/amd64-linux.elf-entry.bin.dump
	modified:   stub/tmp/i386-linux.elf-fold.map
	modified:   stub/tmp/powerpc-linux.elf-fold.map
	modified:   stub/tmp/powerpc64le-linux.elf-fold.map
This commit is contained in:
John Reiser
2017-04-03 20:11:08 -07:00
parent ef97af71e3
commit a59005e836
16 changed files with 889 additions and 832 deletions
+21 -21
View File
@@ -150,81 +150,81 @@ c3f44b4d00a87384c03a6f9e7aec809c1addfe3e271244d38a474f296603088c *mipsel-linux.e
b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux.elf/upx-3.91 b8c35fa2956da17ca505956e9f5017bb5f3a746322647e24ccb8ff28059cafa4 *powerpc-linux.elf/upx-3.91
" "
expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\ expected_sha256sums__t110_compress_ucl_nrv2b_3_no_filter="\
d7c6e681951409257658c675f647969fe6f01207f779d0a7e3ab0a419f20ecf9 *amd64-linux.elf/upx-3.91 c29d6412e2d3eaf027a59d13f475c4c1902bebefada05f54f369bde25255cf76 *amd64-linux.elf/upx-3.91
5b9ec916beae0eadc665235158a9ae5bce1309823a344503268a88e32e77824a *arm-wince.pe/upx-3.91.exe 5b9ec916beae0eadc665235158a9ae5bce1309823a344503268a88e32e77824a *arm-wince.pe/upx-3.91.exe
18c154dd87227867cf6390038499393d454064af0668bf3451ef1e2e66290176 *armeb-linux.elf/upx-3.91 18c154dd87227867cf6390038499393d454064af0668bf3451ef1e2e66290176 *armeb-linux.elf/upx-3.91
960dc15876221832510142816605b9ef568c0de3050ca0a79f3553643c5d5e0f *i386-dos32.djgpp2.coff/upx-3.91.exe 960dc15876221832510142816605b9ef568c0de3050ca0a79f3553643c5d5e0f *i386-dos32.djgpp2.coff/upx-3.91.exe
5d970493750d88ecd638998b83fa6107c5b4c290f2467894cdadfc359b9ecb9f *i386-linux.elf/upx-3.91 96b8ca17587795451b1c164222468a4052443c2360f7fd812e7a6dbdf7ac92c3 *i386-linux.elf/upx-3.91
ca6925a15c1ab8931f0a8fe9ef87f5893403d6e46098f4cd1a5f6f6f0fbdeb44 *i386-win32.pe/upx-3.91.exe ca6925a15c1ab8931f0a8fe9ef87f5893403d6e46098f4cd1a5f6f6f0fbdeb44 *i386-win32.pe/upx-3.91.exe
14ff2a4e215a25ed7442b004bca3d82094f7c01784fc4876eb50d365441f35c3 *m68k-atari.tos/upx-3.91.ttp 14ff2a4e215a25ed7442b004bca3d82094f7c01784fc4876eb50d365441f35c3 *m68k-atari.tos/upx-3.91.ttp
4163afbb2475b669e131265c0f7ea179c35f19ccce66732feee08fe20c33775e *mipsel-linux.elf/upx-3.91 4163afbb2475b669e131265c0f7ea179c35f19ccce66732feee08fe20c33775e *mipsel-linux.elf/upx-3.91
2d96c1f769567a6c5b23a39fbc70d5303fe732dad4a6353fa06224ea1897d611 *powerpc-linux.elf/upx-3.91 63a07691a10cf68cc46fc0da5f13c40e09e15f5caafd18cde70622d5c9e9473b *powerpc-linux.elf/upx-3.91
" "
expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\ expected_sha256sums__t120_compress_ucl_nrv2d_3_no_filter="\
457988127f7c8d52b088971d88db74cb9e3197a23389f754bd3de16d03258898 *amd64-linux.elf/upx-3.91 53ffed9b3a25e96075707105e30060b4f4ab7e2712356858cd7db56fcd6fcc9f *amd64-linux.elf/upx-3.91
22216286b1bf3066d9022b921f37beff6712b5f3fc8c092f2dc1477638d9f8cc *arm-wince.pe/upx-3.91.exe 22216286b1bf3066d9022b921f37beff6712b5f3fc8c092f2dc1477638d9f8cc *arm-wince.pe/upx-3.91.exe
f7338f71b4e7ed729aecf6c6e7704c39f4d5b274685c28b877247686357c776e *armeb-linux.elf/upx-3.91 f7338f71b4e7ed729aecf6c6e7704c39f4d5b274685c28b877247686357c776e *armeb-linux.elf/upx-3.91
b6e98d36bd916fa63ec799e47dd7cac3674154370a9680492d84f1853bf14c3e *i386-dos32.djgpp2.coff/upx-3.91.exe b6e98d36bd916fa63ec799e47dd7cac3674154370a9680492d84f1853bf14c3e *i386-dos32.djgpp2.coff/upx-3.91.exe
7f57e8993caa50eddd96b6f22be64b1ab619f35135c584e92d26b90bc9952a38 *i386-linux.elf/upx-3.91 870a1875388417751360dab13e45486e1ecb33583833ba33920d9b1668d72b76 *i386-linux.elf/upx-3.91
d2692b3e4a278559456e299164714c4bb8ebbcf230ab12521619e2e94580597d *i386-win32.pe/upx-3.91.exe d2692b3e4a278559456e299164714c4bb8ebbcf230ab12521619e2e94580597d *i386-win32.pe/upx-3.91.exe
cd1ae0f2781787bf7c61f3600cc889313e6027615d78e562d624d717671e55c3 *m68k-atari.tos/upx-3.91.ttp cd1ae0f2781787bf7c61f3600cc889313e6027615d78e562d624d717671e55c3 *m68k-atari.tos/upx-3.91.ttp
26b30c10ba8980fa6fc564b79eb2931e07bb7b2f89f07a0656c28be71185a3ea *mipsel-linux.elf/upx-3.91 26b30c10ba8980fa6fc564b79eb2931e07bb7b2f89f07a0656c28be71185a3ea *mipsel-linux.elf/upx-3.91
c4cf483a825385b51fba75852c42b0e08d73ea0b0236a548571f6bb24fa9ed0a *powerpc-linux.elf/upx-3.91 8c2d16dfd9e87fd6925aa4b3465e6b35a16464cea2dc879aa7abb0bd0beba0c7 *powerpc-linux.elf/upx-3.91
" "
expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\ expected_sha256sums__t130_compress_ucl_nrv2e_3_no_filter="\
b6d5be27ef60c487ad53ddd5efdbedaf39de40810a30accd99c7ab618cd5aab9 *amd64-linux.elf/upx-3.91 3ab9a7cd2f2a6d7cd7e11a9911147f9d41a8708f48e2e06c19e9487d2472015f *amd64-linux.elf/upx-3.91
08c55815175ce0d34fca3b368336dd346a2354dbe4f046210c82f6961350a50f *arm-wince.pe/upx-3.91.exe 08c55815175ce0d34fca3b368336dd346a2354dbe4f046210c82f6961350a50f *arm-wince.pe/upx-3.91.exe
b5f27af98d063473853ee28f6572c7438c167d80bcc2b89c30fb436cc5e79309 *armeb-linux.elf/upx-3.91 b5f27af98d063473853ee28f6572c7438c167d80bcc2b89c30fb436cc5e79309 *armeb-linux.elf/upx-3.91
45f50d69e685f7ea752f76c05554d4c2ce023c0218465a4f8919138a76ae6c71 *i386-dos32.djgpp2.coff/upx-3.91.exe 45f50d69e685f7ea752f76c05554d4c2ce023c0218465a4f8919138a76ae6c71 *i386-dos32.djgpp2.coff/upx-3.91.exe
3bbe4b9b439bc12dace58ea8524fccd5944dffcd83a2b49be18c6a06e3c30490 *i386-linux.elf/upx-3.91 2cde86ee89c67e5162a6065f0a7d76c852a9c366dbf8b61add07e14936bd7cf9 *i386-linux.elf/upx-3.91
eb7c2f74979c11b35193a0a9d428596bda46420d9363666fe1b967f5cd1610c6 *i386-win32.pe/upx-3.91.exe eb7c2f74979c11b35193a0a9d428596bda46420d9363666fe1b967f5cd1610c6 *i386-win32.pe/upx-3.91.exe
cefb13395220fb2e931d0fb32e27663c4a27035f9e79131bbabc44fa54e6336e *m68k-atari.tos/upx-3.91.ttp cefb13395220fb2e931d0fb32e27663c4a27035f9e79131bbabc44fa54e6336e *m68k-atari.tos/upx-3.91.ttp
602be188fca1dd63593a2ace68ea221d720fd2ddf9df85c1ab019feda69f1cad *mipsel-linux.elf/upx-3.91 602be188fca1dd63593a2ace68ea221d720fd2ddf9df85c1ab019feda69f1cad *mipsel-linux.elf/upx-3.91
32c7a6c79fa5249b87655b32742f91a90b931c61a2b24fa818df8648e40f9710 *powerpc-linux.elf/upx-3.91 0811b87fa4856312d9c676656031b3d16a2fe506ce2aa7cb45f6f99c51620b0e *powerpc-linux.elf/upx-3.91
" "
expected_sha256sums__t140_compress_lzma_2_no_filter="\ expected_sha256sums__t140_compress_lzma_2_no_filter="\
4a447b051e2d8c2ce7f10399f0e7bfeb6f4e5d5ab3fde22e448d15eeb08037ae *amd64-linux.elf/upx-3.91 aef7536e23f95d8f1589f08af3c77c9210f0c475118b3f44297d7bf997c62239 *amd64-linux.elf/upx-3.91
9759deb5aa8fb004c4b23bbe174042e45869aedeea1a1dd1b729be0e736814da *arm-wince.pe/upx-3.91.exe 9759deb5aa8fb004c4b23bbe174042e45869aedeea1a1dd1b729be0e736814da *arm-wince.pe/upx-3.91.exe
c476387cb0f9a011f46e2c96bc0b481012cf6a3c6d4a4529c0630c1582cb4c4b *armeb-linux.elf/upx-3.91 c476387cb0f9a011f46e2c96bc0b481012cf6a3c6d4a4529c0630c1582cb4c4b *armeb-linux.elf/upx-3.91
a2a800d2ba5cfc1b6bb2b48c91adccb5d3c3b6c0b5c548affccac9244197a312 *i386-dos32.djgpp2.coff/upx-3.91.exe a2a800d2ba5cfc1b6bb2b48c91adccb5d3c3b6c0b5c548affccac9244197a312 *i386-dos32.djgpp2.coff/upx-3.91.exe
3c37692bd418a90eb56f34179fa3f079f7e9d19542e1d86e4d58068e1aecf534 *i386-linux.elf/upx-3.91 aca3e8fbb23609a6210a05c5d2d41e37e6aa2de6a1e4d2a1819f423bbe6090ad *i386-linux.elf/upx-3.91
80aba41aad8268085e853ec872f885981838a625c14095d21ba70cb7abe045a5 *i386-win32.pe/upx-3.91.exe 80aba41aad8268085e853ec872f885981838a625c14095d21ba70cb7abe045a5 *i386-win32.pe/upx-3.91.exe
bbed61e42fa7b330b5cde66e4614329f41e21facff1f3667edc03495219c29f9 *m68k-atari.tos/upx-3.91.ttp bbed61e42fa7b330b5cde66e4614329f41e21facff1f3667edc03495219c29f9 *m68k-atari.tos/upx-3.91.ttp
57b47244a3a0d01725cbdc9af8572cbe20e2d173857015ad4d32245b52577dc2 *mipsel-linux.elf/upx-3.91 57b47244a3a0d01725cbdc9af8572cbe20e2d173857015ad4d32245b52577dc2 *mipsel-linux.elf/upx-3.91
c537b3986462459cfcd886e21f51d3d0c507e29f49926307f81d8fa79817a432 *powerpc-linux.elf/upx-3.91 55f9336358ae7468a853cf5466c22acf52b162bf1a86fbbe372f811604933d2d *powerpc-linux.elf/upx-3.91
" "
expected_sha256sums__t150_compress_ucl_2_all_filters="\ expected_sha256sums__t150_compress_ucl_2_all_filters="\
b700cb1e1a523b7f03a6a9476e94744dc1d0f7d1a4d23aa3fb6c3af5a7a259e2 *amd64-linux.elf/upx-3.91 cc008e7206baeb849d65dc492d560cf846db0edcd968a76db84229d8c2109fba *amd64-linux.elf/upx-3.91
c7b0f611e9941be58b700219e7a5d34cdbdbf972b6184b13dec5e98fe84de808 *arm-wince.pe/upx-3.91.exe c7b0f611e9941be58b700219e7a5d34cdbdbf972b6184b13dec5e98fe84de808 *arm-wince.pe/upx-3.91.exe
4c6348cc3e99ba1f27dc8602b890ad7ff7e40351148470a7ed56dcbd112aad02 *armeb-linux.elf/upx-3.91 4c6348cc3e99ba1f27dc8602b890ad7ff7e40351148470a7ed56dcbd112aad02 *armeb-linux.elf/upx-3.91
425c9128285f49b41f9b736f48794f5bebba6981250f669e5a342016b89f2170 *i386-dos32.djgpp2.coff/upx-3.91.exe 425c9128285f49b41f9b736f48794f5bebba6981250f669e5a342016b89f2170 *i386-dos32.djgpp2.coff/upx-3.91.exe
1e408f4b46a04a4497cb8506f441690bbb08501596d07da731be912dee87602f *i386-linux.elf/upx-3.91 65fb2b8b9e7b9c4748f5e09276611b2e1e19a8cdca3a62289cad89b511418af1 *i386-linux.elf/upx-3.91
5565f8196d971feec261dc663ca7ec329fd82b1b18ad49593b865edbaa15765d *i386-win32.pe/upx-3.91.exe 5565f8196d971feec261dc663ca7ec329fd82b1b18ad49593b865edbaa15765d *i386-win32.pe/upx-3.91.exe
78f24d77855034d467568f05c22cb5e3abd167c90a4d89f4e2059c3e6faa3e2b *m68k-atari.tos/upx-3.91.ttp 78f24d77855034d467568f05c22cb5e3abd167c90a4d89f4e2059c3e6faa3e2b *m68k-atari.tos/upx-3.91.ttp
23d6856df8f31b9176e0f4709135ce81656ed94539bf909e873b787ce89821cd *mipsel-linux.elf/upx-3.91 23d6856df8f31b9176e0f4709135ce81656ed94539bf909e873b787ce89821cd *mipsel-linux.elf/upx-3.91
ae840ecf9b171a3e989b22bea5dcd04a5ec1998bb14aeb4836f66b4e03423f7e *powerpc-linux.elf/upx-3.91 f8d4f47bcce13af4b957cca38539bfc8f7114cc61e693f673453ea44a7a9cabc *powerpc-linux.elf/upx-3.91
" "
expected_sha256sums__t160_compress_all_methods_1_no_filter="\ expected_sha256sums__t160_compress_all_methods_1_no_filter="\
79e014f4bf17239196b829068d17fbee3258e15438e61e6aebaf1aa3f50af68d *amd64-linux.elf/upx-3.91 0121184400216f893ce55a35868ac8accf868a88ee6a028b92af1ab4694e8300 *amd64-linux.elf/upx-3.91
6b2333719a4fe6c8d2067f682d57cf6fc5fd928bffad4e61aaffcc31287772a7 *arm-wince.pe/upx-3.91.exe 6b2333719a4fe6c8d2067f682d57cf6fc5fd928bffad4e61aaffcc31287772a7 *arm-wince.pe/upx-3.91.exe
e6c5e7ed8935980983ccce9871414e39fe06dbd0f94660d67dde447a1cd51aea *armeb-linux.elf/upx-3.91 e6c5e7ed8935980983ccce9871414e39fe06dbd0f94660d67dde447a1cd51aea *armeb-linux.elf/upx-3.91
d09af3652aa601650f9cd0f125d54e50dfe57b45b9871567140e62a04d032407 *i386-dos32.djgpp2.coff/upx-3.91.exe d09af3652aa601650f9cd0f125d54e50dfe57b45b9871567140e62a04d032407 *i386-dos32.djgpp2.coff/upx-3.91.exe
fe84e197d9d498138f9600a7c5e31f10804f6c25b28e617786dbbdc6e42919e8 *i386-linux.elf/upx-3.91 30e86a1aefd2e63657cd77b9faab5cd32d24ac05b47d10da34cf2c95e60903cd *i386-linux.elf/upx-3.91
c3c8b428f7e57a528db89f1365b4f3fda60f0dc03eadb30775ecdbadaa19f0aa *i386-win32.pe/upx-3.91.exe c3c8b428f7e57a528db89f1365b4f3fda60f0dc03eadb30775ecdbadaa19f0aa *i386-win32.pe/upx-3.91.exe
53c77efbccf41072c4c206343ba3c838be04c47eab415d18c08f086d481612db *m68k-atari.tos/upx-3.91.ttp 53c77efbccf41072c4c206343ba3c838be04c47eab415d18c08f086d481612db *m68k-atari.tos/upx-3.91.ttp
616cefa819c0e516c554faac20e6aaf9350a2aacf0041a2641d5809c0da220df *mipsel-linux.elf/upx-3.91 616cefa819c0e516c554faac20e6aaf9350a2aacf0041a2641d5809c0da220df *mipsel-linux.elf/upx-3.91
deae210ec67691e12a530eac3620267bf832800b412fc272739e7346dc481e77 *powerpc-linux.elf/upx-3.91 9f02f888a9b138d9dd591a43e9b92edaca338921f67e6d0cc8962f9dfb1cda73 *powerpc-linux.elf/upx-3.91
" "
expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\ expected_sha256sums__t170_compress_all_methods_no_lzma_5_no_filter="\
a5af9273126baeb15dce877d76fc4d3e971d3f60796ee1b176ed01d9bd76bb8f *amd64-linux.elf/upx-3.91 4293317d05256cc63bcd78b31832778f8274f46e0877a041762e3a20831e12a0 *amd64-linux.elf/upx-3.91
685b7e419b8b0fe3cabdf338a5cad17da55edc608c1bb91c13580b5988d38908 *arm-wince.pe/upx-3.91.exe 685b7e419b8b0fe3cabdf338a5cad17da55edc608c1bb91c13580b5988d38908 *arm-wince.pe/upx-3.91.exe
536b092822a86875b73ccc95f6685419c7903beb1e48a4afd872e243a7761830 *armeb-linux.elf/upx-3.91 536b092822a86875b73ccc95f6685419c7903beb1e48a4afd872e243a7761830 *armeb-linux.elf/upx-3.91
fd0652470c19ebb4a2d1a49e02e71acf9fadab78e513bb4f75d1dc26a0caa7a3 *i386-dos32.djgpp2.coff/upx-3.91.exe fd0652470c19ebb4a2d1a49e02e71acf9fadab78e513bb4f75d1dc26a0caa7a3 *i386-dos32.djgpp2.coff/upx-3.91.exe
052357e8e078a444952727212f06efef7f389f77e4ec61568ad3959cdecafde9 *i386-linux.elf/upx-3.91 3addcdad5fb7812e3ce6593136667b2c265ad0ac57672ea3df873daf356533f9 *i386-linux.elf/upx-3.91
5b334db8debd2d59470cad25c7b45e38f6195cdafe92dc8281e4edc9c51385ef *i386-win32.pe/upx-3.91.exe 5b334db8debd2d59470cad25c7b45e38f6195cdafe92dc8281e4edc9c51385ef *i386-win32.pe/upx-3.91.exe
db1c6a70d990cb9a8e02db9b28054267658ce371b8a50e909efdd04cd3670279 *m68k-atari.tos/upx-3.91.ttp db1c6a70d990cb9a8e02db9b28054267658ce371b8a50e909efdd04cd3670279 *m68k-atari.tos/upx-3.91.ttp
19b801ace68ca0ff034dd557d3ef0a8340d8f17d7b97f120727f67ce098a7d7a *mipsel-linux.elf/upx-3.91 19b801ace68ca0ff034dd557d3ef0a8340d8f17d7b97f120727f67ce098a7d7a *mipsel-linux.elf/upx-3.91
9dee1dbc76410fbf1b43f1e03de2148bff3586ff5dc9777ec652724be772ded0 *powerpc-linux.elf/upx-3.91 c0aba0d6137db996486bbb5d08b58187d1ada11cf9057214261bc30f7d2b593b *powerpc-linux.elf/upx-3.91
" "
########## end .sha256sums.recreate ########## end .sha256sums.recreate
+1
View File
@@ -91,6 +91,7 @@
PT_INTERP = 3, /* Name of program interpreter */ PT_INTERP = 3, /* Name of program interpreter */
PT_NOTE = 4, /* Auxiliary information (esp. OpenBSD) */ PT_NOTE = 4, /* Auxiliary information (esp. OpenBSD) */
PT_PHDR = 6 /* Entry for header table itself */ PT_PHDR = 6 /* Entry for header table itself */
, PT_GNU_STACK = 0x6474e551 /* Indicates stack executability */
}; };
enum { // p_flags enum { // p_flags
+52 -11
View File
@@ -46,6 +46,8 @@
#define PT_LOAD64 Elf64_Phdr::PT_LOAD #define PT_LOAD64 Elf64_Phdr::PT_LOAD
#define PT_NOTE32 Elf32_Phdr::PT_NOTE #define PT_NOTE32 Elf32_Phdr::PT_NOTE
#define PT_NOTE64 Elf64_Phdr::PT_NOTE #define PT_NOTE64 Elf64_Phdr::PT_NOTE
#define PT_GNU_STACK32 Elf32_Phdr::PT_GNU_STACK
#define PT_GNU_STACK64 Elf64_Phdr::PT_GNU_STACK
//static unsigned const EF_ARM_HASENTRY = 0x02; //static unsigned const EF_ARM_HASENTRY = 0x02;
static unsigned const EF_ARM_EABI_VER4 = 0x04000000; static unsigned const EF_ARM_EABI_VER4 = 0x04000000;
@@ -539,7 +541,7 @@ void PackLinuxElf::defineSymbols(Filter const *)
} }
PackLinuxElf32::PackLinuxElf32(InputFile *f) PackLinuxElf32::PackLinuxElf32(InputFile *f)
: super(f), phdri(NULL) , shdri(NULL), note_body(NULL), : super(f), phdri(NULL) , shdri(NULL), gnu_stack(NULL), note_body(NULL),
page_mask(~0u<<lg2_page), page_mask(~0u<<lg2_page),
dynseg(NULL), hashtab(NULL), gashtab(NULL), dynsym(NULL), dynseg(NULL), hashtab(NULL), gashtab(NULL), dynsym(NULL),
jni_onload_sym(NULL), jni_onload_sym(NULL),
@@ -559,7 +561,7 @@ PackLinuxElf32::~PackLinuxElf32()
} }
PackLinuxElf64::PackLinuxElf64(InputFile *f) PackLinuxElf64::PackLinuxElf64(InputFile *f)
: super(f), phdri(NULL), shdri(NULL), note_body(NULL), : super(f), phdri(NULL), shdri(NULL), gnu_stack(NULL), note_body(NULL),
page_mask(~0ull<<lg2_page), page_mask(~0ull<<lg2_page),
dynseg(NULL), hashtab(NULL), gashtab(NULL), dynsym(NULL), dynseg(NULL), hashtab(NULL), gashtab(NULL), dynsym(NULL),
jni_onload_sym(NULL), jni_onload_sym(NULL),
@@ -2322,6 +2324,7 @@ PackLinuxElf32::generateElfHdr(
memcpy(h3, proto, sizeof(*h3)); // reads beyond, but OK memcpy(h3, proto, sizeof(*h3)); // reads beyond, but OK
h3->ehdr.e_type = ehdri.e_type; // ET_EXEC vs ET_DYN (gcc -pie -fPIC) h3->ehdr.e_type = ehdri.e_type; // ET_EXEC vs ET_DYN (gcc -pie -fPIC)
h3->ehdr.e_ident[Elf32_Ehdr::EI_OSABI] = ei_osabi; h3->ehdr.e_ident[Elf32_Ehdr::EI_OSABI] = ei_osabi;
unsigned phnum_o = get_te16(&h2->ehdr.e_phnum);
if (Elf32_Ehdr::EM_MIPS==e_machine) { // MIPS R3000 FIXME if (Elf32_Ehdr::EM_MIPS==e_machine) { // MIPS R3000 FIXME
h3->ehdr.e_ident[Elf32_Ehdr::EI_OSABI] = Elf32_Ehdr::ELFOSABI_NONE; h3->ehdr.e_ident[Elf32_Ehdr::EI_OSABI] = Elf32_Ehdr::ELFOSABI_NONE;
h3->ehdr.e_flags = ehdri.e_flags; h3->ehdr.e_flags = ehdri.e_flags;
@@ -2342,11 +2345,18 @@ PackLinuxElf32::generateElfHdr(
} }
sz_elf_hdrs = sizeof(*h2) - sizeof(linfo); // default sz_elf_hdrs = sizeof(*h2) - sizeof(linfo); // default
if (gnu_stack) {
sz_elf_hdrs += sizeof(Elf32_Phdr);
memcpy(&h2->phdr[phnum_o++], gnu_stack, sizeof(*gnu_stack));
set_te16(&h2->ehdr.e_phnum, phnum_o);
}
set_te32(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize; set_te32(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize;
h2->phdr[0].p_memsz = h2->phdr[0].p_filesz; h2->phdr[0].p_memsz = h2->phdr[0].p_filesz;
for (unsigned j=0; j < 3; ++j) { for (unsigned j=0; j < 3; ++j) {
set_te32(&h3->phdr[j].p_align, page_size); if (PT_LOAD32==get_te32(&h3->phdr[j].p_type)) {
set_te32(&h3->phdr[j].p_align, page_size);
}
} }
// Info for OS kernel to set the brk() // Info for OS kernel to set the brk()
@@ -2364,10 +2374,16 @@ PackLinuxElf32::generateElfHdr(
set_te32(&h2->phdr[1].p_flags, Elf32_Phdr::PF_R | Elf32_Phdr::PF_W); set_te32(&h2->phdr[1].p_flags, Elf32_Phdr::PF_R | Elf32_Phdr::PF_W);
} }
if (ph.format==getFormat()) { if (ph.format==getFormat()) {
assert(2==get_te16(&h2->ehdr.e_phnum)); assert((2+ !!gnu_stack) == get_te16(&h2->ehdr.e_phnum));
set_te32(&h2->phdr[0].p_flags, ~Elf32_Phdr::PF_W & get_te32(&h2->phdr[0].p_flags)); set_te32(&h2->phdr[0].p_flags, ~Elf32_Phdr::PF_W & get_te32(&h2->phdr[0].p_flags));
memset(&h2->linfo, 0, sizeof(h2->linfo)); if (!gnu_stack) {
fo->write(h2, sizeof(*h2)); memset(&h2->linfo, 0, sizeof(h2->linfo));
fo->write(h2, sizeof(*h2));
}
else {
memset(&h3->linfo, 0, sizeof(h3->linfo));
fo->write(h3, sizeof(*h3));
}
} }
else { else {
assert(false); // unknown ph.format, PackLinuxElf32 assert(false); // unknown ph.format, PackLinuxElf32
@@ -2562,6 +2578,7 @@ PackLinuxElf64::generateElfHdr(
memcpy(h3, proto, sizeof(*h3)); // reads beyond, but OK memcpy(h3, proto, sizeof(*h3)); // reads beyond, but OK
h3->ehdr.e_type = ehdri.e_type; // ET_EXEC vs ET_DYN (gcc -pie -fPIC) h3->ehdr.e_type = ehdri.e_type; // ET_EXEC vs ET_DYN (gcc -pie -fPIC)
h3->ehdr.e_ident[Elf32_Ehdr::EI_OSABI] = ei_osabi; h3->ehdr.e_ident[Elf32_Ehdr::EI_OSABI] = ei_osabi;
unsigned phnum_o = get_te16(&h2->ehdr.e_phnum);
assert(get_te32(&h2->ehdr.e_phoff) == sizeof(Elf64_Ehdr)); assert(get_te32(&h2->ehdr.e_phoff) == sizeof(Elf64_Ehdr));
h2->ehdr.e_shoff = 0; h2->ehdr.e_shoff = 0;
@@ -2578,11 +2595,18 @@ PackLinuxElf64::generateElfHdr(
} }
sz_elf_hdrs = sizeof(*h2) - sizeof(linfo); // default sz_elf_hdrs = sizeof(*h2) - sizeof(linfo); // default
if (gnu_stack) {
sz_elf_hdrs += sizeof(Elf64_Phdr);
memcpy(&h2->phdr[phnum_o++], gnu_stack, sizeof(*gnu_stack));
set_te16(&h2->ehdr.e_phnum, phnum_o);
}
set_te64(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize; set_te64(&h2->phdr[0].p_filesz, sizeof(*h2)); // + identsize;
h2->phdr[0].p_memsz = h2->phdr[0].p_filesz; h2->phdr[0].p_memsz = h2->phdr[0].p_filesz;
for (unsigned j=0; j < 3; ++j) { for (unsigned j=0; j < 4; ++j) {
set_te64(&h3->phdr[j].p_align, page_size); if (PT_LOAD64==get_te32(&h3->phdr[j].p_type)) {
set_te64(&h3->phdr[j].p_align, page_size);
}
} }
// Info for OS kernel to set the brk() // Info for OS kernel to set the brk()
@@ -2611,10 +2635,16 @@ PackLinuxElf64::generateElfHdr(
set_te32(&h2->phdr[1].p_flags, Elf64_Phdr::PF_R | Elf64_Phdr::PF_W); set_te32(&h2->phdr[1].p_flags, Elf64_Phdr::PF_R | Elf64_Phdr::PF_W);
} }
if (ph.format==getFormat()) { if (ph.format==getFormat()) {
assert(2==get_te16(&h2->ehdr.e_phnum)); assert((2+ !!gnu_stack) == get_te16(&h2->ehdr.e_phnum));
set_te32(&h2->phdr[0].p_flags, ~Elf64_Phdr::PF_W & get_te32(&h2->phdr[0].p_flags)); set_te32(&h2->phdr[0].p_flags, ~Elf64_Phdr::PF_W & get_te32(&h2->phdr[0].p_flags));
memset(&h2->linfo, 0, sizeof(h2->linfo)); if (!gnu_stack) {
fo->write(h2, sizeof(*h2)); memset(&h2->linfo, 0, sizeof(h2->linfo));
fo->write(h2, sizeof(*h2));
}
else {
memset(&h3->linfo, 0, sizeof(h3->linfo));
fo->write(h3, sizeof(*h3));
}
} }
else { else {
assert(false); // unknown ph.format, PackLinuxElf64 assert(false); // unknown ph.format, PackLinuxElf64
@@ -2655,6 +2685,12 @@ void PackLinuxElf32::pack1(OutputFile *fo, Filter & /*ft*/)
++lg2_page; ++lg2_page;
} }
} }
if (phdr->PT_GNU_STACK32 == type) {
// MIPS stub cannot handle GNU_STACK yet.
if (Elf32_Ehdr::EM_MIPS != this->e_machine) {
gnu_stack = phdr;
}
}
} }
page_size = 1u<<lg2_page; page_size = 1u<<lg2_page;
page_mask = ~0u<<lg2_page; page_mask = ~0u<<lg2_page;
@@ -2849,6 +2885,9 @@ void PackLinuxElf64::pack1(OutputFile *fo, Filter & /*ft*/)
++lg2_page; ++lg2_page;
} }
} }
if (phdr->PT_GNU_STACK64 == type) {
gnu_stack = phdr;
}
} }
page_size = 1u <<lg2_page; page_size = 1u <<lg2_page;
page_mask = ~0ull<<lg2_page; page_mask = ~0ull<<lg2_page;
@@ -3003,6 +3042,7 @@ int PackLinuxElf32::pack2(OutputFile *fo, Filter &ft)
// compress extents // compress extents
unsigned hdr_u_len = sizeof(Elf32_Ehdr) + sz_phdrs; unsigned hdr_u_len = sizeof(Elf32_Ehdr) + sz_phdrs;
// TODO: propagate that to the stubs (varies by gnu_stack)
unsigned total_in = xct_off - (is_shlib ? hdr_u_len : 0); unsigned total_in = xct_off - (is_shlib ? hdr_u_len : 0);
unsigned total_out = xct_off; unsigned total_out = xct_off;
@@ -3112,6 +3152,7 @@ int PackLinuxElf64::pack2(OutputFile *fo, Filter &ft)
// compress extents // compress extents
unsigned hdr_u_len = sizeof(Elf64_Ehdr) + sz_phdrs; unsigned hdr_u_len = sizeof(Elf64_Ehdr) + sz_phdrs;
// TODO: propagate that to the stubs (varies by gnu_stack)
unsigned total_in = xct_off - (is_shlib ? hdr_u_len : 0); unsigned total_in = xct_off - (is_shlib ? hdr_u_len : 0);
unsigned total_out = xct_off; unsigned total_out = xct_off;
+2
View File
@@ -153,6 +153,7 @@ protected:
Elf32_Ehdr ehdri; // from input file Elf32_Ehdr ehdri; // from input file
Elf32_Phdr *phdri; // for input file Elf32_Phdr *phdri; // for input file
Elf32_Shdr const *shdri; // from input file Elf32_Shdr const *shdri; // from input file
Elf32_Phdr const *gnu_stack; // propagate NX
unsigned e_phoff; unsigned e_phoff;
unsigned e_shoff; unsigned e_shoff;
unsigned so_slide; unsigned so_slide;
@@ -272,6 +273,7 @@ protected:
Elf64_Ehdr ehdri; // from input file Elf64_Ehdr ehdri; // from input file
Elf64_Phdr *phdri; // for input file Elf64_Phdr *phdri; // for input file
Elf64_Shdr const *shdri; // from input file Elf64_Shdr const *shdri; // from input file
Elf64_Phdr const *gnu_stack; // propagate NX
upx_uint64_t e_phoff; upx_uint64_t e_phoff;
upx_uint64_t e_shoff; upx_uint64_t e_shoff;
unsigned so_slide; unsigned so_slide;
+279 -279
View File
@@ -1,5 +1,5 @@
/* amd64-linux.elf-entry.h /* amd64-linux.elf-entry.h
created from amd64-linux.elf-entry.bin, 10420 (0x28b4) bytes created from amd64-linux.elf-entry.bin, 10422 (0x28b6) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,14 +31,14 @@
*/ */
#define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 10420 #define STUB_AMD64_LINUX_ELF_ENTRY_SIZE 10422
#define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0x368f49e2 #define STUB_AMD64_LINUX_ELF_ENTRY_ADLER32 0x7f5a4b34
#define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0xedc2694d #define STUB_AMD64_LINUX_ELF_ENTRY_CRC32 0x7f4cfa8c
unsigned char stub_amd64_linux_elf_entry[10420] = { unsigned char stub_amd64_linux_elf_entry[10422] = {
/* 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 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0010 */ 1, 0, 62, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,152, 24, 0, 0, 0, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0,160, 24, 0, 0, 0, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, /* 0x0030 */ 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0,
/* 0x0040 */ 232, 0, 0, 0, 0, 85, 83, 81, 82, 72, 1,254, 86, 72,137,254, /* 0x0040 */ 232, 0, 0, 0, 0, 85, 83, 81, 82, 72, 1,254, 86, 72,137,254,
/* 0x0050 */ 72,137,215, 49,219, 49,201, 72,131,205,255,232, 80, 0, 0, 0, /* 0x0050 */ 72,137,215, 49,219, 49,201, 72,131,205,255,232, 80, 0, 0, 0,
@@ -415,277 +415,277 @@ unsigned char stub_amd64_linux_elf_entry[10420] = {
/* 0x1780 */ 0, 0,137,250, 41,242,116, 21, 1,213, 1, 84, 36, 8, 1, 84, /* 0x1780 */ 0, 0,137,250, 41,242,116, 21, 1,213, 1, 84, 36, 8, 1, 84,
/* 0x1790 */ 36, 24,137,217, 41,241,193,233, 3,252,243, 72,165,151, 72,137, /* 0x1790 */ 36, 24,137,217, 41,241,193,233, 3,252,243, 72,165,151, 72,137,
/* 0x17a0 */ 222, 80,146,173, 80, 72,137,225,173,151,173, 68, 15,182,192, 72, /* 0x17a0 */ 222, 80,146,173, 80, 72,137,225,173,151,173, 68, 15,182,192, 72,
/* 0x17b0 */ 135,254,255,213, 89,195, 93, 72,141, 69,247, 68,139, 56,186,200, /* 0x17b0 */ 135,254,255,213, 89,195, 93, 72,141, 69,247, 68,139, 56, 76, 41,
/* 0x17c0 */ 0, 0, 0, 76, 41,248, 65, 41,215, 72,141, 12, 16,232, 0, 0, /* 0x17c0 */ 248,107, 80, 56, 56,131,194, 88, 65, 41,215, 72,141, 12, 16,232,
/* 0x17d0 */ 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,101,108, /* 0x17d0 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,
/* 0x17e0 */ 102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101, 99,116, /* 0x17e0 */ 101,108,102, 54, 52, 45,120, 56, 54, 45, 54, 52, 10, 10, 83,101,
/* 0x17f0 */ 105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101, 32, 32, /* 0x17f0 */ 99,116,105,111,110,115, 58, 10, 73,100,120, 32, 78, 97,109,101,
/* 0x1800 */ 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32, 32, 32, /* 0x1800 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 83,105,122,101, 32, 32,
/* 0x1810 */ 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x1810 */ 32, 32, 32, 32, 86, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1820 */ 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x1820 */ 32, 32, 32, 32, 32, 32, 76, 77, 65, 32, 32, 32, 32, 32, 32, 32,
/* 0x1830 */ 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102, 32, 32, /* 0x1830 */ 32, 32, 32, 32, 32, 32, 32, 32, 70,105,108,101, 32,111,102,102,
/* 0x1840 */ 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32, 48, 32, /* 0x1840 */ 32, 32, 65,108,103,110, 32, 32, 70,108, 97,103,115, 10, 32, 32,
/* 0x1850 */ 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32, 48, 48, /* 0x1850 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 88, 32, 32, 32, 32, 32, 32,
/* 0x1860 */ 48, 48, 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1860 */ 48, 48, 48, 48, 48, 48, 48,100, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1870 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, /* 0x1870 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
/* 0x1880 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, /* 0x1880 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48,
/* 0x1890 */ 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, /* 0x1890 */ 48, 48, 48, 48, 52, 48, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79,
/* 0x18a0 */ 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, /* 0x18a0 */ 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82,
/* 0x18b0 */ 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95, 72, 69, /* 0x18b0 */ 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 49, 32, 78, 82, 86, 95,
/* 0x18c0 */ 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, 54, /* 0x18c0 */ 72, 69, 65, 68, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x18d0 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x18d0 */ 54, 54, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x18e0 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x18e0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x18f0 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52,100, 32, 32, /* 0x18f0 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 52,100,
/* 0x1900 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, /* 0x1900 */ 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83,
/* 0x1910 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78, 82, 86, /* 0x1910 */ 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 50, 32, 78,
/* 0x1920 */ 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, /* 0x1920 */ 82, 86, 50, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, 48, 48,
/* 0x1930 */ 48, 98, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1930 */ 48, 48, 48, 98, 55, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1940 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1940 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48,
/* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 98, /* 0x1950 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x1960 */ 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, /* 0x1960 */ 48, 98, 51, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69,
/* 0x1970 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, /* 0x1970 */ 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68,
/* 0x1980 */ 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32, 32, 32, /* 0x1980 */ 79, 78, 76, 89, 10, 32, 32, 51, 32, 78, 82, 86, 50, 68, 32, 32,
/* 0x1990 */ 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57,101, 32, 32, 48, /* 0x1990 */ 32, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 57,101, 32,
/* 0x19a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x19a0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19b0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x19b0 */ 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x19c0 */ 48, 32, 32, 48, 48, 48, 48, 48, 49, 54, 97, 32, 32, 50, 42, 42, /* 0x19c0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 49, 54, 97, 32, 32, 50,
/* 0x19d0 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, /* 0x19d0 */ 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82,
/* 0x19e0 */ 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 52, /* 0x19e0 */ 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32,
/* 0x19f0 */ 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32, 32, 48, /* 0x19f0 */ 32, 52, 32, 78, 82, 86, 50, 66, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x1a00 */ 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1a00 */ 32, 48, 48, 48, 48, 48, 48, 57, 48, 32, 32, 48, 48, 48, 48, 48,
/* 0x1a10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1a10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1a20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
/* 0x1a30 */ 48, 48, 50, 48, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x1a30 */ 48, 48, 48, 48, 50, 48, 56, 32, 32, 50, 42, 42, 48, 32, 32, 67,
/* 0x1a40 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, /* 0x1a40 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32,
/* 0x1a50 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77, 65, 95, /* 0x1a50 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 53, 32, 76, 90, 77,
/* 0x1a60 */ 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 54, /* 0x1a60 */ 65, 95, 69, 76, 70, 48, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48,
/* 0x1a70 */ 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1a70 */ 48, 54, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a80 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1a80 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1a90 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 57, 56, 32, /* 0x1a90 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 50, 57,
/* 0x1aa0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x1aa0 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1ab0 */ 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, /* 0x1ab0 */ 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, 65, 68, 79, 78,
/* 0x1ac0 */ 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 32, /* 0x1ac0 */ 76, 89, 10, 32, 32, 54, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49,
/* 0x1ad0 */ 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48, 48, 48, /* 0x1ad0 */ 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, 48,
/* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, /* 0x1ae0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,
/* 0x1af0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1af0 */ 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b00 */ 32, 48, 48, 48, 48, 48, 50,102, 99, 32, 32, 50, 42, 42, 48, 32, /* 0x1b00 */ 48, 32, 32, 48, 48, 48, 48, 48, 50,102, 99, 32, 32, 50, 42, 42,
/* 0x1b10 */ 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, /* 0x1b10 */ 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65,
/* 0x1b20 */ 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68, 69, 67, /* 0x1b20 */ 68, 79, 78, 76, 89, 10, 32, 32, 55, 32, 76, 90, 77, 65, 95, 68,
/* 0x1b30 */ 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55, 32, 32, /* 0x1b30 */ 69, 67, 50, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 57,102, 55,
/* 0x1b40 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1b40 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b50 */ 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1b50 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1b60 */ 48, 48, 32, 32, 48, 48, 48, 48, 48, 99,102, 51, 32, 32, 50, 42, /* 0x1b60 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 99,102, 51, 32, 32,
/* 0x1b70 */ 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, /* 0x1b70 */ 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32,
/* 0x1b80 */ 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77, 65, 95, /* 0x1b80 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 56, 32, 76, 90, 77,
/* 0x1b90 */ 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, /* 0x1b90 */ 65, 95, 68, 69, 67, 51, 48, 32, 32, 32, 32, 48, 48, 48, 48, 48,
/* 0x1ba0 */ 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1ba0 */ 48, 49, 52, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1bb0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1bb0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1bc0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 54,101, 97, 32, /* 0x1bc0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 54,101,
/* 0x1bd0 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x1bd0 */ 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1be0 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32, 78, 82, /* 0x1be0 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 32, 57, 32,
/* 0x1bf0 */ 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x1bf0 */ 78, 82, 86, 95, 84, 65, 73, 76, 32, 32, 32, 32, 32, 32, 48, 48,
/* 0x1c00 */ 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1c00 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1c10 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1c10 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 54, /* 0x1c20 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
/* 0x1c30 */ 102,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x1c30 */ 49, 54,102,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1c40 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 48, /* 0x1c40 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32,
/* 0x1c50 */ 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32, 32, 48, /* 0x1c50 */ 49, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 32, 32, 32, 32, 32,
/* 0x1c60 */ 48, 48, 48, 48, 48, 51, 97, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1c60 */ 32, 48, 48, 48, 48, 48, 48, 51, 97, 32, 32, 48, 48, 48, 48, 48,
/* 0x1c70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1c70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1c80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1c80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
/* 0x1c90 */ 48, 49, 54,102,101, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x1c90 */ 48, 48, 48, 49, 54,102,101, 32, 32, 50, 42, 42, 48, 32, 32, 67,
/* 0x1ca0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32, 82, 69, /* 0x1ca0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, 32,
/* 0x1cb0 */ 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70, 77, 65, /* 0x1cb0 */ 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 49, 32, 69, 76, 70,
/* 0x1cc0 */ 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 49, /* 0x1cc0 */ 77, 65, 73, 78, 90, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, 48,
/* 0x1cd0 */ 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1cd0 */ 48, 49, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ce0 */ 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1ce0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1cf0 */ 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 51, 56, 32, /* 0x1cf0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, 51,
/* 0x1d00 */ 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, /* 0x1d00 */ 56, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, 84,
/* 0x1d10 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32, 76, 85, /* 0x1d10 */ 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 50, 32,
/* 0x1d20 */ 78, 77, 80, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48, 48, 48, /* 0x1d20 */ 76, 85, 78, 77, 80, 48, 48, 48, 32, 32, 32, 32, 32, 32, 48, 48,
/* 0x1d30 */ 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1d30 */ 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1d40 */ 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1d40 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, 48,
/* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 49, 55, /* 0x1d50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48,
/* 0x1d60 */ 52, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84, 69, 78, /* 0x1d60 */ 49, 55, 52, 97, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, 84,
/* 0x1d70 */ 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32, 49, 51, /* 0x1d70 */ 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 32,
/* 0x1d80 */ 32, 76, 85, 78, 77, 80, 48, 48, 49, 32, 32, 32, 32, 32, 32, 48, /* 0x1d80 */ 49, 51, 32, 76, 85, 78, 77, 80, 48, 48, 49, 32, 32, 32, 32, 32,
/* 0x1d90 */ 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48, 48, 48, /* 0x1d90 */ 32, 48, 48, 48, 48, 48, 48, 48, 50, 32, 32, 48, 48, 48, 48, 48,
/* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, 48, 48, /* 0x1da0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48,
/* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, 48, /* 0x1db0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48,
/* 0x1dc0 */ 48, 49, 55, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67, 79, 78, /* 0x1dc0 */ 48, 48, 48, 49, 55, 52, 99, 32, 32, 50, 42, 42, 48, 32, 32, 67,
/* 0x1dd0 */ 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, /* 0x1dd0 */ 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 65, 68, 79, 78, 76,
/* 0x1de0 */ 32, 49, 52, 32, 69, 76, 70, 77, 65, 73, 78, 90,117, 32, 32, 32, /* 0x1de0 */ 89, 10, 32, 49, 52, 32, 69, 76, 70, 77, 65, 73, 78, 90,117, 32,
/* 0x1df0 */ 32, 32, 48, 48, 48, 48, 48, 48, 56, 52, 32, 32, 48, 48, 48, 48, /* 0x1df0 */ 32, 32, 32, 32, 48, 48, 48, 48, 48, 48, 56, 54, 32, 32, 48, 48,
/* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 48, 48, /* 0x1e00 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32,
/* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, /* 0x1e10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1e20 */ 48, 48, 48, 48, 49, 55, 52,101, 32, 32, 50, 42, 42, 48, 32, 32, /* 0x1e20 */ 32, 32, 48, 48, 48, 48, 49, 55, 52,101, 32, 32, 50, 42, 42, 48,
/* 0x1e30 */ 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79, 67, 44, /* 0x1e30 */ 32, 32, 67, 79, 78, 84, 69, 78, 84, 83, 44, 32, 82, 69, 76, 79,
/* 0x1e40 */ 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66, 79, 76, /* 0x1e40 */ 67, 44, 32, 82, 69, 65, 68, 79, 78, 76, 89, 10, 83, 89, 77, 66,
/* 0x1e50 */ 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1e50 */ 79, 76, 32, 84, 65, 66, 76, 69, 58, 10, 48, 48, 48, 48, 48, 48,
/* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x1e60 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x1e70 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48, 48, 48, /* 0x1e70 */ 100, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 9, 48, 48, 48, 48,
/* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 72, /* 0x1e80 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86,
/* 0x1e90 */ 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1e90 */ 95, 72, 69, 65, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ea0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 90, 77, /* 0x1ea0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x1eb0 */ 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1eb0 */ 90, 77, 65, 95, 68, 69, 67, 51, 48, 9, 48, 48, 48, 48, 48, 48,
/* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95, 68, 69, /* 0x1ec0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, 65, 95,
/* 0x1ed0 */ 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1ed0 */ 68, 69, 67, 51, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ee0 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, /* 0x1ee0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69,
/* 0x1ef0 */ 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1ef0 */ 76, 70, 77, 65, 73, 78, 89, 9, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f00 */ 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 89, 10, /* 0x1f00 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78,
/* 0x1f10 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1f10 */ 89, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f20 */ 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x1f20 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65,
/* 0x1f30 */ 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1f30 */ 73, 78, 90, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f40 */ 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48, 48, 48, /* 0x1f40 */ 48, 48, 48, 48, 32, 69, 76, 70, 77, 65, 73, 78, 90, 10, 48, 48,
/* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x1f50 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x1f60 */ 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,117, 9, 48, /* 0x1f60 */ 32, 32, 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90,117,
/* 0x1f70 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x1f70 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1f80 */ 69, 76, 70, 77, 65, 73, 78, 90,117, 10, 48, 48, 48, 48, 48, 48, /* 0x1f80 */ 48, 32, 69, 76, 70, 77, 65, 73, 78, 90,117, 10, 48, 48, 48, 48,
/* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32, /* 0x1f90 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32,
/* 0x1fa0 */ 100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, 48, 48, /* 0x1fa0 */ 32, 32,100, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48,
/* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69, 76, 70, /* 0x1fb0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 69,
/* 0x1fc0 */ 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1fc0 */ 76, 70, 77, 65, 73, 78, 88, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, /* 0x1fd0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32,
/* 0x1fe0 */ 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x1fe0 */ 32, 78, 82, 86, 50, 69, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x1ff0 */ 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48, 48, 48, /* 0x1ff0 */ 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, 69, 10, 48, 48,
/* 0x2000 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, /* 0x2000 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108,
/* 0x2010 */ 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48, 48, 48, /* 0x2010 */ 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 68, 9, 48, 48, 48,
/* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 50, /* 0x2020 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82,
/* 0x2030 */ 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2030 */ 86, 50, 68, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2040 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86, 50, 66, /* 0x2040 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 78, 82, 86,
/* 0x2050 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2050 */ 50, 66, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2060 */ 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2060 */ 48, 48, 48, 32, 78, 82, 86, 50, 66, 10, 48, 48, 48, 48, 48, 48,
/* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x2070 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x2080 */ 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48, 48, 48, /* 0x2080 */ 100, 32, 32, 76, 90, 77, 65, 95, 69, 76, 70, 48, 48, 9, 48, 48,
/* 0x2090 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, /* 0x2090 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,
/* 0x20a0 */ 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x20a0 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 10, 48, 48, 48, 48, 48, 48,
/* 0x20b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x20b0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x20c0 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48, 48, 48, /* 0x20c0 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 49, 48, 9, 48, 48,
/* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, /* 0x20d0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,
/* 0x20e0 */ 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x20e0 */ 90, 77, 65, 95, 68, 69, 67, 49, 48, 10, 48, 48, 48, 48, 48, 48,
/* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x20f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x2100 */ 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48, 48, 48, /* 0x2100 */ 100, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 50, 48, 9, 48, 48,
/* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 90, 77, /* 0x2110 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76,
/* 0x2120 */ 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2120 */ 90, 77, 65, 95, 68, 69, 67, 50, 48, 10, 48, 48, 48, 48, 48, 48,
/* 0x2130 */ 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, /* 0x2130 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,
/* 0x2140 */ 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48, 48, 48, /* 0x2140 */ 100, 32, 32, 78, 82, 86, 95, 84, 65, 73, 76, 9, 48, 48, 48, 48,
/* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86, 95, 84, /* 0x2150 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 78, 82, 86,
/* 0x2160 */ 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2160 */ 95, 84, 65, 73, 76, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2170 */ 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 85, 78, /* 0x2170 */ 48, 48, 48, 48, 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76,
/* 0x2180 */ 77, 80, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2180 */ 85, 78, 77, 80, 48, 48, 48, 9, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2190 */ 48, 48, 48, 48, 48, 48, 32, 76, 85, 78, 77, 80, 48, 48, 48, 10, /* 0x2190 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 85, 78, 77, 80, 48, 48,
/* 0x21a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x21a0 */ 48, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x21b0 */ 32,108, 32, 32, 32, 32,100, 32, 32, 76, 85, 78, 77, 80, 48, 48, /* 0x21b0 */ 48, 48, 32,108, 32, 32, 32, 32,100, 32, 32, 76, 85, 78, 77, 80,
/* 0x21c0 */ 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x21c0 */ 48, 48, 49, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x21d0 */ 48, 48, 32, 76, 85, 78, 77, 80, 48, 48, 49, 10, 48, 48, 48, 48, /* 0x21d0 */ 48, 48, 48, 48, 32, 76, 85, 78, 77, 80, 48, 48, 49, 10, 48, 48,
/* 0x21e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103, 32, 32, /* 0x21e0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32,103,
/* 0x21f0 */ 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9, 48, 48, /* 0x21f0 */ 32, 32, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 88, 9,
/* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 95, /* 0x2200 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2210 */ 115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2210 */ 32, 95,115,116, 97,114,116, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2220 */ 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, /* 0x2220 */ 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2230 */ 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2230 */ 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2240 */ 48, 48, 48, 48, 48, 32, 74, 77, 80, 85, 10, 48, 48, 48, 48, 48, /* 0x2240 */ 48, 48, 48, 48, 48, 48, 48, 32, 74, 77, 80, 85, 10, 48, 48, 48,
/* 0x2250 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, /* 0x2250 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32,
/* 0x2260 */ 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, /* 0x2260 */ 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48,
/* 0x2270 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 85, 10, /* 0x2270 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 76, 69, 78,
/* 0x2280 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2280 */ 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2290 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, /* 0x2290 */ 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, 78, 68, 42,
/* 0x22a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, /* 0x22a0 */ 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x22b0 */ 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x22b0 */ 48, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x22c0 */ 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32, 42, 85, /* 0x22c0 */ 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x22d0 */ 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x22d0 */ 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x22e0 */ 48, 48, 48, 48, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48, 48, 48, /* 0x22e0 */ 48, 48, 48, 48, 48, 48, 32, 76, 69, 78, 77, 10, 48, 48, 48, 48,
/* 0x22f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32, 32, 32, /* 0x22f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 32, 32, 32,
/* 0x2300 */ 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48, 48, 48, /* 0x2300 */ 32, 32, 32, 32, 32, 42, 85, 78, 68, 42, 9, 48, 48, 48, 48, 48,
/* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 67, 10, 10, /* 0x2310 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 32, 65, 68, 82, 67,
/* 0x2320 */ 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, /* 0x2320 */ 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67,
/* 0x2330 */ 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, 88, /* 0x2330 */ 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73,
/* 0x2340 */ 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, /* 0x2340 */ 78, 88, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32,
/* 0x2350 */ 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2350 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32,
/* 0x2360 */ 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, /* 0x2360 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48,
/* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, 95, 88, /* 0x2370 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82,
/* 0x2380 */ 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, /* 0x2380 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32,
/* 0x2390 */ 76, 70, 77, 65, 73, 78, 90,117, 43, 48,120, 48, 48, 48, 48, 48, /* 0x2390 */ 32, 69, 76, 70, 77, 65, 73, 78, 90,117, 43, 48,120, 48, 48, 48,
/* 0x23a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 54, 52, 10, 10, 82, 69, 76, /* 0x23a0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 54, 52, 10, 10, 82,
/* 0x23b0 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, /* 0x23b0 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68,
/* 0x23c0 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79, 70, 70, /* 0x23c0 */ 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 69, 93, 58, 10, 79,
/* 0x23d0 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, /* 0x23d0 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x23e0 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x23e0 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x23f0 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x23f0 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2400 */ 48, 48, 48, 48, 97,101, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, /* 0x2400 */ 48, 48, 48, 48, 48, 48, 97,101, 32, 82, 95, 88, 56, 54, 95, 54,
/* 0x2410 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, /* 0x2410 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72,
/* 0x2420 */ 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2420 */ 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2430 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2430 */ 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2440 */ 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, /* 0x2440 */ 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52,
/* 0x2450 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, /* 0x2450 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x2460 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, /* 0x2460 */ 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,
/* 0x2470 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, /* 0x2470 */ 102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
/* 0x2480 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, /* 0x2480 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 78,
/* 0x2490 */ 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, /* 0x2490 */ 82, 86, 50, 68, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32,
/* 0x24a0 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, /* 0x24a0 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32,
/* 0x24b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, /* 0x24b0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10,
/* 0x24c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 53, 32, 82, /* 0x24c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 57, 53,
/* 0x24d0 */ 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, /* 0x24d0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32,
/* 0x24e0 */ 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48, 48, 48, /* 0x24e0 */ 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, 68, 43, 48,120, 48, 48,
/* 0x24f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, /* 0x24f0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 50, 49, 10, 48,
/* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32, 82, 95, /* 0x2500 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 53, 98, 32,
/* 0x2510 */ 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, /* 0x2510 */ 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, 32, 32,
/* 0x2520 */ 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,102,102, /* 0x2520 */ 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, 43, 48,120,102,102,102,
/* 0x2530 */ 102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82, 69, 76, /* 0x2530 */ 102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, 10, 82,
/* 0x2540 */ 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, /* 0x2540 */ 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, 82, 68,
/* 0x2550 */ 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79, 70, 70, /* 0x2550 */ 83, 32, 70, 79, 82, 32, 91, 78, 82, 86, 50, 66, 93, 58, 10, 79,
/* 0x2560 */ 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, /* 0x2560 */ 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2570 */ 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, /* 0x2570 */ 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32,
/* 0x2580 */ 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2580 */ 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2590 */ 48, 48, 48, 48, 56, 97, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, /* 0x2590 */ 48, 48, 48, 48, 48, 48, 56, 97, 32, 82, 95, 88, 56, 54, 95, 54,
/* 0x25a0 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72, 69, 65, /* 0x25a0 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 78, 82, 86, 95, 72,
/* 0x25b0 */ 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x25b0 */ 69, 65, 68, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x25c0 */ 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x25c0 */ 48, 48, 48, 48, 50, 49, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x25d0 */ 48, 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, /* 0x25d0 */ 48, 48, 48, 48, 48, 53, 50, 32, 82, 95, 88, 56, 54, 95, 54, 52,
/* 0x25e0 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, /* 0x25e0 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x25f0 */ 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,102,102, /* 0x25f0 */ 78, 89, 43, 48,120,102,102,102,102,102,102,102,102,102,102,102,
/* 0x2600 */ 102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, /* 0x2600 */ 102,102,102,102, 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
/* 0x2610 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76, 90, 77, /* 0x2610 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 76,
/* 0x2620 */ 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83, 69, 84, /* 0x2620 */ 90, 77, 65, 95, 69, 76, 70, 48, 48, 93, 58, 10, 79, 70, 70, 83,
/* 0x2630 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, /* 0x2630 */ 69, 84, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80,
/* 0x2640 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, /* 0x2640 */ 69, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86,
/* 0x2650 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2650 */ 65, 76, 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2660 */ 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, /* 0x2660 */ 48, 48, 48, 48, 54, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80,
/* 0x2670 */ 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67, 51, 48, /* 0x2670 */ 67, 51, 50, 32, 32, 32, 32, 32, 76, 90, 77, 65, 95, 68, 69, 67,
/* 0x2680 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2680 */ 51, 48, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2690 */ 48, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, /* 0x2690 */ 48, 48, 48, 49, 48, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79,
/* 0x26a0 */ 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, /* 0x26a0 */ 78, 32, 82, 69, 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69,
/* 0x26b0 */ 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, /* 0x26b0 */ 76, 70, 77, 65, 73, 78, 89, 93, 58, 10, 79, 70, 70, 83, 69, 84,
/* 0x26c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, /* 0x26c0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32,
/* 0x26d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, /* 0x26d0 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76,
/* 0x26e0 */ 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, /* 0x26e0 */ 85, 69, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x26f0 */ 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51, 50, 32, /* 0x26f0 */ 48, 49, 56, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, 67, 51,
/* 0x2700 */ 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,120,102, /* 0x2700 */ 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 90, 43, 48,
/* 0x2710 */ 102,102,102,102,102,102,102,102,102,102,102,102,102,102, 99, 10, /* 0x2710 */ 120,102,102,102,102,102,102,102,102,102,102,102,102,102,102,102,
/* 0x2720 */ 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69, 67, 79, /* 0x2720 */ 99, 10, 10, 82, 69, 76, 79, 67, 65, 84, 73, 79, 78, 32, 82, 69,
/* 0x2730 */ 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65, 73, 78, /* 0x2730 */ 67, 79, 82, 68, 83, 32, 70, 79, 82, 32, 91, 69, 76, 70, 77, 65,
/* 0x2740 */ 90,117, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32, 32, 32, /* 0x2740 */ 73, 78, 90,117, 93, 58, 10, 79, 70, 70, 83, 69, 84, 32, 32, 32,
/* 0x2750 */ 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32, 32, 32, /* 0x2750 */ 32, 32, 32, 32, 32, 32, 32, 32, 84, 89, 80, 69, 32, 32, 32, 32,
/* 0x2760 */ 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10, 48, 48, /* 0x2760 */ 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 86, 65, 76, 85, 69, 10,
/* 0x2770 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 32, 82, /* 0x2770 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49,
/* 0x2780 */ 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, /* 0x2780 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32,
/* 0x2790 */ 32, 74, 77, 80, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2790 */ 32, 32, 32, 74, 77, 80, 85, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x27a0 */ 48, 48, 48, 48, 48, 55, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, /* 0x27a0 */ 48, 48, 48, 48, 48, 48, 48, 55, 32, 82, 95, 88, 56, 54, 95, 54,
/* 0x27b0 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10, 48, 48, /* 0x27b0 */ 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 85, 10,
/* 0x27c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,102, 32, 82, /* 0x27c0 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,102,
/* 0x27d0 */ 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, /* 0x27d0 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32,
/* 0x27e0 */ 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x27e0 */ 32, 32, 32, 65, 68, 82, 77, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x27f0 */ 48, 48, 48, 48, 49, 55, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, /* 0x27f0 */ 48, 48, 48, 48, 48, 48, 49, 55, 32, 82, 95, 88, 56, 54, 95, 54,
/* 0x2800 */ 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10, 48, 48, /* 0x2800 */ 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, 32, 76, 69, 78, 77, 10,
/* 0x2810 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 51, 48, 32, 82, /* 0x2810 */ 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 51, 48,
/* 0x2820 */ 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32, 32, 32, /* 0x2820 */ 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 51, 50, 32, 32, 32, 32,
/* 0x2830 */ 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2830 */ 32, 32, 32, 65, 68, 82, 67, 10, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2840 */ 48, 48, 48, 48, 56, 48, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, /* 0x2840 */ 48, 48, 48, 48, 48, 48, 56, 50, 32, 82, 95, 88, 56, 54, 95, 54,
/* 0x2850 */ 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, /* 0x2850 */ 52, 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65,
/* 0x2860 */ 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2860 */ 73, 78, 90, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2870 */ 48, 48, 48,100, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x2870 */ 48, 48, 48, 48, 48,100, 10, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x2880 */ 48, 48, 48, 50, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52, 95, 80, /* 0x2880 */ 48, 48, 48, 48, 48, 50, 98, 32, 82, 95, 88, 56, 54, 95, 54, 52,
/* 0x2890 */ 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73, 78, 89, /* 0x2890 */ 95, 80, 67, 51, 50, 32, 32, 32, 32, 32, 69, 76, 70, 77, 65, 73,
/* 0x28a0 */ 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, /* 0x28a0 */ 78, 89, 43, 48,120, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48,
/* 0x28b0 */ 48, 48,100, 10 /* 0x28b0 */ 48, 48, 48, 48,100, 10
}; };
+103 -103
View File
@@ -1,5 +1,5 @@
/* i386-linux.elf-fold.h /* i386-linux.elf-fold.h
created from i386-linux.elf-fold.bin, 1754 (0x6da) bytes created from i386-linux.elf-fold.bin, 1758 (0x6de) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,119 +31,119 @@
*/ */
#define STUB_I386_LINUX_ELF_FOLD_SIZE 1754 #define STUB_I386_LINUX_ELF_FOLD_SIZE 1758
#define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x421af656 #define STUB_I386_LINUX_ELF_FOLD_ADLER32 0x63c7f6f3
#define STUB_I386_LINUX_ELF_FOLD_CRC32 0xad8687b6 #define STUB_I386_LINUX_ELF_FOLD_CRC32 0x572fb338
unsigned char stub_i386_linux_elf_fold[1754] = { unsigned char stub_i386_linux_elf_fold[1758] = {
/* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0000 */ 127, 69, 76, 70, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0, /* 0x0010 */ 2, 0, 3, 0, 1, 0, 0, 0,128, 16,192, 0, 52, 0, 0, 0,
/* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0, /* 0x0020 */ 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 32, 0, 2, 0, 0, 0,
/* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0, /* 0x0030 */ 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 16,192, 0,
/* 0x0040 */ 0, 16,192, 0,218, 6, 0, 0,220, 6, 0, 0, 5, 0, 0, 0, /* 0x0040 */ 0, 16,192, 0,222, 6, 0, 0,224, 6, 0, 0, 5, 0, 0, 0,
/* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,218, 6, 0, 0, 0, 0, 0, 0, /* 0x0050 */ 0, 16, 0, 0, 1, 0, 0, 0,222, 6, 0, 0, 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, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0070 */ 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x0080 */ 87, 83, 41,201,186,120, 2, 0, 0,137,230,137,231, 41,219,232, /* 0x0080 */ 87, 83, 41,201,186,120, 2, 0, 0,137,230,137,231, 41,219,232,
/* 0x0090 */ 183, 0, 0, 0,141, 89, 4,137,230,209,234, 25,192, 41,193,141, /* 0x0090 */ 185, 0, 0, 0,141, 89, 4,137,230,209,234, 25,192, 41,193,141,
/* 0x00a0 */ 36,196,133,210,117,243,129,236, 8, 16, 0, 0,137,231,232,152, /* 0x00a0 */ 36,196,133,210,117,243,129,236, 8, 16, 0, 0,137,231,232,154,
/* 0x00b0 */ 0, 0, 0,199, 6, 32, 32, 32, 61,137, 51,186, 0, 16, 0, 0, /* 0x00b0 */ 0, 0, 0,199, 6, 32, 32, 32, 61,137, 51,186, 0, 16, 0, 0,
/* 0x00c0 */ 141, 78, 4,232, 15, 0, 0, 0, 47,112,114,111, 99, 47,115,101, /* 0x00c0 */ 141, 78, 4,232, 15, 0, 0, 0, 47,112,114,111, 99, 47,115,101,
/* 0x00d0 */ 108,102, 47,101,120,101, 0, 91,106, 85, 88,205,128,133,192,120, /* 0x00d0 */ 108,102, 47,101,120,101, 0, 91,106, 85, 88,205,128,133,192,120,
/* 0x00e0 */ 4,198, 4, 1, 0, 91, 94,129,236, 0, 10, 0, 0, 83,139, 83, /* 0x00e0 */ 4,198, 4, 1, 0, 91, 94,129,236, 0, 10, 0, 0, 83,139, 83,
/* 0x00f0 */ 72,141,148, 26,255, 31, 0, 0,129,226, 0,240,255,255, 82, 41, /* 0x00f0 */ 72,141,148, 26,255, 31, 0, 0,129,226, 0,240,255,255, 82, 41,
/* 0x0100 */ 192,102,131,123, 16, 3,117, 1,146, 80,141,131,140, 0, 0, 0, /* 0x0100 */ 192,102,131,123, 16, 3,117, 1,146, 80,107, 67, 44, 32,141, 68,
/* 0x0110 */ 139, 24,139, 72, 4,131,193, 12,141, 84, 36, 12, 96, 71,232,111, /* 0x0110 */ 24, 76,139, 24,139, 72, 4,131,193, 12,141, 84, 36, 12, 96, 71,
/* 0x0120 */ 4, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0, 90,193, /* 0x0120 */ 232,113, 4, 0, 0,131,196, 36, 89, 91,129,196, 0, 10, 0, 0,
/* 0x0130 */ 226, 12, 1,211, 80, 79, 41,192, 60,175,175,117,252, 80, 80, 80, /* 0x0130 */ 90,193,226, 12, 1,211, 80, 79, 41,192, 60,175,175,117,252, 80,
/* 0x0140 */ 80, 80, 80, 80, 80, 41,217,176, 91,255, 39,173,171,173,171,173, /* 0x0140 */ 80, 80, 80, 80, 80, 80, 80, 41,217,176, 91,255, 39,173,171,173,
/* 0x0150 */ 171,173,171,173,171,133,192,117,250,135,223, 1,223,173,171,133, /* 0x0150 */ 171,173,171,173,171,173,171,133,192,117,250,135,223, 1,223,173,
/* 0x0160 */ 192,117,250, 87,173,171,131,248, 32,115, 3, 15,179,194,133,192, /* 0x0160 */ 171,133,192,117,250, 87,173,171,131,248, 32,115, 3, 15,179,194,
/* 0x0170 */ 173,171,117,240,131,239, 8, 1,201, 64,243,171, 72,171,171,137, /* 0x0170 */ 133,192,173,171,117,240,131,239, 8, 1,201, 64,243,171, 72,171,
/* 0x0180 */ 254, 95,195, 83,141, 92, 36, 8,106, 90, 88,205,128, 91,195, 0, /* 0x0180 */ 171,137,254, 95,195, 83,141, 92, 36, 8,106, 90, 88,205,128, 91,
/* 0x0190 */ 87, 86,137,206, 83,137,195, 57, 8,139,120, 4,115, 10,106,127, /* 0x0190 */ 195, 0, 0, 0, 87, 86,137,206, 83,137,195, 57, 8,139,120, 4,
/* 0x01a0 */ 91,106, 1, 88,205,128,235,254,133,201,116, 8,138, 7, 71,136, /* 0x01a0 */ 115, 10,106,127, 91,106, 1, 88,205,128,235,254,133,201,116, 8,
/* 0x01b0 */ 2, 66,226,248, 1,115, 4, 41, 51, 91, 94, 95,195, 85,137,229, /* 0x01b0 */ 138, 7, 71,136, 2, 66,226,248, 1,115, 4, 41, 51, 91, 94, 95,
/* 0x01c0 */ 87, 86,137,198, 83,137,211,131,236, 24,139, 69, 8,139,125, 12, /* 0x01c0 */ 195, 85,137,229, 87, 86,137,198, 83,137,211,131,236, 24,139, 69,
/* 0x01d0 */ 137, 69,220,131, 58, 0, 15,132,185, 0, 0, 0,141, 85,228,185, /* 0x01d0 */ 8,139,125, 12,137, 69,220,131, 58, 0, 15,132,185, 0, 0, 0,
/* 0x01e0 */ 12, 0, 0, 0,137,240,232,165,255,255,255,139, 69,228,139, 77, /* 0x01e0 */ 141, 85,228,185, 12, 0, 0, 0,137,240,232,165,255,255,255,139,
/* 0x01f0 */ 232,133,192,117, 19,129,249, 85, 80, 88, 33,117, 15,131, 62, 0, /* 0x01f0 */ 69,228,139, 77,232,133,192,117, 19,129,249, 85, 80, 88, 33,117,
/* 0x0200 */ 15,132,143, 0, 0, 0,235, 4,133,201,117, 10,106,127, 91,106, /* 0x0200 */ 15,131, 62, 0, 15,132,143, 0, 0, 0,235, 4,133,201,117, 10,
/* 0x0210 */ 1, 88,205,128,235,254, 57,193,119,242, 59, 3,119,238, 57,193, /* 0x0210 */ 106,127, 91,106, 1, 88,205,128,235,254, 57,193,119,242, 59, 3,
/* 0x0220 */ 115, 86,137, 69,224,141, 69,224,255,117,236, 80,255,115, 4, 81, /* 0x0220 */ 119,238, 57,193,115, 86,137, 69,224,141, 69,224,255,117,236, 80,
/* 0x0230 */ 255,118, 4,255, 85,220,131,196, 20,133,192,117,207,139, 85,224, /* 0x0230 */ 255,115, 4, 81,255,118, 4,255, 85,220,131,196, 20,133,192,117,
/* 0x0240 */ 59, 85,228,117,199,138, 69,237,132,192,116, 34,133,255,116, 30, /* 0x0240 */ 207,139, 85,224, 59, 85,228,117,199,138, 69,237,132,192,116, 34,
/* 0x0250 */ 129,250, 0, 2, 0, 0,119, 4, 57, 19,117, 18, 15,182,192, 80, /* 0x0250 */ 133,255,116, 30,129,250, 0, 2, 0, 0,119, 4, 57, 19,117, 18,
/* 0x0260 */ 15,182, 69,238, 80, 82,255,115, 4,255,215,131,196, 16,139, 69, /* 0x0260 */ 15,182,192, 80, 15,182, 69,238, 80, 82,255,115, 4,255,215,131,
/* 0x0270 */ 232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,137,240,232, 14,255, /* 0x0270 */ 196, 16,139, 69,232, 1, 70, 4, 41, 6,235, 10,139, 83, 4,137,
/* 0x0280 */ 255,255,139, 85,228,139, 3, 1, 83, 4, 41,208,133,192,137, 3, /* 0x0280 */ 240,232, 14,255,255,255,139, 85,228,139, 3, 1, 83, 4, 41,208,
/* 0x0290 */ 233, 65,255,255,255,141,101,244, 91, 94, 95,201,195,133,192,116, /* 0x0290 */ 133,192,137, 3,233, 65,255,255,255,141,101,244, 91, 94, 95,201,
/* 0x02a0 */ 13,168, 1,117, 9, 57, 16,116, 7,131,192, 8,235,247, 49,192, /* 0x02a0 */ 195,133,192,116, 13,168, 1,117, 9, 57, 16,116, 7,131,192, 8,
/* 0x02b0 */ 133,192,116, 3,137, 72, 4,195, 85,137,229, 87, 86, 83,131,236, /* 0x02b0 */ 235,247, 49,192,133,192,116, 3,137, 72, 4,195, 85,137,229, 87,
/* 0x02c0 */ 72,137, 69,228,139, 69, 8,137, 85,224,139, 93, 20,137, 69,220, /* 0x02c0 */ 86, 83,131,236, 72,137, 69,228,139, 69, 8,137, 85,224,139, 93,
/* 0x02d0 */ 139,117,224,139, 69,224,137, 93,208,139, 85, 12,139, 93,224, 3, /* 0x02d0 */ 20,137, 69,220,139,117,224,139, 69,224,137, 93,208,139, 85, 12,
/* 0x02e0 */ 118, 28,137, 85,216,102,131,120, 16, 2, 15,183, 83, 44,139, 77, /* 0x02e0 */ 139, 93,224, 3,118, 28,137, 85,216,102,131,120, 16, 2, 15,183,
/* 0x02f0 */ 16,137,117,204, 15,148,192, 49,255, 15,182,192,137,211,137, 77, /* 0x02f0 */ 83, 44,139, 77, 16,137,117,204, 15,148,192, 49,255, 15,182,192,
/* 0x0300 */ 212,193,224, 4,137,241,131,206,255, 75,120, 31,137,211,131, 57, /* 0x0300 */ 137,211,137, 77,212,193,224, 4,137,241,131,206,255, 75,120, 31,
/* 0x0310 */ 1,117, 18,139, 81, 8, 57,242,115, 2,137,214, 3, 81, 20, 57, /* 0x0310 */ 137,211,131, 57, 1,117, 18,139, 81, 8, 57,242,115, 2,137,214,
/* 0x0320 */ 215,115, 2,137,215,131,193, 32, 75,117,227,129,230, 0,240,255, /* 0x0320 */ 3, 81, 20, 57,215,115, 2,137,215,131,193, 32, 75,117,227,129,
/* 0x0330 */ 255, 41,247,137,242,141,159,255, 15, 0, 0,129,227, 0,240,255, /* 0x0330 */ 230, 0,240,255,255, 41,247,137,242,141,159,255, 15, 0, 0,129,
/* 0x0340 */ 255,133,192,117, 22,106, 0,131,200, 34,106,255, 80,106, 0, 83, /* 0x0340 */ 227, 0,240,255,255,133,192,117, 22,106, 0,131,200, 34,106,255,
/* 0x0350 */ 86,232, 45,254,255,255,131,196, 24,137,194,141, 4, 26, 41,242, /* 0x0350 */ 80,106, 0, 83, 86,232, 43,254,255,255,131,196, 24,137,194,141,
/* 0x0360 */ 139,117,224,137, 85,200,137, 69,240,102,131,126, 44, 0,199, 69, /* 0x0360 */ 4, 26, 41,242,139,117,224,137, 85,200,137, 69,240,102,131,126,
/* 0x0370 */ 196, 0, 0, 0, 0, 15,132,221, 1, 0, 0,131,125,220, 0,116, /* 0x0370 */ 44, 0,199, 69,196, 0, 0, 0, 0, 15,132,221, 1, 0, 0,131,
/* 0x0380 */ 32,139, 69,204,131, 56, 6,117, 24,139, 77,200,186, 3, 0, 0, /* 0x0380 */ 125,220, 0,116, 32,139, 69,204,131, 56, 6,117, 24,139, 77,200,
/* 0x0390 */ 0, 3, 72, 8,139, 69,216,232, 1,255,255,255,233,160, 1, 0, /* 0x0390 */ 186, 3, 0, 0, 0, 3, 72, 8,139, 69,216,232, 1,255,255,255,
/* 0x03a0 */ 0,139, 85,204,131, 58, 1, 15,133,148, 1, 0, 0,139, 74, 24, /* 0x03a0 */ 233,160, 1, 0, 0,139, 85,204,131, 58, 1, 15,133,148, 1, 0,
/* 0x03b0 */ 187, 64, 98, 81,115,137,214,139, 69,200,131,225, 7, 3, 70, 8, /* 0x03b0 */ 0,139, 74, 24,187, 64, 98, 81,115,137,214,139, 69,200,131,225,
/* 0x03c0 */ 193,225, 2,139, 82, 16,211,235,137,217,137, 85,232,131,225, 7, /* 0x03c0 */ 7, 3, 70, 8,193,225, 2,139, 82, 16,211,235,137,217,137, 85,
/* 0x03d0 */ 137, 69,236,137, 77,192,139, 78, 20,137,198, 1,193,137, 77,188, /* 0x03d0 */ 232,131,225, 7,137, 69,236,137, 77,192,139, 78, 20,137,198, 1,
/* 0x03e0 */ 137,193,129,225,255, 15, 0, 0, 41,206,131,125,220, 0,141, 60, /* 0x03e0 */ 193,137, 77,188,137,193,129,225,255, 15, 0, 0, 41,206,131,125,
/* 0x03f0 */ 10,116, 63,106, 0,139, 69,192,106,255,106, 50,131,200, 2, 80, /* 0x03f0 */ 220, 0,141, 60, 10,116, 63,106, 0,139, 69,192,106,255,106, 50,
/* 0x0400 */ 141, 71, 3, 80, 86,232,121,253,255,255,131,196, 24, 57,198, 15, /* 0x0400 */ 131,200, 2, 80,141, 71, 3, 80, 86,232,119,253,255,255,131,196,
/* 0x0410 */ 133,221, 0, 0, 0,128,227, 4,139, 69,208,117, 2, 49,192, 80, /* 0x0410 */ 24, 57,198, 15,133,221, 0, 0, 0,128,227, 4,139, 69,208,117,
/* 0x0420 */ 139, 69,220,255,117,228,141, 85,232,232,143,253,255,255, 88, 90, /* 0x0420 */ 2, 49,192, 80,139, 69,220,255,117,228,141, 85,232,232,143,253,
/* 0x0430 */ 235, 35,139, 93,204,139, 67, 4, 41,200, 80,255,117,228,106, 18, /* 0x0430 */ 255,255, 88, 90,235, 35,139, 93,204,139, 67, 4, 41,200, 80,255,
/* 0x0440 */ 255,117,192, 87, 86,232, 57,253,255,255,131,196, 24, 57,198, 15, /* 0x0440 */ 117,228,106, 18,255,117,192, 87, 86,232, 55,253,255,255,131,196,
/* 0x0450 */ 133,157, 0, 0, 0,137,248,247,216, 37,255, 15, 0, 0,246, 69, /* 0x0450 */ 24, 57,198, 15,133,157, 0, 0, 0,137,248,247,216, 37,255, 15,
/* 0x0460 */ 192, 2,137, 69,184,116, 18,131,125,184, 0,141, 4, 62,116, 9, /* 0x0460 */ 0, 0,246, 69,192, 2,137, 69,184,116, 18,131,125,184, 0,141,
/* 0x0470 */ 139, 77,184,198, 0, 0, 64,226,250,131,125,220, 0,116,125,139, /* 0x0470 */ 4, 62,116, 9,139, 77,184,198, 0, 0, 64,226,250,131,125,220,
/* 0x0480 */ 85,204,131, 58, 1,117, 91,246, 66, 24, 1,116, 85,137,209,139, /* 0x0480 */ 0,116,125,139, 85,204,131, 58, 1,117, 91,246, 66, 24, 1,116,
/* 0x0490 */ 82, 20,139, 89, 8,139, 69,204,141, 12, 26, 3, 77,200, 59, 80, /* 0x0490 */ 85,137,209,139, 82, 20,139, 89, 8,139, 69,204,141, 12, 26, 3,
/* 0x04a0 */ 16,117, 14,137,200,247,216, 37,255, 15, 0, 0,131,248, 3,119, /* 0x04a0 */ 77,200, 59, 80, 16,117, 14,137,200,247,216, 37,255, 15, 0, 0,
/* 0x04b0 */ 17,139, 85,204,107, 69,200, 52,131,122, 4, 0,141, 76, 3, 12, /* 0x04b0 */ 131,248, 3,119, 17,139, 85,204,107, 69,200, 52,131,122, 4, 0,
/* 0x04c0 */ 117, 32,139, 1, 61,205,128, 97,195,116, 6,199, 1,205,128, 97, /* 0x04c0 */ 141, 76, 3, 12,117, 32,139, 1, 61,205,128, 97,195,116, 6,199,
/* 0x04d0 */ 195,133,201,116, 13,139, 69,216, 49,210,131,224,254,232,187,253, /* 0x04d0 */ 1,205,128, 97,195,133,201,116, 13,139, 69,216, 49,210,131,224,
/* 0x04e0 */ 255,255,137,243,137,249,139, 85,192,106,125, 88,205,128,133,192, /* 0x04e0 */ 254,232,187,253,255,255,137,243,137,249,139, 85,192,106,125, 88,
/* 0x04f0 */ 116, 10,106,127, 91,106, 1, 88,205,128,235,254,139, 85,184,141, /* 0x04f0 */ 205,128,133,192,116, 10,106,127, 91,106, 1, 88,205,128,235,254,
/* 0x0500 */ 4, 23,141, 28, 6, 59, 93,188,115, 30,106, 0,106,255,106, 50, /* 0x0500 */ 139, 85,184,141, 4, 23,141, 28, 6, 59, 93,188,115, 30,106, 0,
/* 0x0510 */ 255,117,192, 41, 93,188,255,117,188, 83,232,100,252,255,255,131, /* 0x0510 */ 106,255,106, 50,255,117,192, 41, 93,188,255,117,188, 83,232, 98,
/* 0x0520 */ 196, 24, 57,195,116, 27,235,202,131,125,220, 0,116, 19,141, 79, /* 0x0520 */ 252,255,255,131,196, 24, 57,195,116, 27,235,202,131,125,220, 0,
/* 0x0530 */ 3,129,225,255, 15, 0, 0,131,249, 3,119, 5,106, 91, 88,205, /* 0x0530 */ 116, 19,141, 79, 3,129,225,255, 15, 0, 0,131,249, 3,119, 5,
/* 0x0540 */ 128,139, 77,224,255, 69,196, 15,183, 65, 44,131, 69,204, 32, 57, /* 0x0540 */ 106, 91, 88,205,128,139, 77,224,255, 69,196, 15,183, 65, 44,131,
/* 0x0550 */ 69,196, 15,140, 35,254,255,255,131,125,220, 0,116, 18,139, 93, /* 0x0550 */ 69,204, 32, 57, 69,196, 15,140, 35,254,255,255,131,125,220, 0,
/* 0x0560 */ 224,102,131,123, 16, 3,116, 8,139, 93,240,106, 45, 88,205,128, /* 0x0560 */ 116, 18,139, 93,224,102,131,123, 16, 3,116, 8,139, 93,240,106,
/* 0x0570 */ 131,125,212, 0,116, 8,139, 69,200,139,117,212,137, 6,139, 85, /* 0x0570 */ 45, 88,205,128,131,125,212, 0,116, 8,139, 69,200,139,117,212,
/* 0x0580 */ 224,139, 82, 24, 1, 85,200,139, 69,200,141,101,244, 91, 94, 95, /* 0x0580 */ 137, 6,139, 85,224,139, 82, 24, 1, 85,200,139, 69,200,141,101,
/* 0x0590 */ 201,195, 85,137,229, 87, 86, 83,131,236, 36,139, 85, 16,106, 0, /* 0x0590 */ 244, 91, 94, 95,201,195, 85,137,229, 87, 86, 83,131,236, 36,139,
/* 0x05a0 */ 139,125, 28,139, 69, 8,137, 85,232,255,117,232,131,194, 2,141, /* 0x05a0 */ 85, 16,106, 0,139,125, 28,139, 69, 8,137, 85,232,255,117,232,
/* 0x05b0 */ 79, 52,139, 93, 32,137, 69,236,137, 85,228,137,206,141, 85, 24, /* 0x05b0 */ 131,194, 2,141, 79, 52,139, 93, 32,137, 69,236,137, 85,228,137,
/* 0x05c0 */ 141, 69, 32,137, 77,224,232,242,251,255,255,139, 69, 12, 15,183, /* 0x05c0 */ 206,141, 85, 24,141, 69, 32,137, 77,224,232,242,251,255,255,139,
/* 0x05d0 */ 79, 44,186, 5, 0, 0, 0,137, 69, 32,139, 69,236, 41, 93, 36, /* 0x05d0 */ 69, 12, 15,183, 79, 44,186, 5, 0, 0, 0,137, 69, 32,139, 69,
/* 0x05e0 */ 232,184,252,255,255, 15,183, 79, 42,139, 69,236,186, 4, 0, 0, /* 0x05e0 */ 236, 41, 93, 36,232,184,252,255,255, 15,183, 79, 42,139, 69,236,
/* 0x05f0 */ 0,232,167,252,255,255, 89, 91,131,127, 52, 1,116, 8,131,198, /* 0x05f0 */ 186, 4, 0, 0, 0,232,167,252,255,255, 89, 91,131,127, 52, 1,
/* 0x0600 */ 32,131, 62, 1,235,246,139, 77, 40,186, 3, 0, 0, 0, 3, 78, /* 0x0600 */ 116, 8,131,198, 32,131, 62, 1,235,246,139, 77, 40,186, 3, 0,
/* 0x0610 */ 8,141, 93,240,139, 69,236,131,193, 52,232,126,252,255,255,255, /* 0x0610 */ 0, 0, 3, 78, 8,141, 93,240,139, 69,236,131,193, 52,232,126,
/* 0x0620 */ 117,228, 83,137,250,141, 69, 32,255,117,236, 80,139, 69,232,232, /* 0x0620 */ 252,255,255,255,117,228, 83,137,250,141, 69, 32,255,117,236, 80,
/* 0x0630 */ 132,252,255,255,186, 9, 0, 0, 0,137,193,137, 69,220,139, 69, /* 0x0630 */ 139, 69,232,232,132,252,255,255,186, 9, 0, 0, 0,137,193,137,
/* 0x0640 */ 236,232, 87,252,255,255,102,139, 79, 44,131,196, 16, 49,210,102, /* 0x0640 */ 69,220,139, 69,236,232, 87,252,255,255,102,139, 79, 44,131,196,
/* 0x0650 */ 133,201,116,123,139, 69,224,131, 56, 3,117,103,139, 93,240, 49, /* 0x0650 */ 16, 49,210,102,133,201,116,123,139, 69,224,131, 56, 3,117,103,
/* 0x0660 */ 201, 3, 88, 8,137,202,106, 5, 88,205,128,133,192,137,198,120, /* 0x0660 */ 139, 93,240, 49,201, 3, 88, 8,137,202,106, 5, 88,205,128,133,
/* 0x0670 */ 21,186, 0, 2, 0, 0,137,195,137,249,106, 3, 88,205,128, 61, /* 0x0670 */ 192,137,198,120, 21,186, 0, 2, 0, 0,137,195,137,249,106, 3,
/* 0x0680 */ 0, 2, 0, 0,116, 10,106,127, 91,106, 1, 88,205,128,235,254, /* 0x0680 */ 88,205,128, 61, 0, 2, 0, 0,116, 10,106,127, 91,106, 1, 88,
/* 0x0690 */ 141, 69,240,137,250,106, 0,137,243, 80,137,240,255,117,236,106, /* 0x0690 */ 205,128,235,254,141, 69,240,137,250,106, 0,137,243, 80,137,240,
/* 0x06a0 */ 0,232, 18,252,255,255,139, 77,240,137, 69,220,139, 69,236,186, /* 0x06a0 */ 255,117,236,106, 0,232, 18,252,255,255,139, 77,240,137, 69,220,
/* 0x06b0 */ 7, 0, 0, 0,232,228,251,255,255,131,196, 16,106, 6, 88,205, /* 0x06b0 */ 139, 69,236,186, 7, 0, 0, 0,232,228,251,255,255,131,196, 16,
/* 0x06c0 */ 128,235, 12, 66, 15,183,193,131, 69,224, 32, 57,194,124,133,139, /* 0x06c0 */ 106, 6, 88,205,128,235, 12, 66, 15,183,193,131, 69,224, 32, 57,
/* 0x06d0 */ 69,220,141,101,244, 91, 94, 95,201,195 /* 0x06d0 */ 194,124,133,139, 69,220,141,101,244, 91, 94, 95,201,195
}; };
+198 -198
View File
@@ -1,5 +1,5 @@
/* powerpc-linux.elf-fold.h /* powerpc-linux.elf-fold.h
created from powerpc-linux.elf-fold.bin, 3300 (0xce4) bytes created from powerpc-linux.elf-fold.bin, 3312 (0xcf0) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,17 +31,17 @@
*/ */
#define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 3300 #define STUB_POWERPC_LINUX_ELF_FOLD_SIZE 3312
#define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0x4dc963ae #define STUB_POWERPC_LINUX_ELF_FOLD_ADLER32 0xc36b66f0
#define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0x3d3a856a #define STUB_POWERPC_LINUX_ELF_FOLD_CRC32 0xcda01db9
unsigned char stub_powerpc_linux_elf_fold[3300] = { unsigned char stub_powerpc_linux_elf_fold[3312] = {
/* 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, 12,228, 0, 0, 12,228, 0, 0, 0, 5, /* 0x0040 */ 0, 16, 0, 0, 0, 0, 12,240, 0, 0, 12,240, 0, 0, 0, 5,
/* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 12,228, 0, 0, 0, 0, /* 0x0050 */ 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 12,240, 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 */ 72, 0, 0,105, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191, /* 0x0080 */ 72, 0, 0,105, 40, 6, 0,208, 76,130, 0, 32, 84,132,240,191,
@@ -52,195 +52,195 @@ unsigned char stub_powerpc_linux_elf_fold[3300] = {
/* 0x00d0 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220, /* 0x00d0 */ 132, 67, 0, 4, 84, 75, 85,190,124, 11, 40, 64, 65,162,255,220,
/* 0x00e0 */ 66, 0,255,240, 78,128, 0, 32,125, 8, 2,166,127,137,227,120, /* 0x00e0 */ 66, 0,255,240, 78,128, 0, 32,125, 8, 2,166,127,137,227,120,
/* 0x00f0 */ 128,159,255,248, 85, 30, 0, 38,127,231,251,120,127,164,248, 80, /* 0x00f0 */ 128,159,255,248, 85, 30, 0, 38,127,231,251,120,127,164,248, 80,
/* 0x0100 */ 56,161,248, 0, 59,189,255,248, 56,132,255,140, 56,125, 0,116, /* 0x0100 */ 56,161,248, 0, 59,189,255,248,160,221, 0, 44, 28,198, 0, 32,
/* 0x0110 */ 127,106,219,120, 56, 33,247,232,128,195, 0, 24, 72, 0, 9,149, /* 0x0110 */ 56,198, 0, 52,124,134, 32, 80,124,125, 50, 20,127,106,219,120,
/* 0x0120 */ 124,127, 27,120,127,163,235,120,124,157,240, 80, 72, 0, 0, 81, /* 0x0120 */ 56, 33,247,232,128,195, 0, 24, 72, 0, 9,149,124,127, 27,120,
/* 0x0130 */ 127,232, 3,166,184, 65, 8, 28,128, 33, 8, 24, 78,128, 0, 32, /* 0x0130 */ 127,163,235,120,124,157,240, 80, 72, 0, 0, 81,127,232, 3,166,
/* 0x0140 */ 56, 0, 0, 90, 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, /* 0x0140 */ 184, 65, 8, 28,128, 33, 8, 24, 78,128, 0, 32, 56, 0, 0, 90,
/* 0x0150 */ 78,128, 0, 32, 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 3, /* 0x0150 */ 68, 0, 0, 2, 64,163, 0, 8, 56, 96,255,255, 78,128, 0, 32,
/* 0x0160 */ 72, 0, 0, 8, 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, /* 0x0160 */ 56, 0, 0, 1, 72, 0, 0, 8, 56, 0, 0, 3, 72, 0, 0, 8,
/* 0x0170 */ 72, 0, 0, 8, 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, /* 0x0170 */ 56, 0, 0, 5, 72, 0, 0, 8, 56, 0, 0, 6, 72, 0, 0, 8,
/* 0x0180 */ 72, 0, 0, 8, 56, 0, 0, 45, 75,255,255,188,148, 33,255,208, /* 0x0180 */ 56, 0, 0,125, 72, 0, 0, 8, 56, 0, 0, 91, 72, 0, 0, 8,
/* 0x0190 */ 124, 8, 2,166,147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120, /* 0x0190 */ 56, 0, 0, 45, 75,255,255,188,148, 33,255,208,124, 8, 2,166,
/* 0x01a0 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,129, 63, 0, 8, /* 0x01a0 */ 147,225, 0, 44,144, 1, 0, 52,124, 63, 11,120,144,127, 0, 8,
/* 0x01b0 */ 128, 9, 0, 4,144, 31, 0, 20,128, 31, 0, 12,144, 31, 0, 24, /* 0x01b0 */ 144,159, 0, 12,144,191, 0, 16,129, 63, 0, 8,128, 9, 0, 4,
/* 0x01c0 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,127,137, 0, 64, /* 0x01c0 */ 144, 31, 0, 20,128, 31, 0, 12,144, 31, 0, 24,129, 63, 0, 8,
/* 0x01d0 */ 64,156, 0, 12, 56, 96, 0,127, 75,255,255,125,128, 31, 0, 16, /* 0x01d0 */ 129, 41, 0, 0,128, 31, 0, 16,127,137, 0, 64, 64,156, 0, 12,
/* 0x01e0 */ 144, 31, 0, 28,129, 63, 0, 28, 56, 9,255,255,124, 9, 3,120, /* 0x01e0 */ 56, 96, 0,127, 75,255,255,125,128, 31, 0, 16,144, 31, 0, 28,
/* 0x01f0 */ 145, 63, 0, 28, 56, 0,255,255,127,137, 0, 0, 65,158, 0, 48, /* 0x01f0 */ 129, 63, 0, 28, 56, 9,255,255,124, 9, 3,120,145, 63, 0, 28,
/* 0x0200 */ 129,127, 0, 24,129, 63, 0, 20,136, 9, 0, 0,152, 11, 0, 0, /* 0x0200 */ 56, 0,255,255,127,137, 0, 0, 65,158, 0, 48,129,127, 0, 24,
/* 0x0210 */ 129, 63, 0, 20, 56, 9, 0, 1,144, 31, 0, 20,129, 63, 0, 24, /* 0x0210 */ 129, 63, 0, 20,136, 9, 0, 0,152, 11, 0, 0,129, 63, 0, 20,
/* 0x0220 */ 56, 9, 0, 1,144, 31, 0, 24, 75,255,255,188,129,127, 0, 8, /* 0x0220 */ 56, 9, 0, 1,144, 31, 0, 20,129, 63, 0, 24, 56, 9, 0, 1,
/* 0x0230 */ 129, 63, 0, 8,129, 41, 0, 4,128, 31, 0, 16,124, 9, 2, 20, /* 0x0230 */ 144, 31, 0, 24, 75,255,255,188,129,127, 0, 8,129, 63, 0, 8,
/* 0x0240 */ 144, 11, 0, 4,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0, /* 0x0240 */ 129, 41, 0, 4,128, 31, 0, 16,124, 9, 2, 20,144, 11, 0, 4,
/* 0x0250 */ 128, 31, 0, 16,124, 0, 72, 80,144, 11, 0, 0,129, 97, 0, 0, /* 0x0250 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 16,
/* 0x0260 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, /* 0x0260 */ 124, 0, 72, 80,144, 11, 0, 0,129, 97, 0, 0,128, 11, 0, 4,
/* 0x0270 */ 78,128, 0, 32,148, 33,255,176,124, 8, 2,166,147,225, 0, 76, /* 0x0270 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32,
/* 0x0280 */ 144, 1, 0, 84,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, /* 0x0280 */ 148, 33,255,176,124, 8, 2,166,147,225, 0, 76,144, 1, 0, 84,
/* 0x0290 */ 144,191, 0, 16,144,223, 0, 20,129, 63, 0, 12,128, 9, 0, 0, /* 0x0290 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x02a0 */ 47,128, 0, 0, 65,158, 1,192, 56, 31, 0, 32,128,127, 0, 8, /* 0x02a0 */ 144,223, 0, 20,129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 0,
/* 0x02b0 */ 124, 4, 3,120, 56,160, 0, 12, 75,255,254,213,128, 31, 0, 32, /* 0x02b0 */ 65,158, 1,192, 56, 31, 0, 32,128,127, 0, 8,124, 4, 3,120,
/* 0x02c0 */ 47,128, 0, 0, 64,158, 0, 48,128, 31, 0, 36, 61, 32, 33, 88, /* 0x02c0 */ 56,160, 0, 12, 75,255,254,213,128, 31, 0, 32, 47,128, 0, 0,
/* 0x02d0 */ 97, 41, 80, 85,127,128, 72, 0, 65,158, 0, 8, 72, 0, 0, 36, /* 0x02d0 */ 64,158, 0, 48,128, 31, 0, 36, 61, 32, 33, 88, 97, 41, 80, 85,
/* 0x02e0 */ 129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,120, /* 0x02e0 */ 127,128, 72, 0, 65,158, 0, 8, 72, 0, 0, 36,129, 63, 0, 8,
/* 0x02f0 */ 72, 0, 0, 16,128, 31, 0, 36, 47,128, 0, 0, 64,158, 0, 12, /* 0x02f0 */ 128, 9, 0, 0, 47,128, 0, 0, 65,158, 1,120, 72, 0, 0, 16,
/* 0x0300 */ 56, 96, 0,127, 75,255,254, 81,128, 31, 0, 36,129, 63, 0, 32, /* 0x0300 */ 128, 31, 0, 36, 47,128, 0, 0, 64,158, 0, 12, 56, 96, 0,127,
/* 0x0310 */ 127,128, 72, 64, 65,157,255,236,129, 63, 0, 12,129,127, 0, 32, /* 0x0310 */ 75,255,254, 81,128, 31, 0, 36,129, 63, 0, 32,127,128, 72, 64,
/* 0x0320 */ 128, 9, 0, 0,127,139, 0, 64, 65,157,255,216,128, 31, 0, 36, /* 0x0320 */ 65,157,255,236,129, 63, 0, 12,129,127, 0, 32,128, 9, 0, 0,
/* 0x0330 */ 129, 63, 0, 32,127,128, 72, 64, 64,156, 0,228,128, 31, 0, 32, /* 0x0330 */ 127,139, 0, 64, 65,157,255,216,128, 31, 0, 36,129, 63, 0, 32,
/* 0x0340 */ 144, 31, 0, 48,129, 63, 0, 8,129,127, 0, 12, 57, 95, 0, 48, /* 0x0340 */ 127,128, 72, 64, 64,156, 0,228,128, 31, 0, 32,144, 31, 0, 48,
/* 0x0350 */ 136, 31, 0, 40, 84, 0, 6, 62,129, 31, 0, 16,125, 9, 3,166, /* 0x0350 */ 129, 63, 0, 8,129,127, 0, 12, 57, 95, 0, 48,136, 31, 0, 40,
/* 0x0360 */ 128,105, 0, 4,128,159, 0, 36,128,171, 0, 4,125, 70, 83,120, /* 0x0360 */ 84, 0, 6, 62,129, 31, 0, 16,125, 9, 3,166,128,105, 0, 4,
/* 0x0370 */ 124, 7, 3,120, 78,128, 4, 33,124, 96, 27,120,144, 31, 0, 52, /* 0x0370 */ 128,159, 0, 36,128,171, 0, 4,125, 70, 83,120,124, 7, 3,120,
/* 0x0380 */ 128, 31, 0, 52, 47,128, 0, 0, 64,158,255,120,128, 31, 0, 32, /* 0x0380 */ 78,128, 4, 33,124, 96, 27,120,144, 31, 0, 52,128, 31, 0, 52,
/* 0x0390 */ 129, 63, 0, 48,127,128, 72, 0, 64,158,255,104,136, 31, 0, 41, /* 0x0390 */ 47,128, 0, 0, 64,158,255,120,128, 31, 0, 32,129, 63, 0, 48,
/* 0x03a0 */ 84, 0, 6, 62, 47,128, 0, 0, 65,158, 0, 64,128, 31, 0, 20, /* 0x03a0 */ 127,128, 72, 0, 64,158,255,104,136, 31, 0, 41, 84, 0, 6, 62,
/* 0x03b0 */ 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 12,136, 31, 0, 42, /* 0x03b0 */ 47,128, 0, 0, 65,158, 0, 64,128, 31, 0, 20, 47,128, 0, 0,
/* 0x03c0 */ 84, 11, 6, 62,136, 31, 0, 41, 84, 0, 6, 62,129, 31, 0, 20, /* 0x03c0 */ 65,158, 0, 52,129, 63, 0, 12,136, 31, 0, 42, 84, 11, 6, 62,
/* 0x03d0 */ 125, 9, 3,166,128,105, 0, 4,128,159, 0, 48,125,101, 91,120, /* 0x03d0 */ 136, 31, 0, 41, 84, 0, 6, 62,129, 31, 0, 20,125, 9, 3,166,
/* 0x03e0 */ 124, 6, 3,120, 78,128, 4, 33,129,127, 0, 8,129, 63, 0, 8, /* 0x03e0 */ 128,105, 0, 4,128,159, 0, 48,125,101, 91,120,124, 6, 3,120,
/* 0x03f0 */ 129, 41, 0, 4,128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 4, /* 0x03f0 */ 78,128, 4, 33,129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 4,
/* 0x0400 */ 129,127, 0, 8,129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 36, /* 0x0400 */ 128, 31, 0, 36,124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 8,
/* 0x0410 */ 124, 0, 72, 80,144, 11, 0, 0, 72, 0, 0, 24,129, 63, 0, 12, /* 0x0410 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 36,124, 0, 72, 80,
/* 0x0420 */ 128,127, 0, 8,128,137, 0, 4,128,191, 0, 36, 75,255,253, 97, /* 0x0420 */ 144, 11, 0, 0, 72, 0, 0, 24,129, 63, 0, 12,128,127, 0, 8,
/* 0x0430 */ 129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 4,128, 31, 0, 32, /* 0x0430 */ 128,137, 0, 4,128,191, 0, 36, 75,255,253, 97,129,127, 0, 12,
/* 0x0440 */ 124, 9, 2, 20,144, 11, 0, 4,129,127, 0, 12,129, 63, 0, 12, /* 0x0440 */ 129, 63, 0, 12,129, 41, 0, 4,128, 31, 0, 32,124, 9, 2, 20,
/* 0x0450 */ 129, 41, 0, 0,128, 31, 0, 32,124, 0, 72, 80,144, 11, 0, 0, /* 0x0450 */ 144, 11, 0, 4,129,127, 0, 12,129, 63, 0, 12,129, 41, 0, 0,
/* 0x0460 */ 75,255,254, 56,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, /* 0x0460 */ 128, 31, 0, 32,124, 0, 72, 80,144, 11, 0, 0, 75,255,254, 56,
/* 0x0470 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, /* 0x0470 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x0480 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, /* 0x0480 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,
/* 0x0490 */ 128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 8, /* 0x0490 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,128, 31, 0, 12,
/* 0x04a0 */ 125, 43, 75,120, 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1, /* 0x04a0 */ 47,128, 0, 0, 65,158, 0, 52,129, 63, 0, 8,125, 43, 75,120,
/* 0x04b0 */ 145, 63, 0, 8,129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12, /* 0x04b0 */ 56, 0, 0, 0,152, 11, 0, 0, 57, 41, 0, 1,145, 63, 0, 8,
/* 0x04c0 */ 47,128, 0, 0, 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0, /* 0x04c0 */ 129, 63, 0, 12, 56, 9,255,255,144, 31, 0, 12, 47,128, 0, 0,
/* 0x04d0 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,224, /* 0x04d0 */ 65,158, 0, 8, 75,255,255,212,129, 97, 0, 0,131,235,255,252,
/* 0x04e0 */ 147,225, 0, 28,124, 63, 11,120,144,127, 0, 8,144,159, 0, 12, /* 0x04e0 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,224,147,225, 0, 28,
/* 0x04f0 */ 144,191, 0, 16,128, 31, 0, 8, 47,128, 0, 0, 65,158, 0,100, /* 0x04f0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,
/* 0x0500 */ 129, 63, 0, 8,129, 41, 0, 0,128, 31, 0, 12,127,137, 0, 0, /* 0x0500 */ 128, 31, 0, 8, 47,128, 0, 0, 65,158, 0,100,129, 63, 0, 8,
/* 0x0510 */ 65,158, 0, 36,129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, /* 0x0510 */ 129, 41, 0, 0,128, 31, 0, 12,127,137, 0, 0, 65,158, 0, 36,
/* 0x0520 */ 64,158, 0, 48,128, 31, 0, 12, 47,128, 0, 0, 64,158, 0, 8, /* 0x0520 */ 129, 63, 0, 8,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0, 48,
/* 0x0530 */ 72, 0, 0, 32,129, 63, 0, 8,128, 31, 0, 12,144, 9, 0, 0, /* 0x0530 */ 128, 31, 0, 12, 47,128, 0, 0, 64,158, 0, 8, 72, 0, 0, 32,
/* 0x0540 */ 129, 63, 0, 8,128, 31, 0, 16,144, 9, 0, 4, 72, 0, 0, 20, /* 0x0540 */ 129, 63, 0, 8,128, 31, 0, 12,144, 9, 0, 0,129, 63, 0, 8,
/* 0x0550 */ 129, 63, 0, 8, 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,164, /* 0x0550 */ 128, 31, 0, 16,144, 9, 0, 4, 72, 0, 0, 20,129, 63, 0, 8,
/* 0x0560 */ 129, 97, 0, 0,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, /* 0x0560 */ 56, 9, 0, 8,144, 31, 0, 8, 75,255,255,164,129, 97, 0, 0,
/* 0x0570 */ 148, 33,255,192,124, 8, 2,166,147,225, 0, 60,144, 1, 0, 68, /* 0x0570 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,192,
/* 0x0580 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, /* 0x0580 */ 124, 8, 2,166,147,225, 0, 60,144, 1, 0, 68,124, 63, 11,120,
/* 0x0590 */ 144,223, 0, 20,144,255, 0, 24, 56, 0,255,255,144, 31, 0, 28, /* 0x0590 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,
/* 0x05a0 */ 56, 0, 0, 0,144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36, /* 0x05a0 */ 144,255, 0, 24, 56, 0,255,255,144, 31, 0, 28, 56, 0, 0, 0,
/* 0x05b0 */ 129, 63, 0, 8, 56, 9, 8, 34,144, 31, 0, 8,129, 63, 0, 16, /* 0x05b0 */ 144, 31, 0, 32, 56, 0, 0, 0,144, 31, 0, 36,129, 63, 0, 8,
/* 0x05c0 */ 56, 9,255,255,144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,136, /* 0x05c0 */ 56, 9, 8, 34,144, 31, 0, 8,129, 63, 0, 16, 56, 9,255,255,
/* 0x05d0 */ 129, 63, 0, 12,128, 9, 0, 0, 47,128, 0, 1, 64,158, 0,104, /* 0x05d0 */ 144, 31, 0, 16, 47,128, 0, 0, 65,156, 0,136,129, 63, 0, 12,
/* 0x05e0 */ 129, 63, 0, 12,129, 41, 0, 8,128, 31, 0, 28,127,137, 0, 64, /* 0x05e0 */ 128, 9, 0, 0, 47,128, 0, 1, 64,158, 0,104,129, 63, 0, 12,
/* 0x05f0 */ 64,156, 0, 28,129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 28, /* 0x05f0 */ 129, 41, 0, 8,128, 31, 0, 28,127,137, 0, 64, 64,156, 0, 28,
/* 0x0600 */ 129, 63, 0, 12,128, 9, 0, 16,144, 31, 0, 36,129, 63, 0, 12, /* 0x0600 */ 129, 63, 0, 12,128, 9, 0, 8,144, 31, 0, 28,129, 63, 0, 12,
/* 0x0610 */ 129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20, /* 0x0610 */ 128, 9, 0, 16,144, 31, 0, 36,129, 63, 0, 12,129,127, 0, 12,
/* 0x0620 */ 128, 31, 0, 32,127,137, 0, 64, 64,157, 0, 28,129, 63, 0, 12, /* 0x0620 */ 129, 41, 0, 20,128, 11, 0, 8,125, 41, 2, 20,128, 31, 0, 32,
/* 0x0630 */ 129,127, 0, 12,129, 41, 0, 20,128, 11, 0, 8,124, 9, 2, 20, /* 0x0630 */ 127,137, 0, 64, 64,157, 0, 28,129, 63, 0, 12,129,127, 0, 12,
/* 0x0640 */ 144, 31, 0, 32,129, 63, 0, 12, 56, 9, 0, 32,144, 31, 0, 12, /* 0x0640 */ 129, 41, 0, 20,128, 11, 0, 8,124, 9, 2, 20,144, 31, 0, 32,
/* 0x0650 */ 75,255,255,108,128, 31, 0, 24,124, 9, 0,248,128, 31, 0, 28, /* 0x0650 */ 129, 63, 0, 12, 56, 9, 0, 32,144, 31, 0, 12, 75,255,255,108,
/* 0x0660 */ 125, 41, 0, 56,128, 31, 0, 36,124, 0, 74, 20,144, 31, 0, 36, /* 0x0660 */ 128, 31, 0, 24,124, 9, 0,248,128, 31, 0, 28,125, 41, 0, 56,
/* 0x0670 */ 129, 63, 0, 28,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28, /* 0x0670 */ 128, 31, 0, 36,124, 0, 74, 20,144, 31, 0, 36,129, 63, 0, 28,
/* 0x0680 */ 129, 63, 0, 32,128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24, /* 0x0680 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 28,129, 63, 0, 32,
/* 0x0690 */ 125, 32, 72, 80, 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56, /* 0x0690 */ 128, 31, 0, 28,125, 32, 72, 80,128, 31, 0, 24,125, 32, 72, 80,
/* 0x06a0 */ 144, 31, 0, 32,129, 63, 0, 36,128, 31, 0, 24,125, 32, 72, 80, /* 0x06a0 */ 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 32,
/* 0x06b0 */ 57, 41,255,255,128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 36, /* 0x06b0 */ 129, 63, 0, 36,128, 31, 0, 24,125, 32, 72, 80, 57, 41,255,255,
/* 0x06c0 */ 128,127, 0, 28,128,159, 0, 32, 56,160, 0, 0,128,223, 0, 8, /* 0x06c0 */ 128, 31, 0, 24,125, 32, 0, 56,144, 31, 0, 36,128,127, 0, 28,
/* 0x06d0 */ 56,224,255,255, 57, 0, 0, 0, 75,255,250,105,144,127, 0, 40, /* 0x06d0 */ 128,159, 0, 32, 56,160, 0, 0,128,223, 0, 8, 56,224,255,255,
/* 0x06e0 */ 129,127, 0, 20,129, 63, 0, 40,128, 31, 0, 32,124, 9, 2, 20, /* 0x06e0 */ 57, 0, 0, 0, 75,255,250,105,144,127, 0, 40,129,127, 0, 20,
/* 0x06f0 */ 144, 11, 0, 0,129, 63, 0, 40,128, 31, 0, 28,124, 0, 72, 80, /* 0x06f0 */ 129, 63, 0, 40,128, 31, 0, 32,124, 9, 2, 20,144, 11, 0, 0,
/* 0x0700 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166, /* 0x0700 */ 129, 63, 0, 40,128, 31, 0, 28,124, 0, 72, 80,124, 3, 3,120,
/* 0x0710 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,144, /* 0x0710 */ 129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,131,235,255,252,
/* 0x0720 */ 124, 8, 2,166,147,225, 0,108,144, 1, 0,116,124, 63, 11,120, /* 0x0720 */ 125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,124, 8, 2,166,
/* 0x0730 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20, /* 0x0730 */ 147,225, 0,108,144, 1, 0,116,124, 63, 11,120,144,127, 0, 8,
/* 0x0740 */ 144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32,129, 63, 0, 8, /* 0x0740 */ 144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,144,255, 0, 24,
/* 0x0750 */ 129, 41, 0, 28,128, 31, 0, 8,124, 9, 2, 20,144, 31, 0, 36, /* 0x0750 */ 145, 31, 0, 28,145, 63, 0, 32,129, 63, 0, 8,129, 41, 0, 28,
/* 0x0760 */ 129, 63, 0, 8,160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 3, /* 0x0760 */ 128, 31, 0, 8,124, 9, 2, 20,144, 31, 0, 36,129, 63, 0, 8,
/* 0x0770 */ 65,158, 0, 16, 56, 0, 0, 16,144, 31, 0, 80, 72, 0, 0, 12, /* 0x0770 */ 160, 9, 0, 16, 84, 0, 4, 62, 47,128, 0, 3, 65,158, 0, 16,
/* 0x0780 */ 57, 32, 0, 0,145, 63, 0, 80,129, 63, 0, 8,160, 9, 0, 44, /* 0x0780 */ 56, 0, 0, 16,144, 31, 0, 80, 72, 0, 0, 12, 57, 32, 0, 0,
/* 0x0790 */ 84, 0, 4, 62, 57, 63, 0, 40,128,127, 0, 80,128,159, 0, 36, /* 0x0790 */ 145, 63, 0, 80,129, 63, 0, 8,160, 9, 0, 44, 84, 0, 4, 62,
/* 0x07a0 */ 124, 5, 3,120,125, 38, 75,120,128,255, 0, 32, 75,255,253,197, /* 0x07a0 */ 57, 63, 0, 40,128,127, 0, 80,128,159, 0, 36,124, 5, 3,120,
/* 0x07b0 */ 124, 96, 27,120,144, 31, 0, 44, 56, 0, 0, 0,144, 31, 0, 48, /* 0x07b0 */ 125, 38, 75,120,128,255, 0, 32, 75,255,253,197,124, 96, 27,120,
/* 0x07c0 */ 129, 63, 0, 8,160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 48, /* 0x07c0 */ 144, 31, 0, 44, 56, 0, 0, 0,144, 31, 0, 48,129, 63, 0, 8,
/* 0x07d0 */ 127,137, 0, 0, 64,157, 2,176,128, 31, 0, 12, 47,128, 0, 0, /* 0x07d0 */ 160, 9, 0, 44, 84, 9, 4, 62,128, 31, 0, 48,127,137, 0, 0,
/* 0x07e0 */ 65,158, 0, 56,129, 63, 0, 36,128, 9, 0, 0, 47,128, 0, 6, /* 0x07e0 */ 64,157, 2,176,128, 31, 0, 12, 47,128, 0, 0, 65,158, 0, 56,
/* 0x07f0 */ 64,158, 0, 40,129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44, /* 0x07f0 */ 129, 63, 0, 36,128, 9, 0, 0, 47,128, 0, 6, 64,158, 0, 40,
/* 0x0800 */ 124, 9, 2, 20,128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, /* 0x0800 */ 129, 63, 0, 36,129, 41, 0, 8,128, 31, 0, 44,124, 9, 2, 20,
/* 0x0810 */ 75,255,252,205, 72, 0, 2, 84,129, 63, 0, 36,128, 9, 0, 0, /* 0x0810 */ 128,127, 0, 20, 56,128, 0, 3,124, 5, 3,120, 75,255,252,205,
/* 0x0820 */ 47,128, 0, 1, 64,158, 2, 68,129, 63, 0, 36,128, 9, 0, 24, /* 0x0820 */ 72, 0, 2, 84,129, 63, 0, 36,128, 9, 0, 0, 47,128, 0, 1,
/* 0x0830 */ 84, 0, 7,126, 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64, /* 0x0830 */ 64,158, 2, 68,129, 63, 0, 36,128, 9, 0, 24, 84, 0, 7,126,
/* 0x0840 */ 124, 0, 76, 48, 84, 0, 7,126,144, 31, 0, 52,129, 63, 0, 36, /* 0x0840 */ 84, 9, 16, 58, 60, 0,115, 81, 96, 0, 98, 64,124, 0, 76, 48,
/* 0x0850 */ 128, 9, 0, 16,144, 31, 0, 56,144, 31, 0, 64,129, 63, 0, 36, /* 0x0850 */ 84, 0, 7,126,144, 31, 0, 52,129, 63, 0, 36,128, 9, 0, 16,
/* 0x0860 */ 128, 9, 0, 8,144, 31, 0, 60,144, 31, 0, 68,129, 63, 0, 36, /* 0x0860 */ 144, 31, 0, 56,144, 31, 0, 64,129, 63, 0, 36,128, 9, 0, 8,
/* 0x0870 */ 129, 41, 0, 20,128, 31, 0, 68,124, 9, 2, 20,144, 31, 0, 72, /* 0x0870 */ 144, 31, 0, 60,144, 31, 0, 68,129, 63, 0, 36,129, 41, 0, 20,
/* 0x0880 */ 128, 31, 0, 32,124, 9, 0,248,128, 31, 0, 68,125, 32, 0, 56, /* 0x0880 */ 128, 31, 0, 68,124, 9, 2, 20,144, 31, 0, 72,128, 31, 0, 32,
/* 0x0890 */ 144, 31, 0, 76,129, 63, 0, 64,128, 31, 0, 76,124, 9, 2, 20, /* 0x0890 */ 124, 9, 0,248,128, 31, 0, 68,125, 32, 0, 56,144, 31, 0, 76,
/* 0x08a0 */ 144, 31, 0, 64,129, 63, 0, 68,128, 31, 0, 76,124, 0, 72, 80, /* 0x08a0 */ 129, 63, 0, 64,128, 31, 0, 76,124, 9, 2, 20,144, 31, 0, 64,
/* 0x08b0 */ 144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 44,124, 9, 2, 20, /* 0x08b0 */ 129, 63, 0, 68,128, 31, 0, 76,124, 0, 72, 80,144, 31, 0, 68,
/* 0x08c0 */ 144, 31, 0, 68,129, 63, 0, 72,128, 31, 0, 44,124, 9, 2, 20, /* 0x08c0 */ 129, 63, 0, 68,128, 31, 0, 44,124, 9, 2, 20,144, 31, 0, 68,
/* 0x08d0 */ 144, 31, 0, 72,128, 31, 0, 12,124, 11,254,112,125,105, 2,120, /* 0x08d0 */ 129, 63, 0, 72,128, 31, 0, 44,124, 9, 2, 20,144, 31, 0, 72,
/* 0x08e0 */ 125, 43, 72, 80,145, 63, 0, 84,128, 31, 0, 84,124, 0, 0,208, /* 0x08e0 */ 128, 31, 0, 12,124, 11,254,112,125,105, 2,120,125, 43, 72, 80,
/* 0x08f0 */ 144, 31, 0, 84,129, 63, 0, 84, 85, 41, 15,254,145, 63, 0, 84, /* 0x08f0 */ 145, 63, 0, 84,128, 31, 0, 84,124, 0, 0,208,144, 31, 0, 84,
/* 0x0900 */ 129,127, 0, 84, 85,107, 8, 60,145,127, 0, 84,128, 31, 0, 52, /* 0x0900 */ 129, 63, 0, 84, 85, 41, 15,254,145, 63, 0, 84,129,127, 0, 84,
/* 0x0910 */ 129, 63, 0, 84,125, 41, 3,120,145, 63, 0, 84,128, 31, 0, 12, /* 0x0910 */ 85,107, 8, 60,145,127, 0, 84,128, 31, 0, 52,129, 63, 0, 84,
/* 0x0920 */ 47,128, 0, 0, 65,158, 0, 16, 57, 96, 0, 50,145,127, 0, 88, /* 0x0920 */ 125, 41, 3,120,145, 63, 0, 84,128, 31, 0, 12, 47,128, 0, 0,
/* 0x0930 */ 72, 0, 0, 12, 56, 0, 0, 18,144, 31, 0, 88,128, 31, 0, 12, /* 0x0930 */ 65,158, 0, 16, 57, 96, 0, 50,145,127, 0, 88, 72, 0, 0, 12,
/* 0x0940 */ 47,128, 0, 0, 64,158, 0, 16,129, 63, 0, 16,145, 63, 0, 92, /* 0x0940 */ 56, 0, 0, 18,144, 31, 0, 88,128, 31, 0, 12, 47,128, 0, 0,
/* 0x0950 */ 72, 0, 0, 12, 57, 96,255,255,145,127, 0, 92,129, 63, 0, 36, /* 0x0950 */ 64,158, 0, 16,129, 63, 0, 16,145, 63, 0, 92, 72, 0, 0, 12,
/* 0x0960 */ 129, 41, 0, 4,128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68, /* 0x0960 */ 57, 96,255,255,145,127, 0, 92,129, 63, 0, 36,129, 41, 0, 4,
/* 0x0970 */ 128,159, 0, 64,128,191, 0, 84,128,223, 0, 88,128,255, 0, 92, /* 0x0970 */ 128, 31, 0, 76,124, 0, 72, 80,128,127, 0, 68,128,159, 0, 64,
/* 0x0980 */ 124, 8, 3,120, 75,255,247,189,124,105, 27,120,128, 31, 0, 68, /* 0x0980 */ 128,191, 0, 84,128,223, 0, 88,128,255, 0, 92,124, 8, 3,120,
/* 0x0990 */ 127,137, 0, 0, 65,158, 0, 8, 72, 0, 0,200,128, 31, 0, 12, /* 0x0990 */ 75,255,247,189,124,105, 27,120,128, 31, 0, 68,127,137, 0, 0,
/* 0x09a0 */ 47,128, 0, 0, 65,158, 0, 28, 56, 31, 0, 56,128,127, 0, 12, /* 0x09a0 */ 65,158, 0, 8, 72, 0, 0,200,128, 31, 0, 12, 47,128, 0, 0,
/* 0x09b0 */ 124, 4, 3,120,128,191, 0, 24,128,223, 0, 28, 75,255,248,185, /* 0x09b0 */ 65,158, 0, 28, 56, 31, 0, 56,128,127, 0, 12,124, 4, 3,120,
/* 0x09c0 */ 128, 31, 0, 64,125, 32, 0,208,128, 31, 0, 32,124, 0, 0,248, /* 0x09c0 */ 128,191, 0, 24,128,223, 0, 28, 75,255,248,185,128, 31, 0, 64,
/* 0x09d0 */ 125, 32, 0, 56,144, 31, 0, 76,128, 31, 0, 52, 84, 0, 7,188, /* 0x09d0 */ 125, 32, 0,208,128, 31, 0, 32,124, 0, 0,248,125, 32, 0, 56,
/* 0x09e0 */ 47,128, 0, 0, 65,158, 0, 28,128, 31, 0, 68,129, 63, 0, 64, /* 0x09e0 */ 144, 31, 0, 76,128, 31, 0, 52, 84, 0, 7,188, 47,128, 0, 0,
/* 0x09f0 */ 124, 0, 74, 20,124, 3, 3,120,128,159, 0, 76, 75,255,250,129, /* 0x09f0 */ 65,158, 0, 28,128, 31, 0, 68,129, 63, 0, 64,124, 0, 74, 20,
/* 0x0a00 */ 129, 63, 0, 64,128, 31, 0, 76,125, 41, 2, 20,128, 31, 0, 68, /* 0x0a00 */ 124, 3, 3,120,128,159, 0, 76, 75,255,250,129,129, 63, 0, 64,
/* 0x0a10 */ 124, 0, 74, 20,144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 72, /* 0x0a10 */ 128, 31, 0, 76,125, 41, 2, 20,128, 31, 0, 68,124, 0, 74, 20,
/* 0x0a20 */ 127,137, 0, 64, 64,156, 0, 68,129, 63, 0, 72,128, 31, 0, 68, /* 0x0a20 */ 144, 31, 0, 68,129, 63, 0, 68,128, 31, 0, 72,127,137, 0, 64,
/* 0x0a30 */ 124, 0, 72, 80,128,127, 0, 68,124, 4, 3,120,128,191, 0, 52, /* 0x0a30 */ 64,156, 0, 68,129, 63, 0, 72,128, 31, 0, 68,124, 0, 72, 80,
/* 0x0a40 */ 56,192, 0, 50, 56,224,255,255, 57, 0, 0, 0, 75,255,246,245, /* 0x0a40 */ 128,127, 0, 68,124, 4, 3,120,128,191, 0, 52, 56,192, 0, 50,
/* 0x0a50 */ 124,105, 27,120,128, 31, 0, 68,127,137, 0, 0, 65,158, 0, 12, /* 0x0a50 */ 56,224,255,255, 57, 0, 0, 0, 75,255,246,245,124,105, 27,120,
/* 0x0a60 */ 56, 96, 0,127, 75,255,246,241,129, 63, 0, 36, 56, 9, 0, 32, /* 0x0a60 */ 128, 31, 0, 68,127,137, 0, 0, 65,158, 0, 12, 56, 96, 0,127,
/* 0x0a70 */ 144, 31, 0, 36,129, 63, 0, 48, 56, 9, 0, 1,144, 31, 0, 48, /* 0x0a70 */ 75,255,246,241,129, 63, 0, 36, 56, 9, 0, 32,144, 31, 0, 36,
/* 0x0a80 */ 75,255,253, 64,129, 63, 0, 8,129, 41, 0, 24,128, 31, 0, 44, /* 0x0a80 */ 129, 63, 0, 48, 56, 9, 0, 1,144, 31, 0, 48, 75,255,253, 64,
/* 0x0a90 */ 124, 9, 2, 20,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4, /* 0x0a90 */ 129, 63, 0, 8,129, 41, 0, 24,128, 31, 0, 44,124, 9, 2, 20,
/* 0x0aa0 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32, /* 0x0aa0 */ 124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,124, 8, 3,166,
/* 0x0ab0 */ 148, 33,255,144,124, 8, 2,166,147,225, 0,108,144, 1, 0,116, /* 0x0ab0 */ 131,235,255,252,125, 97, 91,120, 78,128, 0, 32,148, 33,255,144,
/* 0x0ac0 */ 124, 63, 11,120,144,127, 0, 8,144,159, 0, 12,144,191, 0, 16, /* 0x0ac0 */ 124, 8, 2,166,147,225, 0,108,144, 1, 0,116,124, 63, 11,120,
/* 0x0ad0 */ 144,223, 0, 20,144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32, /* 0x0ad0 */ 144,127, 0, 8,144,159, 0, 12,144,191, 0, 16,144,223, 0, 20,
/* 0x0ae0 */ 145, 95, 0, 36,129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 40, /* 0x0ae0 */ 144,255, 0, 24,145, 31, 0, 28,145, 63, 0, 32,145, 95, 0, 36,
/* 0x0af0 */ 128, 31, 0, 36, 47,128, 16, 0, 65,158, 0, 28,128, 31, 0, 36, /* 0x0af0 */ 129, 63, 0, 16, 56, 9, 0, 52,144, 31, 0, 40,128, 31, 0, 36,
/* 0x0b00 */ 61, 32, 0, 1,127,128, 72, 0, 65,158, 0, 12, 56, 96, 0,232, /* 0x0b00 */ 47,128, 16, 0, 65,158, 0, 28,128, 31, 0, 36, 61, 32, 0, 1,
/* 0x0b10 */ 75,255,246, 69,128, 31, 0, 36,124, 0, 0,208,144, 31, 0, 48, /* 0x0b10 */ 127,128, 72, 0, 65,158, 0, 12, 56, 96, 0,232, 75,255,246, 69,
/* 0x0b20 */ 129, 63, 0, 8, 56, 9, 0, 24,144, 31, 0, 60,129, 63, 0, 12, /* 0x0b20 */ 128, 31, 0, 36,124, 0, 0,208,144, 31, 0, 48,129, 63, 0, 8,
/* 0x0b30 */ 56, 9,255,232,144, 31, 0, 56,128, 31, 0, 16,144, 31, 0, 68, /* 0x0b30 */ 56, 9, 0, 24,144, 31, 0, 60,129, 63, 0, 12, 56, 9,255,232,
/* 0x0b40 */ 129, 63, 0, 60,128, 9, 0, 0,144, 31, 0, 64,129, 63, 0, 56, /* 0x0b40 */ 144, 31, 0, 56,128, 31, 0, 16,144, 31, 0, 68,129, 63, 0, 60,
/* 0x0b50 */ 129, 95, 0, 60,145, 63, 0, 72,145, 95, 0, 76, 56, 31, 0, 56, /* 0x0b50 */ 128, 9, 0, 0,144, 31, 0, 64,129, 63, 0, 56,129, 95, 0, 60,
/* 0x0b60 */ 57, 63, 0, 64,124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, /* 0x0b60 */ 145, 63, 0, 72,145, 95, 0, 76, 56, 31, 0, 56, 57, 63, 0, 64,
/* 0x0b70 */ 56,192, 0, 0, 75,255,247, 1,129, 63, 0, 40,129, 41, 0, 8, /* 0x0b70 */ 124, 3, 3,120,125, 36, 75,120,128,191, 0, 24, 56,192, 0, 0,
/* 0x0b80 */ 56, 9, 0, 52,128,127, 0, 32, 56,128, 0, 3,124, 5, 3,120, /* 0x0b80 */ 75,255,247, 1,129, 63, 0, 40,129, 41, 0, 8, 56, 9, 0, 52,
/* 0x0b90 */ 75,255,249, 77,129, 63, 0, 16,160, 9, 0, 44, 84, 0, 4, 62, /* 0x0b90 */ 128,127, 0, 32, 56,128, 0, 3,124, 5, 3,120, 75,255,249, 77,
/* 0x0ba0 */ 128,127, 0, 32, 56,128, 0, 5,124, 5, 3,120, 75,255,249, 49, /* 0x0ba0 */ 129, 63, 0, 16,160, 9, 0, 44, 84, 0, 4, 62,128,127, 0, 32,
/* 0x0bb0 */ 129, 63, 0, 16,128,127, 0, 32, 56,128, 0, 9,128,169, 0, 24, /* 0x0bb0 */ 56,128, 0, 5,124, 5, 3,120, 75,255,249, 49,129, 63, 0, 16,
/* 0x0bc0 */ 75,255,249, 29, 56, 31, 0, 72,128,127, 0, 16,124, 4, 3,120, /* 0x0bc0 */ 128,127, 0, 32, 56,128, 0, 9,128,169, 0, 24, 75,255,249, 29,
/* 0x0bd0 */ 56,160, 0, 0,128,223, 0, 32,128,255, 0, 24,129, 31, 0, 28, /* 0x0bd0 */ 56, 31, 0, 72,128,127, 0, 16,124, 4, 3,120, 56,160, 0, 0,
/* 0x0be0 */ 129, 63, 0, 48, 75,255,251, 57,124, 96, 27,120,144, 31, 0, 44, /* 0x0be0 */ 128,223, 0, 32,128,255, 0, 24,129, 31, 0, 28,129, 63, 0, 48,
/* 0x0bf0 */ 56, 0, 0, 0,144, 31, 0, 80,129, 63, 0, 16,160, 9, 0, 44, /* 0x0bf0 */ 75,255,251, 57,124, 96, 27,120,144, 31, 0, 44, 56, 0, 0, 0,
/* 0x0c00 */ 84, 9, 4, 62,128, 31, 0, 80,127,137, 0, 0, 64,157, 0,184, /* 0x0c00 */ 144, 31, 0, 80,129, 63, 0, 16,160, 9, 0, 44, 84, 9, 4, 62,
/* 0x0c10 */ 129, 63, 0, 40,128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,140, /* 0x0c10 */ 128, 31, 0, 80,127,137, 0, 0, 64,157, 0,184,129, 63, 0, 40,
/* 0x0c20 */ 129, 63, 0, 40,128, 9, 0, 8,144, 31, 0, 84,128,127, 0, 84, /* 0x0c20 */ 128, 9, 0, 0, 47,128, 0, 3, 64,158, 0,140,129, 63, 0, 40,
/* 0x0c30 */ 56,128, 0, 0, 56,160, 0, 0, 75,255,245, 45,124, 96, 27,120, /* 0x0c30 */ 128, 9, 0, 8,144, 31, 0, 84,128,127, 0, 84, 56,128, 0, 0,
/* 0x0c40 */ 144, 31, 0, 88,128, 31, 0, 88, 47,128, 0, 0, 64,156, 0, 8, /* 0x0c40 */ 56,160, 0, 0, 75,255,245, 45,124, 96, 27,120,144, 31, 0, 88,
/* 0x0c50 */ 72, 0, 0, 32,128,127, 0, 88,128,159, 0, 16, 56,160, 2, 0, /* 0x0c50 */ 128, 31, 0, 88, 47,128, 0, 0, 64,156, 0, 8, 72, 0, 0, 32,
/* 0x0c60 */ 75,255,244,253,124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, /* 0x0c60 */ 128,127, 0, 88,128,159, 0, 16, 56,160, 2, 0, 75,255,244,253,
/* 0x0c70 */ 56, 96, 0,127, 75,255,244,225,128,127, 0, 16, 56,128, 0, 0, /* 0x0c70 */ 124, 96, 27,120, 47,128, 2, 0, 65,158, 0, 12, 56, 96, 0,127,
/* 0x0c80 */ 128,191, 0, 88, 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0, /* 0x0c80 */ 75,255,244,225,128,127, 0, 16, 56,128, 0, 0,128,191, 0, 88,
/* 0x0c90 */ 129, 63, 0, 48, 75,255,250,137,124, 96, 27,120,144, 31, 0, 44, /* 0x0c90 */ 56,192, 0, 0, 56,224, 0, 0, 57, 0, 0, 0,129, 63, 0, 48,
/* 0x0ca0 */ 128,127, 0, 88, 75,255,244,201,129, 63, 0, 40, 56, 9, 0, 32, /* 0x0ca0 */ 75,255,250,137,124, 96, 27,120,144, 31, 0, 44,128,127, 0, 88,
/* 0x0cb0 */ 144, 31, 0, 40,129, 63, 0, 80, 56, 9, 0, 1,144, 31, 0, 80, /* 0x0cb0 */ 75,255,244,201,129, 63, 0, 40, 56, 9, 0, 32,144, 31, 0, 40,
/* 0x0cc0 */ 75,255,255, 56,128, 31, 0, 44,124, 3, 3,120,129, 97, 0, 0, /* 0x0cc0 */ 129, 63, 0, 80, 56, 9, 0, 1,144, 31, 0, 80, 75,255,255, 56,
/* 0x0cd0 */ 128, 11, 0, 4,124, 8, 3,166,131,235,255,252,125, 97, 91,120, /* 0x0cd0 */ 128, 31, 0, 44,124, 3, 3,120,129, 97, 0, 0,128, 11, 0, 4,
/* 0x0ce0 */ 78,128, 0, 32 /* 0x0ce0 */ 124, 8, 3,166,131,235,255,252,125, 97, 91,120, 78,128, 0, 32
}; };
+144 -143
View File
@@ -1,5 +1,5 @@
/* powerpc64le-linux.elf-fold.h /* powerpc64le-linux.elf-fold.h
created from powerpc64le-linux.elf-fold.bin, 2491 (0x9bb) bytes created from powerpc64le-linux.elf-fold.bin, 2507 (0x9cb) bytes
This file is part of the UPX executable compressor. This file is part of the UPX executable compressor.
@@ -31,21 +31,21 @@
*/ */
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 2491 #define STUB_POWERPC64LE_LINUX_ELF_FOLD_SIZE 2507
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0x1b66866d #define STUB_POWERPC64LE_LINUX_ELF_FOLD_ADLER32 0x672f8a9f
#define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x4b513a9d #define STUB_POWERPC64LE_LINUX_ELF_FOLD_CRC32 0x063cc76e
unsigned char stub_powerpc64le_linux_elf_fold[2491] = { unsigned char stub_powerpc64le_linux_elf_fold[2507] = {
/* 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, 21, 0, 1, 0, 0, 0,112, 9, 16, 0, 0, 0, 0, 0, /* 0x0010 */ 2, 0, 21, 0, 1, 0, 0, 0,128, 9, 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 */ 1, 0, 0, 0, 64, 0, 56, 0, 2, 0, 0, 0, 0, 0, 0, 0, /* 0x0030 */ 1, 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 */ 112, 9, 0, 0, 0, 0, 0, 0,112, 9, 0, 0, 0, 0, 0, 0, /* 0x0060 */ 124, 9, 0, 0, 0, 0, 0, 0,124, 9, 0, 0, 0, 0, 0, 0,
/* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0, /* 0x0070 */ 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 6, 0, 0, 0,
/* 0x0080 */ 112, 9, 0, 0, 0, 0, 0, 0,112, 9, 16, 0, 0, 0, 0, 0, /* 0x0080 */ 128, 9, 0, 0, 0, 0, 0, 0,128, 9, 16, 0, 0, 0, 0, 0,
/* 0x0090 */ 112, 9, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, /* 0x0090 */ 128, 9, 16, 0, 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0,
/* 0x00a0 */ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, /* 0x00a0 */ 88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
/* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,125, 0, 0, 72, /* 0x00b0 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,125, 0, 0, 72,
/* 0x00c0 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77, /* 0x00c0 */ 208, 0, 6, 40, 32, 0,194, 76,191,240,132, 84, 32, 0,194, 77,
@@ -58,138 +58,139 @@ unsigned char stub_powerpc64le_linux_elf_fold[2491] = {
/* 0x0130 */ 244,255,254, 64, 32, 0,128, 78, 48, 0, 33, 56,166, 2, 8,125, /* 0x0130 */ 244,255,254, 64, 32, 0,128, 78, 48, 0, 33, 56,166, 2, 8,125,
/* 0x0140 */ 0, 0, 33,233,225,255,255, 75,221,255,255, 75,248,255,159,128, /* 0x0140 */ 0, 0, 33,233,225,255,255, 75,221,255,255, 75,248,255,159,128,
/* 0x0150 */ 38, 0, 30, 85,120,243,202,127,120,251,231,127, 80,248,164,127, /* 0x0150 */ 38, 0, 30, 85,120,243,202,127,120,251,231,127, 80,248,164,127,
/* 0x0160 */ 0,248,161, 56,248,255,189, 59, 80,255,132, 56,176, 0,125, 56, /* 0x0160 */ 0,248,161, 56,248,255,189, 59, 56, 0,221,160, 56, 0,198, 28,
/* 0x0170 */ 208,247, 33, 56, 24, 0,195,128,205, 5, 0, 72,120, 27,127,124, /* 0x0170 */ 64, 0,198, 56, 80, 32,134,124, 20, 50,125,124,208,247, 33, 56,
/* 0x0180 */ 120,235,163,127, 80,240,157,124,201, 0, 0, 72,166, 3,232,127, /* 0x0180 */ 24, 0,195,128,205, 5, 0, 72,120, 27,127,124,120,235,163,127,
/* 0x0190 */ 56, 8, 65,232, 64, 8, 97,232, 72, 8,129,232, 80, 8,161,232, /* 0x0190 */ 80,240,157,124,201, 0, 0, 72,166, 3,232,127, 56, 8, 65,232,
/* 0x01a0 */ 88, 8,193,232, 96, 8,225,232,104, 8, 1,233,112, 8, 33,233, /* 0x01a0 */ 64, 8, 97,232, 72, 8,129,232, 80, 8,161,232, 88, 8,193,232,
/* 0x01b0 */ 120, 8, 65,233,128, 8, 97,233,136, 8,129,233,144, 8,161,233, /* 0x01b0 */ 96, 8,225,232,104, 8, 1,233,112, 8, 33,233,120, 8, 65,233,
/* 0x01c0 */ 152, 8,193,233,160, 8,225,233,168, 8, 1,234,176, 8, 33,234, /* 0x01c0 */ 128, 8, 97,233,136, 8,129,233,144, 8,161,233,152, 8,193,233,
/* 0x01d0 */ 184, 8, 65,234,192, 8, 97,234,200, 8,129,234,208, 8,161,234, /* 0x01d0 */ 160, 8,225,233,168, 8, 1,234,176, 8, 33,234,184, 8, 65,234,
/* 0x01e0 */ 216, 8,193,234,224, 8,225,234,232, 8, 1,235,240, 8, 33,235, /* 0x01e0 */ 192, 8, 97,234,200, 8,129,234,208, 8,161,234,216, 8,193,234,
/* 0x01f0 */ 248, 8, 65,235, 0, 9, 97,235, 8, 9,129,235, 16, 9,161,235, /* 0x01f0 */ 224, 8,225,234,232, 8, 1,235,240, 8, 33,235,248, 8, 65,235,
/* 0x0200 */ 24, 9,193,235, 32, 9,225,235, 48, 8, 33,232,166, 2,136,125, /* 0x0200 */ 0, 9, 97,235, 8, 9,129,235, 16, 9,161,235, 24, 9,193,235,
/* 0x0210 */ 32, 0,128, 78, 90, 0, 0, 56, 2, 0, 0, 68, 8, 0,227, 64, /* 0x0210 */ 32, 9,225,235, 48, 8, 33,232,166, 2,136,125, 32, 0,128, 78,
/* 0x0220 */ 255,255, 96, 56, 32, 0,128, 78, 1, 0, 0, 56,236,255,255, 75, /* 0x0220 */ 90, 0, 0, 56, 2, 0, 0, 68, 8, 0,227, 64,255,255, 96, 56,
/* 0x0230 */ 3, 0, 0, 56,228,255,255, 75, 5, 0, 0, 56,220,255,255, 75, /* 0x0230 */ 32, 0,128, 78, 1, 0, 0, 56,236,255,255, 75, 3, 0, 0, 56,
/* 0x0240 */ 6, 0, 0, 56,212,255,255, 75,125, 0, 0, 56,204,255,255, 75, /* 0x0240 */ 228,255,255, 75, 5, 0, 0, 56,220,255,255, 75, 6, 0, 0, 56,
/* 0x0250 */ 91, 0, 0, 56,196,255,255, 75, 45, 0, 0, 56,188,255,255, 75, /* 0x0250 */ 212,255,255, 75,125, 0, 0, 56,204,255,255, 75, 91, 0, 0, 56,
/* 0x0260 */ 0, 0, 35, 44, 32, 0,130, 77, 0, 0, 36, 47, 0, 0, 67,233, /* 0x0260 */ 196,255,255, 75, 45, 0, 0, 56,188,255,255, 75, 0, 0, 35, 44,
/* 0x0270 */ 64, 32,170,127, 16, 0,158, 64, 0, 0,131,248, 8, 0,163,248, /* 0x0270 */ 32, 0,130, 77, 0, 0, 36, 47, 0, 0, 67,233, 64, 32,170,127,
/* 0x0280 */ 32, 0,128, 78, 1, 0,170, 43, 8, 0,158, 64,236,255,154, 64, /* 0x0280 */ 16, 0,158, 64, 0, 0,131,248, 8, 0,163,248, 32, 0,128, 78,
/* 0x0290 */ 16, 0, 99, 56,216,255,255, 75, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x0290 */ 1, 0,170, 43, 8, 0,158, 64,236,255,154, 64, 16, 0, 99, 56,
/* 0x02a0 */ 0, 0, 0, 0, 0, 0, 67,233, 8, 0, 3,233, 1, 0,229, 56, /* 0x02a0 */ 216,255,255, 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
/* 0x02b0 */ 0, 0, 32, 57,166, 3,233,124, 64, 40,170,127, 28, 0,252, 64, /* 0x02b0 */ 0, 0, 67,233, 8, 0, 3,233, 1, 0,229, 56, 0, 0, 32, 57,
/* 0x02c0 */ 166, 2, 8,124,127, 0, 96, 56, 16, 0, 1,248,145,255, 33,248, /* 0x02c0 */ 166, 3,233,124, 64, 40,170,127, 28, 0,252, 64,166, 2, 8,124,
/* 0x02d0 */ 89,255,255, 75, 0, 0, 0, 96, 20, 0, 64, 66,174, 72, 72,125, /* 0x02d0 */ 127, 0, 96, 56, 16, 0, 1,248,145,255, 33,248, 89,255,255, 75,
/* 0x02e0 */ 174, 73, 68,125, 1, 0, 41, 57,240,255,255, 75, 8, 0, 67,233, /* 0x02e0 */ 0, 0, 0, 96, 20, 0, 64, 66,174, 72, 72,125,174, 73, 68,125,
/* 0x02f0 */ 20, 74, 74,125, 8, 0, 67,249, 0, 0, 67,233, 80, 80, 41,125, /* 0x02f0 */ 1, 0, 41, 57,240,255,255, 75, 8, 0, 67,233, 20, 74, 74,125,
/* 0x0300 */ 0, 0, 35,249, 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1, /* 0x0300 */ 8, 0, 67,249, 0, 0, 67,233, 80, 80, 41,125, 0, 0, 35,249,
/* 0x0310 */ 128, 0, 0, 0, 38, 0,128,125,166, 2, 8,124, 8, 0,129,145, /* 0x0310 */ 32, 0,128, 78, 0, 0, 0, 0, 0, 0, 0, 1,128, 0, 0, 0,
/* 0x0320 */ 229, 5, 0, 72, 81,255, 33,248,120, 27,126,124,120, 35,159,124, /* 0x0320 */ 38, 0,128,125,166, 2, 8,124, 8, 0,129,145,229, 5, 0, 72,
/* 0x0330 */ 120, 43,189,124,120, 51,220,124, 0, 0, 38, 46, 0, 0, 63,233, /* 0x0330 */ 81,255, 33,248,120, 27,126,124,120, 35,159,124,120, 43,189,124,
/* 0x0340 */ 0, 0,169, 47, 64, 1,158, 65,120,243,195,127,112, 0,129, 56, /* 0x0340 */ 120, 51,220,124, 0, 0, 38, 46, 0, 0, 63,233, 0, 0,169, 47,
/* 0x0350 */ 12, 0,160, 56, 81,255,255, 75,112, 0, 65,129,116, 0, 33,129, /* 0x0350 */ 64, 1,158, 65,120,243,195,127,112, 0,129, 56, 12, 0,160, 56,
/* 0x0360 */ 0, 0,170, 47, 32, 0,158, 64, 88, 33, 37,109, 85, 80,133, 47, /* 0x0360 */ 81,255,255, 75,112, 0, 65,129,116, 0, 33,129, 0, 0,170, 47,
/* 0x0370 */ 28, 0,158, 64, 0, 0, 62,233, 0, 0,169, 47, 8, 1,254, 65, /* 0x0370 */ 32, 0,158, 64, 88, 33, 37,109, 85, 80,133, 47, 28, 0,158, 64,
/* 0x0380 */ 12, 0, 0, 72, 33, 0, 41,121, 16, 0,226, 64,127, 0, 96, 56, /* 0x0380 */ 0, 0, 62,233, 0, 0,169, 47, 8, 1,254, 65, 12, 0, 0, 72,
/* 0x0390 */ 153,254,255, 75, 0, 0, 0, 96, 64, 80, 9,127,240,255,217, 65, /* 0x0390 */ 33, 0, 41,121, 16, 0,226, 64,127, 0, 96, 56,153,254,255, 75,
/* 0x03a0 */ 0, 0, 31,233, 64, 64,170,127,228,255,221, 65, 8, 0,191,232, /* 0x03a0 */ 0, 0, 0, 96, 64, 80, 9,127,240,255,217, 65, 0, 0, 31,233,
/* 0x03b0 */ 164, 0,152, 64,120, 75, 36,125, 0, 0, 61,233, 8, 0,126,232, /* 0x03b0 */ 64, 64,170,127,228,255,221, 65, 8, 0,191,232,164, 0,152, 64,
/* 0x03c0 */ 128, 0,193, 56,128, 0, 65,249, 40, 0, 65,248,120, 0,225,136, /* 0x03c0 */ 120, 75, 36,125, 0, 0, 61,233, 8, 0,126,232,128, 0,193, 56,
/* 0x03d0 */ 16, 0,125,233,166, 3, 41,125, 8, 0, 93,232, 33, 4,128, 78, /* 0x03d0 */ 128, 0, 65,249, 40, 0, 65,248,120, 0,225,136, 16, 0,125,233,
/* 0x03e0 */ 40, 0, 65,232, 0, 0,163, 47,164,255,222, 64,128, 0,129,232, /* 0x03e0 */ 166, 3, 41,125, 8, 0, 93,232, 33, 4,128, 78, 40, 0, 65,232,
/* 0x03f0 */ 112, 0, 33,129, 0, 72,164,127,148,255,222, 64,121, 0,193,136, /* 0x03f0 */ 0, 0,163, 47,164,255,222, 64,128, 0,129,232,112, 0, 33,129,
/* 0x0400 */ 0, 0,166, 47, 48, 0,158, 65, 44, 0,146, 65, 8, 0,127,232, /* 0x0400 */ 0, 72,164,127,148,255,222, 64,121, 0,193,136, 0, 0,166, 47,
/* 0x0410 */ 122, 0,161,136, 32, 0,132,120, 40, 0, 65,248, 0, 0, 60,233, /* 0x0410 */ 48, 0,158, 65, 44, 0,146, 65, 8, 0,127,232,122, 0,161,136,
/* 0x0420 */ 16, 0,124,233,166, 3, 41,125, 8, 0, 92,232, 33, 4,128, 78, /* 0x0420 */ 32, 0,132,120, 40, 0, 65,248, 0, 0, 60,233, 16, 0,124,233,
/* 0x0430 */ 40, 0, 65,232,116, 0, 1,129, 8, 0, 94,233, 0, 0, 62,233, /* 0x0430 */ 166, 3, 41,125, 8, 0, 92,232, 33, 4,128, 78, 40, 0, 65,232,
/* 0x0440 */ 20, 66, 74,125, 80, 72, 40,125, 8, 0, 94,249, 0, 0, 62,249, /* 0x0440 */ 116, 0, 1,129, 8, 0, 94,233, 0, 0, 62,233, 20, 66, 74,125,
/* 0x0450 */ 20, 0, 0, 72,120, 43,164,124,120,243,195,127,120, 75, 37,125, /* 0x0450 */ 80, 72, 40,125, 8, 0, 94,249, 0, 0, 62,249, 20, 0, 0, 72,
/* 0x0460 */ 69,254,255, 75,112, 0, 1,129, 8, 0, 95,233, 0, 0, 63,233, /* 0x0460 */ 120, 43,164,124,120,243,195,127,120, 75, 37,125, 69,254,255, 75,
/* 0x0470 */ 20, 66, 74,125, 80, 72, 40,125, 8, 0, 95,249, 0, 0, 63,249, /* 0x0470 */ 112, 0, 1,129, 8, 0, 95,233, 0, 0, 63,233, 20, 66, 74,125,
/* 0x0480 */ 188,254,255, 75,176, 0, 33, 56, 8, 0,129,129, 32,129,144,125, /* 0x0480 */ 80, 72, 40,125, 8, 0, 95,249, 0, 0, 63,249,188,254,255, 75,
/* 0x0490 */ 196, 4, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3,128, 4, 0, 0, /* 0x0490 */ 176, 0, 33, 56, 8, 0,129,129, 32,129,144,125,196, 4, 0, 72,
/* 0x04a0 */ 166, 2, 8,124, 38, 0,128,125, 37, 4, 0, 72,120, 75, 58,125, /* 0x04a0 */ 0, 0, 0, 0, 0, 0, 0, 3,128, 4, 0, 0,166, 2, 8,124,
/* 0x04b0 */ 16, 0, 35,161, 32, 0,163,235,120, 51,215,124,120, 27,123,124, /* 0x04b0 */ 38, 0,128,125, 37, 4, 0, 72,120, 75, 58,125, 16, 0, 35,161,
/* 0x04c0 */ 120, 35,153,124, 3, 0,137, 47, 8, 0,129,145,241,254, 33,248, /* 0x04c0 */ 32, 0,163,235,120, 51,215,124,120, 27,123,124,120, 35,153,124,
/* 0x04d0 */ 120, 43,184,124,120, 59,246,124,120, 67, 21,125, 20,234,163,127, /* 0x04d0 */ 3, 0,137, 47, 8, 0,129,145,241,254, 33,248,120, 43,184,124,
/* 0x04e0 */ 16, 0,192, 56, 8, 0,158, 64, 0, 0,192, 56, 56, 0, 59,161, /* 0x04e0 */ 120, 59,246,124,120, 67, 21,125, 20,234,163,127, 16, 0,192, 56,
/* 0x04f0 */ 34, 8,198, 56,120,235,168,127, 0, 0, 64, 57,255,255,192, 59, /* 0x04f0 */ 8, 0,158, 64, 0, 0,192, 56, 56, 0, 59,161, 34, 8,198, 56,
/* 0x0500 */ 1, 0, 41, 57,166, 3, 41,125, 60, 0, 64, 66, 0, 0, 40,129, /* 0x0500 */ 120,235,168,127, 0, 0, 64, 57,255,255,192, 59, 1, 0, 41, 57,
/* 0x0510 */ 1, 0,137, 47, 40, 0,158, 64, 16, 0,232,232, 64, 56,190,127, /* 0x0510 */ 166, 3, 41,125, 60, 0, 64, 66, 0, 0, 40,129, 1, 0,137, 47,
/* 0x0520 */ 8, 0,157, 64,120, 59,254,124, 40, 0, 40,233, 20, 74, 39,125, /* 0x0520 */ 40, 0,158, 64, 16, 0,232,232, 64, 56,190,127, 8, 0,157, 64,
/* 0x0530 */ 64, 72,170,127, 8, 0,156, 64,120, 75, 42,125, 56, 0, 8, 57, /* 0x0530 */ 120, 59,254,124, 40, 0, 40,233, 20, 74, 39,125, 64, 72,170,127,
/* 0x0540 */ 200,255,255, 75, 1, 0, 74, 61,228, 3,222,123,255,255, 74, 57, /* 0x0540 */ 8, 0,156, 64,120, 75, 42,125, 56, 0, 8, 57,200,255,255, 75,
/* 0x0550 */ 120,243,195,127, 80, 80,158,124, 0, 0,160, 56,228, 3,132,120, /* 0x0550 */ 1, 0, 74, 61,228, 3,222,123,255,255, 74, 57,120,243,195,127,
/* 0x0560 */ 180, 7,198,124,255,255,224, 56, 0, 0, 0, 57,169,252,255, 75, /* 0x0560 */ 80, 80,158,124, 0, 0,160, 56,228, 3,132,120,180, 7,198,124,
/* 0x0570 */ 0, 0, 0, 96, 81,115, 64, 62, 0, 0,128, 58, 0, 0, 57, 46, /* 0x0570 */ 255,255,224, 56, 0, 0, 0, 57,169,252,255, 75, 0, 0, 0, 96,
/* 0x0580 */ 64, 98, 82, 98, 80, 24,222,127, 0, 0, 32, 58, 56, 0, 59,161, /* 0x0580 */ 81,115, 64, 62, 0, 0,128, 58, 0, 0, 57, 46, 64, 98, 82, 98,
/* 0x0590 */ 0,160,137,127,128, 1,157, 64, 0, 0, 61,129, 36, 0,146, 65, /* 0x0590 */ 80, 24,222,127, 0, 0, 32, 58, 56, 0, 59,161, 0,160,137,127,
/* 0x05a0 */ 6, 0,137, 47, 28, 0,158, 64, 16, 0,189,232,120,187,227,126, /* 0x05a0 */ 128, 1,157, 64, 0, 0, 61,129, 36, 0,146, 65, 6, 0,137, 47,
/* 0x05b0 */ 3, 0,128, 56, 20, 42,190,124,169,252,255, 75, 72, 1, 0, 72, /* 0x05b0 */ 28, 0,158, 64, 16, 0,189,232,120,187,227,126, 3, 0,128, 56,
/* 0x05c0 */ 1, 0,137, 47, 64, 1,158, 64, 4, 0,253,129, 16, 0,157,235, /* 0x05c0 */ 20, 42,190,124,169,252,255, 75, 72, 1, 0, 72, 1, 0,137, 47,
/* 0x05d0 */ 32, 0,253,235, 40, 0,125,234,250, 22,239, 85, 20,226,158,127, /* 0x05d0 */ 64, 1,158, 64, 4, 0,253,129, 16, 0,157,235, 32, 0,253,235,
/* 0x05e0 */ 112, 0,225,251, 48,124, 79,126, 32, 4,137,123,120, 0,129,251, /* 0x05e0 */ 40, 0,125,234,250, 22,239, 85, 20,226,158,127,112, 0,225,251,
/* 0x05f0 */ 20,154,124,126, 20,250,233,127,228, 3,156,123,126, 7,240, 85, /* 0x05f0 */ 48,124, 79,126, 32, 4,137,123,120, 0,129,251, 20,154,124,126,
/* 0x0600 */ 12, 0,146, 64, 0, 0,160, 56, 8, 0, 0, 72, 2, 0,160, 56, /* 0x0600 */ 20,250,233,127,228, 3,156,123,126, 7,240, 85, 12, 0,146, 64,
/* 0x0610 */ 120,131,165,124,180, 7,165,124, 16, 0,146, 64,120,195, 7,127, /* 0x0610 */ 0, 0,160, 56, 8, 0, 0, 72, 2, 0,160, 56,120,131,165,124,
/* 0x0620 */ 18, 0,192, 56, 12, 0, 0, 72, 50, 0,192, 56,255,255,224, 56, /* 0x0620 */ 180, 7,165,124, 16, 0,146, 64,120,195, 7,127, 18, 0,192, 56,
/* 0x0630 */ 8, 0, 29,233,120,227,131,127,120,251,228,127, 80, 64, 9,125, /* 0x0630 */ 12, 0, 0, 72, 50, 0,192, 56,255,255,224, 56, 8, 0, 29,233,
/* 0x0640 */ 213,251,255, 75, 0, 0, 0, 96, 0, 24,188,127, 16, 0,254, 65, /* 0x0640 */ 120,227,131,127,120,251,228,127, 80, 64, 9,125,213,251,255, 75,
/* 0x0650 */ 127, 0, 96, 56,213,251,255, 75, 0, 0, 0, 96, 24, 0,146, 65, /* 0x0650 */ 0, 0, 0, 96, 0, 24,188,127, 16, 0,254, 65,127, 0, 96, 56,
/* 0x0660 */ 120,203, 35,127,112, 0,129, 56,120,179,197,126,120,171,166,126, /* 0x0660 */ 213,251,255, 75, 0, 0, 0, 96, 24, 0,146, 65,120,203, 35,127,
/* 0x0670 */ 165,252,255, 75,208, 0,223,125,227,255,233,121, 32, 4,206,121, /* 0x0670 */ 112, 0,129, 56,120,179,197,126,120,171,166,126,165,252,255, 75,
/* 0x0680 */ 12, 0,130, 64, 44, 0,146, 64, 68, 0, 0, 72, 0, 0,174, 47, /* 0x0680 */ 208, 0,223,125,227,255,233,121, 32, 4,206,121, 12, 0,130, 64,
/* 0x0690 */ 244,255,158, 65,166, 3,201,125, 20,250, 92,125, 0, 0, 32, 57, /* 0x0690 */ 44, 0,146, 64, 68, 0, 0, 72, 0, 0,174, 47,244,255,158, 65,
/* 0x06a0 */ 174, 73, 42,126, 1, 0, 41, 57,248,255, 0, 66,216,255,255, 75, /* 0x06a0 */ 166, 3,201,125, 20,250, 92,125, 0, 0, 32, 57,174, 73, 42,126,
/* 0x06b0 */ 120,227,131,127,120,251,228,127,180, 7, 5,126,141,251,255, 75, /* 0x06b0 */ 1, 0, 41, 57,248,255, 0, 66,216,255,255, 75,120,227,131,127,
/* 0x06c0 */ 0, 0, 0, 96, 0, 0,163, 47,136,255,222, 64, 20,250,238,127, /* 0x06c0 */ 120,251,228,127,180, 7, 5,126,141,251,255, 75, 0, 0, 0, 96,
/* 0x06d0 */ 20,250,252,127, 64,152,191,127, 44, 0,156, 64,120,251,227,127, /* 0x06d0 */ 0, 0,163, 47,136,255,222, 64, 20,250,238,127, 20,250,252,127,
/* 0x06e0 */ 80,152,159,124,180, 7, 5,126, 50, 0,192, 56,255,255,224, 56, /* 0x06e0 */ 64,152,191,127, 44, 0,156, 64,120,251,227,127, 80,152,159,124,
/* 0x06f0 */ 0, 0, 0, 57, 33,251,255, 75, 0, 0, 0, 96, 0, 24,191,127, /* 0x06f0 */ 180, 7, 5,126, 50, 0,192, 56,255,255,224, 56, 0, 0, 0, 57,
/* 0x0700 */ 80,255,222, 64, 1, 0,148, 58, 56, 0,189, 59,180, 7,148,126, /* 0x0700 */ 33,251,255, 75, 0, 0, 0, 96, 0, 24,191,127, 80,255,222, 64,
/* 0x0710 */ 124,254,255, 75, 0, 0,186, 47, 8, 0,158, 65, 0, 0,218,251, /* 0x0710 */ 1, 0,148, 58, 56, 0,189, 59,180, 7,148,126,124,254,255, 75,
/* 0x0720 */ 16, 1, 33, 56, 24, 0,123,232, 20, 26,126,124, 8, 0,129,129, /* 0x0720 */ 0, 0,186, 47, 8, 0,158, 65, 0, 0,218,251, 16, 1, 33, 56,
/* 0x0730 */ 32,129,144,125,232, 1, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3, /* 0x0730 */ 24, 0,123,232, 20, 26,126,124, 8, 0,129,129, 32,129,144,125,
/* 0x0740 */ 128, 18, 0, 0,166, 2, 8,124,232,255,132, 56, 0, 0,192, 56, /* 0x0740 */ 232, 1, 0, 72, 0, 0, 0, 0, 0, 0, 0, 3,128, 18, 0, 0,
/* 0x0750 */ 177, 1, 0, 72, 33,255, 33,248,120, 43,191,124,120, 75, 62,125, /* 0x0750 */ 166, 2, 8,124,232,255,132, 56, 0, 0,192, 56,177, 1, 0, 72,
/* 0x0760 */ 64, 0,165, 59, 24, 0, 35, 57,144, 0,129,248,136, 0,161,248, /* 0x0760 */ 33,255, 33,248,120, 43,191,124,120, 75, 62,125, 64, 0,165, 59,
/* 0x0770 */ 120, 59,229,124,112, 0,129,248,120, 0, 33,249,152, 0, 33,249, /* 0x0770 */ 24, 0, 35, 57,144, 0,129,248,136, 0,161,248,120, 59,229,124,
/* 0x0780 */ 224, 0,129, 59,128, 0,129, 56,105, 0, 92,249, 24, 0, 67,129, /* 0x0780 */ 112, 0,129,248,120, 0, 33,249,152, 0, 33,249,224, 0,129, 59,
/* 0x0790 */ 144, 0, 97, 56,128, 0, 65,249,160, 0,225,248,168, 0, 1,249, /* 0x0790 */ 128, 0,129, 56,105, 0, 92,249, 24, 0, 67,129,144, 0, 97, 56,
/* 0x07a0 */ 117,251,255, 75, 80, 0,191,232,120,243,195,127, 3, 0,128, 56, /* 0x07a0 */ 128, 0, 65,249,160, 0,225,248,168, 0, 1,249,117,251,255, 75,
/* 0x07b0 */ 64, 0,165, 56,173,250,255, 75, 56, 0,191,160,120,243,195,127, /* 0x07b0 */ 80, 0,191,232,120,243,195,127, 3, 0,128, 56, 64, 0,165, 56,
/* 0x07c0 */ 5, 0,128, 56,157,250,255, 75, 24, 0,191,128,120,243,195,127, /* 0x07c0 */ 173,250,255, 75, 56, 0,191,160,120,243,195,127, 5, 0,128, 56,
/* 0x07d0 */ 9, 0,128, 56,141,250,255, 75,160, 0,225,232,168, 0, 1,233, /* 0x07d0 */ 157,250,255, 75, 24, 0,191,128,120,243,195,127, 9, 0,128, 56,
/* 0x07e0 */ 120,243,198,127,112, 0,129, 56, 0, 0,160, 56,120,251,227,127, /* 0x07e0 */ 141,250,255, 75,160, 0,225,232,168, 0, 1,233,120,243,198,127,
/* 0x07f0 */ 120,227,137,127,173,252,255, 75, 9, 0,128, 56,120, 27,124,124, /* 0x07f0 */ 112, 0,129, 56, 0, 0,160, 56,120,251,227,127,120,227,137,127,
/* 0x0800 */ 120,243,195,127,120,227,133,127, 0, 0,192, 59, 85,250,255, 75, /* 0x0800 */ 173,252,255, 75, 9, 0,128, 56,120, 27,124,124,120,243,195,127,
/* 0x0810 */ 56, 0, 63,161, 0,240,137,127,156, 0,157, 64, 0, 0, 61,129, /* 0x0810 */ 120,227,133,127, 0, 0,192, 59, 85,250,255, 75, 56, 0, 63,161,
/* 0x0820 */ 3, 0,137, 47,128, 0,158, 64, 16, 0,125,232, 72, 1, 33,233, /* 0x0820 */ 0,240,137,127,156, 0,157, 64, 0, 0, 61,129, 3, 0,137, 47,
/* 0x0830 */ 0, 0,128, 56, 0, 0,160, 56, 20, 74, 99,124,253,249,255, 75, /* 0x0830 */ 128, 0,158, 64, 16, 0,125,232, 72, 1, 33,233, 0, 0,128, 56,
/* 0x0840 */ 0, 0, 0, 96, 0, 0,131, 47,120, 27,123,124, 16, 0,252, 64, /* 0x0840 */ 0, 0,160, 56, 20, 74, 99,124,253,249,255, 75, 0, 0, 0, 96,
/* 0x0850 */ 127, 0, 96, 56,213,249,255, 75, 0, 0, 0, 96,120,251,228,127, /* 0x0850 */ 0, 0,131, 47,120, 27,123,124, 16, 0,252, 64,127, 0, 96, 56,
/* 0x0860 */ 0, 4,160, 56,205,249,255, 75, 0, 0, 0, 96, 0, 4,163, 47, /* 0x0860 */ 213,249,255, 75, 0, 0, 0, 96,120,251,228,127, 0, 4,160, 56,
/* 0x0870 */ 224,255,222, 64,120,251,227,127, 0, 0,128, 56,120,219,101,127, /* 0x0870 */ 205,249,255, 75, 0, 0, 0, 96, 0, 4,163, 47,224,255,222, 64,
/* 0x0880 */ 0, 0,192, 56, 0, 0,224, 56, 0, 0, 0, 57, 0, 0, 32, 57, /* 0x0880 */ 120,251,227,127, 0, 0,128, 56,120,219,101,127, 0, 0,192, 56,
/* 0x0890 */ 17,252,255, 75,120, 27,124,124,120,219, 99,127,165,249,255, 75, /* 0x0890 */ 0, 0,224, 56, 0, 0, 0, 57, 0, 0, 32, 57, 17,252,255, 75,
/* 0x08a0 */ 0, 0, 0, 96, 1, 0,222, 59, 56, 0,189, 59,180, 7,222,127, /* 0x08a0 */ 120, 27,124,124,120,219, 99,127,165,249,255, 75, 0, 0, 0, 96,
/* 0x08b0 */ 96,255,255, 75,224, 0, 33, 56,120,227,131,127,148, 0, 0, 72, /* 0x08b0 */ 1, 0,222, 59, 56, 0,189, 59,180, 7,222,127, 96,255,255, 75,
/* 0x08c0 */ 0, 0, 0, 0, 0, 0, 0, 1,128, 5, 0, 0,112,255,193,249, /* 0x08c0 */ 224, 0, 33, 56,120,227,131,127,148, 0, 0, 72, 0, 0, 0, 0,
/* 0x08d0 */ 120,255,225,249,128,255, 1,250,136,255, 33,250,144,255, 65,250, /* 0x08d0 */ 0, 0, 0, 1,128, 5, 0, 0,112,255,193,249,120,255,225,249,
/* 0x08e0 */ 152,255, 97,250,160,255,129,250,168,255,161,250,176,255,193,250, /* 0x08e0 */ 128,255, 1,250,136,255, 33,250,144,255, 65,250,152,255, 97,250,
/* 0x08f0 */ 184,255,225,250,192,255, 1,251,200,255, 33,251,208,255, 65,251, /* 0x08f0 */ 160,255,129,250,168,255,161,250,176,255,193,250,184,255,225,250,
/* 0x0900 */ 216,255, 97,251,224,255,129,251,232,255,161,251,240,255,193,251, /* 0x0900 */ 192,255, 1,251,200,255, 33,251,208,255, 65,251,216,255, 97,251,
/* 0x0910 */ 248,255,225,251, 16, 0, 1,248, 32, 0,128, 78,112,255,193,233, /* 0x0910 */ 224,255,129,251,232,255,161,251,240,255,193,251,248,255,225,251,
/* 0x0920 */ 120,255,225,233,128,255, 1,234,136,255, 33,234,144,255, 65,234, /* 0x0920 */ 16, 0, 1,248, 32, 0,128, 78,112,255,193,233,120,255,225,233,
/* 0x0930 */ 152,255, 97,234,160,255,129,234,168,255,161,234,176,255,193,234, /* 0x0930 */ 128,255, 1,234,136,255, 33,234,144,255, 65,234,152,255, 97,234,
/* 0x0940 */ 184,255,225,234,192,255, 1,235,200,255, 33,235,208,255, 65,235, /* 0x0940 */ 160,255,129,234,168,255,161,234,176,255,193,234,184,255,225,234,
/* 0x0950 */ 216,255, 97,235,224,255,129,235, 16, 0, 1,232,232,255,161,235, /* 0x0950 */ 192,255, 1,235,200,255, 33,235,208,255, 65,235,216,255, 97,235,
/* 0x0960 */ 166, 3, 8,124,240,255,193,235,248,255,225,235, 32, 0,128, 78, /* 0x0960 */ 224,255,129,235, 16, 0, 1,232,232,255,161,235,166, 3, 8,124,
/* 0x0970 */ 96, 2, 16, 0, 0, 0, 0, 0,112,137, 16, 0, 0, 0, 0, 0, /* 0x0970 */ 240,255,193,235,248,255,225,235, 32, 0,128, 78, 0, 0, 0, 0,
/* 0x0980 */ 164, 2, 16, 0, 0, 0, 0, 0,112,137, 16, 0, 0, 0, 0, 0, /* 0x0980 */ 108, 2, 16, 0, 0, 0, 0, 0,128,137, 16, 0, 0, 0, 0, 0,
/* 0x0990 */ 20, 3, 16, 0, 0, 0, 0, 0,112,137, 16, 0, 0, 0, 0, 0, /* 0x0990 */ 176, 2, 16, 0, 0, 0, 0, 0,128,137, 16, 0, 0, 0, 0, 0,
/* 0x09a0 */ 160, 4, 16, 0, 0, 0, 0, 0,112,137, 16, 0, 0, 0, 0, 0, /* 0x09a0 */ 32, 3, 16, 0, 0, 0, 0, 0,128,137, 16, 0, 0, 0, 0, 0,
/* 0x09b0 */ 68, 7, 16, 0, 0, 0, 0, 0,112,137, 16 /* 0x09b0 */ 172, 4, 16, 0, 0, 0, 0, 0,128,137, 16, 0, 0, 0, 0, 0,
/* 0x09c0 */ 80, 7, 16, 0, 0, 0, 0, 0,128,137, 16
}; };
+3 -1
View File
@@ -33,6 +33,7 @@
#include "arch/amd64/regs.h" #include "arch/amd64/regs.h"
sz_Ehdr= 64 sz_Ehdr= 64
e_phnum= 56
sz_Phdr= 56 sz_Phdr= 56
sz_l_info= 12 sz_l_info= 12
@@ -300,8 +301,9 @@ main:
pop %rbp // &decompress pop %rbp // &decompress
lea -4-(ret_main - _start)(%rbp),%rax // &sz_pack2 lea -4-(ret_main - _start)(%rbp),%rax // &sz_pack2
movl (%rax),%r15d // sz_pack2: length before stub movl (%rax),%r15d // sz_pack2: length before stub
movl $ sz_Ehdr + 2*sz_Phdr + sz_l_info + sz_p_info,%edx
subq %r15,%rax // ADRU= &Elf64_Ehdr of this stub (ET_DYN) subq %r15,%rax // ADRU= &Elf64_Ehdr of this stub (ET_DYN)
imul $ sz_Phdr,e_phnum(%rax),%edx // sz_phdrs
addl $ sz_Ehdr + sz_l_info + sz_p_info,%edx // sz_elf_hdrs
subl %edx,%r15d // LENX for upx_main subl %edx,%r15d // LENX for upx_main
lea (%rax,%rdx),%rcx // ADRX= &b_info of user program for upx_main lea (%rax,%rdx),%rcx // ADRX= &b_info of user program for upx_main
call unfold // push &b_info of folded_loader call unfold // push &b_info of folded_loader
+3 -1
View File
@@ -36,6 +36,7 @@
#define szElf32_Ehdr 0x34 #define szElf32_Ehdr 0x34
#define szElf32_Phdr 8*4 #define szElf32_Phdr 8*4
#define e_type 16 #define e_type 16
#define e_phnum 44
#define e_entry (16 + 2*2 + 4) #define e_entry (16 + 2*2 + 4)
#define p_memsz 5*4 #define p_memsz 5*4
#define szb_info 12 #define szb_info 12
@@ -138,7 +139,8 @@ L55:
L53: L53:
push eax // dynbase push eax // dynbase
lea eax, [szElf32_Ehdr + 2*szElf32_Phdr + szl_info + szp_info + ebx] // 1st &b_info imul eax,[e_phnum + ebx],szElf32_Phdr // sz_Phdrs
lea eax, [szElf32_Ehdr + eax + szl_info + szp_info + ebx] // 1st &b_info
mov ebx, [ eax] // length of uncompressed ELF headers mov ebx, [ eax] // length of uncompressed ELF headers
mov ecx, [4+ eax] // length of compressed ELF headers mov ecx, [4+ eax] // length of compressed ELF headers
add ecx, szb_info add ecx, szb_info
+6 -2
View File
@@ -34,6 +34,7 @@
#define szElf32_Ehdr 0x34 #define szElf32_Ehdr 0x34
#define szElf32_Phdr 0x20 #define szElf32_Phdr 0x20
#define e_phnum 44
sz_b_info= 12 sz_b_info= 12
sz_unc= 0 sz_unc= 0
@@ -62,8 +63,11 @@ L90:
subf r29,a1,r31 // 8+ (char *)&our_Elf32_Ehdr subf r29,a1,r31 // 8+ (char *)&our_Elf32_Ehdr
la a2,-OVERHEAD(sp) // &Elf32_Ehdr temporary space la a2,-OVERHEAD(sp) // &Elf32_Ehdr temporary space
addi r29,r29,-8 // &our_Elf32_Ehdr addi r29,r29,-8 // &our_Elf32_Ehdr
addi a1,a1,-(szElf32_Ehdr + 2*szElf32_Phdr) lhz a3,e_phnum(r29)
addi a0,r29,(szElf32_Ehdr + 2*szElf32_Phdr) // &{l_info; p_info; b_info} mulli a3,a3,szElf32_Phdr
addi a3,a3,szElf32_Ehdr
sub a1,a1,a3
add a0,r29,a3 // &{l_info; p_info; b_info}
mr a7,r27 // pagesize mr a7,r27 // pagesize
addi sp,sp,-(LINKAREA+OVERHEAD) addi sp,sp,-(LINKAREA+OVERHEAD)
lwz a3,sz_unc+sz_p_info+sz_l_info(a0) // sz_elf_headers lwz a3,sz_unc+sz_p_info+sz_l_info(a0) // sz_elf_headers
+6 -2
View File
@@ -34,6 +34,7 @@
#define szElf64_Ehdr 0x40 #define szElf64_Ehdr 0x40
#define szElf64_Phdr 0x38 #define szElf64_Phdr 0x38
#define e_phnum 56
sz_b_info= 12 sz_b_info= 12
sz_unc= 0 sz_unc= 0
@@ -80,8 +81,11 @@ L90:
subf r29,a1,r31 // 8+ (char *)&our_Elf64_Ehdr subf r29,a1,r31 // 8+ (char *)&our_Elf64_Ehdr
la a2,-OVERHEAD(sp) // &Elf64_Ehdr temporary space la a2,-OVERHEAD(sp) // &Elf64_Ehdr temporary space
addi r29,r29,-8 // &our_Elf64_Ehdr addi r29,r29,-8 // &our_Elf64_Ehdr
addi a1,a1,-(szElf64_Ehdr + 2*szElf64_Phdr) lhz a3,e_phnum(r29)
addi a0,r29,(szElf64_Ehdr + 2*szElf64_Phdr) // &{l_info; p_info; b_info} mulli a3,a3,szElf64_Phdr
addi a3,a3,szElf64_Ehdr
sub a1,a1,a3
add a0,r29,a3 // &{l_info; p_info; b_info}
addi sp,sp,-(LINKAREA+OVERHEAD) addi sp,sp,-(LINKAREA+OVERHEAD)
lwz a3,sz_unc+sz_p_info+sz_l_info(a0) // sz_elf_headers lwz a3,sz_unc+sz_p_info+sz_l_info(a0) // sz_elf_headers
call upx_main // Out: a0= entry call upx_main // Out: a0= entry
+2 -2
View File
@@ -16,7 +16,7 @@ Idx Name Size VMA LMA File off Algn
11 ELFMAINZ 00000012 0000000000000000 0000000000000000 00001738 2**0 CONTENTS, READONLY 11 ELFMAINZ 00000012 0000000000000000 0000000000000000 00001738 2**0 CONTENTS, READONLY
12 LUNMP000 00000002 0000000000000000 0000000000000000 0000174a 2**0 CONTENTS, READONLY 12 LUNMP000 00000002 0000000000000000 0000000000000000 0000174a 2**0 CONTENTS, READONLY
13 LUNMP001 00000002 0000000000000000 0000000000000000 0000174c 2**0 CONTENTS, READONLY 13 LUNMP001 00000002 0000000000000000 0000000000000000 0000174c 2**0 CONTENTS, READONLY
14 ELFMAINZu 00000084 0000000000000000 0000000000000000 0000174e 2**0 CONTENTS, RELOC, READONLY 14 ELFMAINZu 00000086 0000000000000000 0000000000000000 0000174e 2**0 CONTENTS, RELOC, READONLY
SYMBOL TABLE: SYMBOL TABLE:
0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD 0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30 0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
@@ -74,5 +74,5 @@ OFFSET TYPE VALUE
000000000000000f R_X86_64_32 ADRM 000000000000000f R_X86_64_32 ADRM
0000000000000017 R_X86_64_32 LENM 0000000000000017 R_X86_64_32 LENM
0000000000000030 R_X86_64_32 ADRC 0000000000000030 R_X86_64_32 ADRC
0000000000000080 R_X86_64_PC32 ELFMAINZ+0x000000000000000d 0000000000000082 R_X86_64_PC32 ELFMAINZ+0x000000000000000d
000000000000002b R_X86_64_PC32 ELFMAINY+0x000000000000000d 000000000000002b R_X86_64_PC32 ELFMAINY+0x000000000000000d
+12 -12
View File
@@ -9,24 +9,24 @@ Linker script and memory map
TARGET(elf32-i386) TARGET(elf32-i386)
0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc) 0x0000000000c01080 . = ((0xc01000 + SIZEOF_HEADERS) + 0xc)
.text 0x0000000000c01080 0x65c .text 0x0000000000c01080 0x660
*(.text) *(.text)
.text 0x0000000000c01080 0x110 tmp/i386-linux.elf-fold.o .text 0x0000000000c01080 0x114 tmp/i386-linux.elf-fold.o
0x0000000000c01183 mmap 0x0000000000c01185 mmap
.text 0x0000000000c01190 0x54a tmp/i386-linux.elf-main.o .text 0x0000000000c01194 0x54a tmp/i386-linux.elf-main.o
0x0000000000c01592 upx_main 0x0000000000c01596 upx_main
*(.data) *(.data)
*fill* 0x0000000000c016da 0x2 00 *fill* 0x0000000000c016de 0x2 00
.data 0x0000000000c016dc 0x0 tmp/i386-linux.elf-fold.o .data 0x0000000000c016e0 0x0 tmp/i386-linux.elf-fold.o
.data 0x0000000000c016dc 0x0 tmp/i386-linux.elf-main.o .data 0x0000000000c016e0 0x0 tmp/i386-linux.elf-main.o
.data .data
.bss 0x0000000000c016dc 0x0 .bss 0x0000000000c016e0 0x0
.bss 0x0000000000c016dc 0x0 tmp/i386-linux.elf-fold.o .bss 0x0000000000c016e0 0x0 tmp/i386-linux.elf-fold.o
.bss 0x0000000000c016dc 0x0 tmp/i386-linux.elf-main.o .bss 0x0000000000c016e0 0x0 tmp/i386-linux.elf-main.o
.rel.dyn 0x0000000000c016dc 0x0 .rel.dyn 0x0000000000c016e0 0x0
.rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o .rel.text 0x0000000000000000 0x0 tmp/i386-linux.elf-fold.o
LOAD tmp/i386-linux.elf-fold.o LOAD tmp/i386-linux.elf-fold.o
LOAD tmp/i386-linux.elf-main.o LOAD tmp/i386-linux.elf-main.o
+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 0xc64 .text 0x0000000000100080 0xc70
*(.text) *(.text)
.text 0x0000000000100080 0x10c tmp/powerpc-linux.elf-fold.o .text 0x0000000000100080 0x118 tmp/powerpc-linux.elf-fold.o
0x000000000010017c munmap 0x0000000000100188 munmap
0x0000000000100140 mmap 0x000000000010014c mmap
0x000000000010015c read 0x0000000000100168 read
0x0000000000100154 exit 0x0000000000100160 exit
0x0000000000100184 brk 0x0000000000100190 brk
0x0000000000100164 open 0x0000000000100170 open
0x0000000000100174 mprotect 0x0000000000100180 mprotect
0x000000000010016c close 0x0000000000100178 close
.text 0x000000000010018c 0xb58 tmp/powerpc-linux.elf-main.o .text 0x0000000000100198 0xb58 tmp/powerpc-linux.elf-main.o
0x0000000000100ab0 upx_main 0x0000000000100abc upx_main
*(.data) *(.data)
.data 0x0000000000100ce4 0x0 tmp/powerpc-linux.elf-fold.o .data 0x0000000000100cf0 0x0 tmp/powerpc-linux.elf-fold.o
.data 0x0000000000100ce4 0x0 tmp/powerpc-linux.elf-main.o .data 0x0000000000100cf0 0x0 tmp/powerpc-linux.elf-main.o
.data .data
.bss 0x0000000000100ce4 0x0 .bss 0x0000000000100cf0 0x0
.bss 0x0000000000100ce4 0x0 tmp/powerpc-linux.elf-fold.o .bss 0x0000000000100cf0 0x0 tmp/powerpc-linux.elf-fold.o
.bss 0x0000000000100ce4 0x0 tmp/powerpc-linux.elf-main.o .bss 0x0000000000100cf0 0x0 tmp/powerpc-linux.elf-main.o
.rela.dyn 0x0000000000100ce4 0x0 .rela.dyn 0x0000000000100cf0 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
+39 -39
View File
@@ -9,58 +9,58 @@ Linker script and memory map
TARGET(elf64-powerpcle) TARGET(elf64-powerpcle)
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc) 0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x810 .text 0x00000000001000bc 0x81c
*(.text) *(.text)
.text 0x00000000001000bc 0x1a4 tmp/powerpc64le-linux.elf-fold.o .text 0x00000000001000bc 0x1b0 tmp/powerpc64le-linux.elf-fold.o
0x0000000000100214 mmap 0x0000000000100220 mmap
0x0000000000100228 exit 0x0000000000100234 exit
0x0000000000100230 read 0x000000000010023c read
0x0000000000100238 open 0x0000000000100244 open
0x0000000000100240 close 0x000000000010024c close
0x0000000000100248 mprotect 0x0000000000100254 mprotect
0x0000000000100250 munmap 0x000000000010025c munmap
0x0000000000100258 brk 0x0000000000100264 brk
.text 0x0000000000100260 0x66c tmp/powerpc64le-linux.elf-main.o .text 0x000000000010026c 0x66c tmp/powerpc64le-linux.elf-main.o
*(.data) *(.data)
.data 0x00000000001008cc 0x0 tmp/powerpc64le-linux.elf-fold.o .data 0x00000000001008d8 0x0 tmp/powerpc64le-linux.elf-fold.o
.data 0x00000000001008cc 0x0 tmp/powerpc64le-linux.elf-main.o .data 0x00000000001008d8 0x0 tmp/powerpc64le-linux.elf-main.o
.sfpr 0x00000000001008cc 0xa4 .sfpr 0x00000000001008d8 0xa4
.sfpr 0x00000000001008cc 0xa4 linker stubs .sfpr 0x00000000001008d8 0xa4 linker stubs
0x00000000001008cc _savegpr0_14 0x00000000001008d8 _savegpr0_14
0x0000000000100900 _savegpr0_27 0x000000000010090c _savegpr0_27
0x0000000000100904 _savegpr0_28 0x0000000000100910 _savegpr0_28
0x000000000010091c _restgpr0_14 0x0000000000100928 _restgpr0_14
0x0000000000100950 _restgpr0_27 0x000000000010095c _restgpr0_27
0x0000000000100954 _restgpr0_28 0x0000000000100960 _restgpr0_28
.glink 0x0000000000100970 0x0 .glink 0x0000000000100980 0x0
.glink 0x0000000000100970 0x0 linker stubs .glink 0x0000000000100980 0x0 linker stubs
.eh_frame 0x0000000000100970 0x0 .eh_frame 0x000000000010097c 0x0
.eh_frame 0x0000000000100970 0x0 linker stubs .eh_frame 0x000000000010097c 0x0 linker stubs
.rela.dyn 0x0000000000100970 0x0 .rela.dyn 0x0000000000100980 0x0
.rela.iplt 0x0000000000100970 0x0 linker stubs .rela.iplt 0x0000000000100980 0x0 linker stubs
.data .data
LOAD tmp/powerpc64le-linux.elf-fold.o LOAD tmp/powerpc64le-linux.elf-fold.o
LOAD tmp/powerpc64le-linux.elf-main.o LOAD tmp/powerpc64le-linux.elf-main.o
OUTPUT(tmp/powerpc64le-linux.elf-fold.bin elf64-powerpcle) OUTPUT(tmp/powerpc64le-linux.elf-fold.bin elf64-powerpcle)
.branch_lt 0x0000000000100970 0x0 .branch_lt 0x0000000000100980 0x0
.branch_lt 0x0000000000100970 0x0 linker stubs .branch_lt 0x0000000000100980 0x0 linker stubs
.toc 0x0000000000100970 0x0 .toc 0x0000000000100980 0x0
.toc 0x0000000000100970 0x0 tmp/powerpc64le-linux.elf-main.o .toc 0x0000000000100980 0x0 tmp/powerpc64le-linux.elf-main.o
.opd 0x0000000000100970 0x58 .opd 0x0000000000100980 0x58
.opd 0x0000000000100970 0x58 tmp/powerpc64le-linux.elf-main.o .opd 0x0000000000100980 0x58 tmp/powerpc64le-linux.elf-main.o
0x00000000001009b0 upx_main 0x00000000001009c0 upx_main
.iplt 0x00000000001009c8 0x0 .iplt 0x00000000001009d8 0x0
.iplt 0x00000000001009c8 0x0 linker stubs .iplt 0x00000000001009d8 0x0 linker stubs
.bss 0x00000000001009c8 0x0 .bss 0x00000000001009d8 0x0
.bss 0x00000000001009c8 0x0 tmp/powerpc64le-linux.elf-fold.o .bss 0x00000000001009d8 0x0 tmp/powerpc64le-linux.elf-fold.o
.bss 0x00000000001009c8 0x0 tmp/powerpc64le-linux.elf-main.o .bss 0x00000000001009d8 0x0 tmp/powerpc64le-linux.elf-main.o