{"diffoscope-json-version": 1, "source1": "/input1", "source2": "/input2", "unified_diff": null, "details": [{"source1": "zipinfo {}", "source2": "zipinfo {}", "unified_diff": "@@ -1,25 +1,25 @@\n-Zip file size: 39680 bytes, number of entries: 23\n+Zip file size: 39953 bytes, number of entries: 23\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/\n -rw----     2.0 fat     8002 bX stor 70-Jan-01 00:00 META-INF/DEPENDENCIES\n -rw----     2.0 fat    11358 bX stor 70-Jan-01 00:00 META-INF/LICENSE\n -rw----     2.0 fat       25 bX stor 70-Jan-01 00:00 META-INF/MANIFEST.MF\n -rw----     2.0 fat      171 bX stor 70-Jan-01 00:00 META-INF/NOTICE\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/dubbo/internal/\n -rw----     2.0 fat       52 bX stor 70-Jan-01 00:00 META-INF/dubbo/internal/org.apache.dubbo.rpc.Protocol\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-rpc-http/\n -rw----     2.0 fat        0 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-rpc-http/pom.properties\n--rw----     2.0 fat     2504 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-rpc-http/pom.xml\n+-rw----     2.0 fat     2440 bX stor 70-Jan-01 00:00 META-INF/maven/org.apache.dubbo/dubbo-rpc-http/pom.xml\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/rpc/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/\n -rw----     2.0 fat        0 bx stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/\n--rw----     2.0 fat     7560 bX stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/HttpProtocol.java\n+-rw----     2.0 fat     7750 bX stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/HttpProtocol.java\n -rw----     2.0 fat     1065 bX stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/HttpProtocolErrorCode.java\n--rw----     2.0 fat     2283 bX stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/JsonRemoteInvocation.java\n--rw----     2.0 fat     2828 bX stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/JsonRpcProxyFactoryBean.java\n-23 files, 35848 bytes uncompressed, 35848 bytes compressed:  0.0%\n+-rw----     2.0 fat     2344 bX stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/JsonRemoteInvocation.java\n+-rw----     2.0 fat     2914 bX stor 70-Jan-01 00:00 org/apache/dubbo/rpc/protocol/http/JsonRpcProxyFactoryBean.java\n+23 files, 36121 bytes uncompressed, 36121 bytes compressed:  0.0%\n"}, {"source1": "zipdetails --redact --scan --utc {}", "source2": "zipdetails --redact --scan --utc {}", "unified_diff": "@@ -312,940 +312,940 @@\n #\n 5068 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n 506A   Length              0005 (5)\n 506C   Flags               01 (1) 'Modification'\n 506D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n 5071 PAYLOAD\n \n-5A39 DATA DESCRIPTOR       08074B50 (134695760)\n-5A3D CRC                   0B401095 (188747925)\n-5A41 Compressed Size       000009C8 (2504)\n-5A45 Uncompressed Size     000009C8 (2504)\n-\n-5A49 LOCAL HEADER #14      04034B50 (67324752)\n-5A4D Extract Zip Spec      14 (20) '2.0'\n-5A4E Extract OS            00 (0) 'MS-DOS'\n-5A4F General Purpose Flag  0000 (0)\n-5A51 Compression Method    0000 (0) 'Stored'\n-5A53 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-5A57 CRC                   00000000 (0)\n-5A5B Compressed Size       00000000 (0)\n-5A5F Uncompressed Size     00000000 (0)\n-5A63 Filename Length       0004 (4)\n-5A65 Extra Length          0009 (9)\n-5A67 Filename              'XXXX'\n-#\n-# WARNING: Offset 0x5A67: Filename 'XXXX'\n-#          Zero length filename\n-#\n-5A6B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-5A6D   Length              0005 (5)\n-5A6F   Flags               01 (1) 'Modification'\n-5A70   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-5A74 LOCAL HEADER #15      04034B50 (67324752)\n-5A78 Extract Zip Spec      14 (20) '2.0'\n-5A79 Extract OS            00 (0) 'MS-DOS'\n-5A7A General Purpose Flag  0000 (0)\n-5A7C Compression Method    0000 (0) 'Stored'\n-5A7E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-5A82 CRC                   00000000 (0)\n-5A86 Compressed Size       00000000 (0)\n-5A8A Uncompressed Size     00000000 (0)\n-5A8E Filename Length       000B (11)\n-5A90 Extra Length          0009 (9)\n-5A92 Filename              'XXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5A92: Filename 'XXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5A9D Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-5A9F   Length              0005 (5)\n-5AA1   Flags               01 (1) 'Modification'\n-5AA2   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-5AA6 LOCAL HEADER #16      04034B50 (67324752)\n-5AAA Extract Zip Spec      14 (20) '2.0'\n-5AAB Extract OS            00 (0) 'MS-DOS'\n-5AAC General Purpose Flag  0000 (0)\n-5AAE Compression Method    0000 (0) 'Stored'\n-5AB0 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-5AB4 CRC                   00000000 (0)\n-5AB8 Compressed Size       00000000 (0)\n-5ABC Uncompressed Size     00000000 (0)\n-5AC0 Filename Length       0011 (17)\n-5AC2 Extra Length          0009 (9)\n-5AC4 Filename              'XXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5AC4: Filename 'XXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5AD5 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-5AD7   Length              0005 (5)\n-5AD9   Flags               01 (1) 'Modification'\n-5ADA   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-5ADE LOCAL HEADER #17      04034B50 (67324752)\n-5AE2 Extract Zip Spec      14 (20) '2.0'\n-5AE3 Extract OS            00 (0) 'MS-DOS'\n-5AE4 General Purpose Flag  0000 (0)\n-5AE6 Compression Method    0000 (0) 'Stored'\n-5AE8 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-5AEC CRC                   00000000 (0)\n-5AF0 Compressed Size       00000000 (0)\n-5AF4 Uncompressed Size     00000000 (0)\n-5AF8 Filename Length       0015 (21)\n-5AFA Extra Length          0009 (9)\n-5AFC Filename              'XXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5AFC: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5B11 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-5B13   Length              0005 (5)\n-5B15   Flags               01 (1) 'Modification'\n-5B16   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-5B1A LOCAL HEADER #18      04034B50 (67324752)\n-5B1E Extract Zip Spec      14 (20) '2.0'\n-5B1F Extract OS            00 (0) 'MS-DOS'\n-5B20 General Purpose Flag  0000 (0)\n-5B22 Compression Method    0000 (0) 'Stored'\n-5B24 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-5B28 CRC                   00000000 (0)\n-5B2C Compressed Size       00000000 (0)\n-5B30 Uncompressed Size     00000000 (0)\n-5B34 Filename Length       001E (30)\n-5B36 Extra Length          0009 (9)\n-5B38 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5B38: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5B56 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-5B58   Length              0005 (5)\n-5B5A   Flags               01 (1) 'Modification'\n-5B5B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-5B5F LOCAL HEADER #19      04034B50 (67324752)\n-5B63 Extract Zip Spec      14 (20) '2.0'\n-5B64 Extract OS            00 (0) 'MS-DOS'\n-5B65 General Purpose Flag  0000 (0)\n-5B67 Compression Method    0000 (0) 'Stored'\n-5B69 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-5B6D CRC                   00000000 (0)\n-5B71 Compressed Size       00000000 (0)\n-5B75 Uncompressed Size     00000000 (0)\n-5B79 Filename Length       0023 (35)\n-5B7B Extra Length          0009 (9)\n-5B7D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5B7D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5BA0 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-5BA2   Length              0005 (5)\n-5BA4   Flags               01 (1) 'Modification'\n-5BA5   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-5BA9 LOCAL HEADER #20      04034B50 (67324752)\n-5BAD Extract Zip Spec      14 (20) '2.0'\n-5BAE Extract OS            00 (0) 'MS-DOS'\n-5BAF General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-5BB1 Compression Method    0000 (0) 'Stored'\n-5BB3 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-5BB7 CRC                   00000000 (0)\n-5BBB Compressed Size       00000000 (0)\n-5BBF Uncompressed Size     00000000 (0)\n-5BC3 Filename Length       0034 (52)\n-5BC5 Extra Length          0009 (9)\n-5BC7 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x5BC7: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-5BFB Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-5BFD   Length              0005 (5)\n-5BFF   Flags               01 (1) 'Modification'\n-5C00   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-5C04 PAYLOAD\n-\n-798C DATA DESCRIPTOR       08074B50 (134695760)\n-7990 CRC                   67E99252 (1743360594)\n-7994 Compressed Size       00001D88 (7560)\n-7998 Uncompressed Size     00001D88 (7560)\n-\n-799C LOCAL HEADER #21      04034B50 (67324752)\n-79A0 Extract Zip Spec      14 (20) '2.0'\n-79A1 Extract OS            00 (0) 'MS-DOS'\n-79A2 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-79A4 Compression Method    0000 (0) 'Stored'\n-79A6 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-79AA CRC                   00000000 (0)\n-79AE Compressed Size       00000000 (0)\n-79B2 Uncompressed Size     00000000 (0)\n-79B6 Filename Length       003D (61)\n-79B8 Extra Length          0009 (9)\n-79BA Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x79BA: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-79F7 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-79F9   Length              0005 (5)\n-79FB   Flags               01 (1) 'Modification'\n-79FC   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-7A00 PAYLOAD\n-\n-7E29 DATA DESCRIPTOR       08074B50 (134695760)\n-7E2D CRC                   B3BC74DF (3015472351)\n-7E31 Compressed Size       00000429 (1065)\n-7E35 Uncompressed Size     00000429 (1065)\n-\n-7E39 LOCAL HEADER #22      04034B50 (67324752)\n-7E3D Extract Zip Spec      14 (20) '2.0'\n-7E3E Extract OS            00 (0) 'MS-DOS'\n-7E3F General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-7E41 Compression Method    0000 (0) 'Stored'\n-7E43 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-7E47 CRC                   00000000 (0)\n-7E4B Compressed Size       00000000 (0)\n-7E4F Uncompressed Size     00000000 (0)\n-7E53 Filename Length       003C (60)\n-7E55 Extra Length          0009 (9)\n-7E57 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x7E57: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-7E93 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-7E95   Length              0005 (5)\n-7E97   Flags               01 (1) 'Modification'\n-7E98   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-7E9C PAYLOAD\n-\n-8787 DATA DESCRIPTOR       08074B50 (134695760)\n-878B CRC                   29478F2B (692555563)\n-878F Compressed Size       000008EB (2283)\n-8793 Uncompressed Size     000008EB (2283)\n-\n-8797 LOCAL HEADER #23      04034B50 (67324752)\n-879B Extract Zip Spec      14 (20) '2.0'\n-879C Extract OS            00 (0) 'MS-DOS'\n-879D General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-879F Compression Method    0000 (0) 'Stored'\n-87A1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-87A5 CRC                   00000000 (0)\n-87A9 Compressed Size       00000000 (0)\n-87AD Uncompressed Size     00000000 (0)\n-87B1 Filename Length       003F (63)\n-87B3 Extra Length          0009 (9)\n-87B5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x87B5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-87F4 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-87F6   Length              0005 (5)\n-87F8   Flags               01 (1) 'Modification'\n-87F9   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-87FD PAYLOAD\n-\n-9309 DATA DESCRIPTOR       08074B50 (134695760)\n-930D CRC                   DBBDBD3B (3686645051)\n-9311 Compressed Size       00000B0C (2828)\n-9315 Uncompressed Size     00000B0C (2828)\n-\n-9319 CENTRAL HEADER #1     02014B50 (33639248)\n-931D Created Zip Spec      14 (20) '2.0'\n-931E Created OS            00 (0) 'MS-DOS'\n-931F Extract Zip Spec      14 (20) '2.0'\n-9320 Extract OS            00 (0) 'MS-DOS'\n-9321 General Purpose Flag  0000 (0)\n-9323 Compression Method    0000 (0) 'Stored'\n-9325 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9329 CRC                   00000000 (0)\n-932D Compressed Size       00000000 (0)\n-9331 Uncompressed Size     00000000 (0)\n-9335 Filename Length       0009 (9)\n-9337 Extra Length          0009 (9)\n-9339 Comment Length        0000 (0)\n-933B Disk Start            0000 (0)\n-933D Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-933F Ext File Attributes   00000000 (0)\n-9343 Local Header Offset   00000000 (0)\n-9347 Filename              'XXXXXXXXX'\n-#\n-# WARNING: Offset 0x9347: Filename 'XXXXXXXXX'\n-#          Zero length filename\n-#\n-9350 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9352   Length              0005 (5)\n-9354   Flags               01 (1) 'Modification'\n-9355   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9359 CENTRAL HEADER #2     02014B50 (33639248)\n-935D Created Zip Spec      14 (20) '2.0'\n-935E Created OS            00 (0) 'MS-DOS'\n-935F Extract Zip Spec      14 (20) '2.0'\n-9360 Extract OS            00 (0) 'MS-DOS'\n-9361 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-9363 Compression Method    0000 (0) 'Stored'\n-9365 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9369 CRC                   41BD8F94 (1102942100)\n-936D Compressed Size       00001F42 (8002)\n-9371 Uncompressed Size     00001F42 (8002)\n-9375 Filename Length       0015 (21)\n-9377 Extra Length          0009 (9)\n-9379 Comment Length        0000 (0)\n-937B Disk Start            0000 (0)\n-937D Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-937F Ext File Attributes   00000000 (0)\n-9383 Local Header Offset   00000030 (48)\n-9387 Filename              'XXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9387: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-939C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-939E   Length              0005 (5)\n-93A0   Flags               01 (1) 'Modification'\n-93A1   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-93A5 CENTRAL HEADER #3     02014B50 (33639248)\n-93A9 Created Zip Spec      14 (20) '2.0'\n-93AA Created OS            00 (0) 'MS-DOS'\n-93AB Extract Zip Spec      14 (20) '2.0'\n-93AC Extract OS            00 (0) 'MS-DOS'\n-93AD General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-93AF Compression Method    0000 (0) 'Stored'\n-93B1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-93B5 CRC                   86E2B4B4 (2263004340)\n-93B9 Compressed Size       00002C5E (11358)\n-93BD Uncompressed Size     00002C5E (11358)\n-93C1 Filename Length       0010 (16)\n-93C3 Extra Length          0009 (9)\n-93C5 Comment Length        0000 (0)\n-93C7 Disk Start            0000 (0)\n-93C9 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-93CB Ext File Attributes   00000000 (0)\n-93CF Local Header Offset   00001FBE (8126)\n-93D3 Filename              'XXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x93D3: Filename 'XXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-93E3 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-93E5   Length              0005 (5)\n-93E7   Flags               01 (1) 'Modification'\n-93E8   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-93EC CENTRAL HEADER #4     02014B50 (33639248)\n-93F0 Created Zip Spec      14 (20) '2.0'\n-93F1 Created OS            00 (0) 'MS-DOS'\n-93F2 Extract Zip Spec      14 (20) '2.0'\n-93F3 Extract OS            00 (0) 'MS-DOS'\n-93F4 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-93F6 Compression Method    0000 (0) 'Stored'\n-93F8 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-93FC CRC                   EE027FB2 (3993141170)\n-9400 Compressed Size       00000019 (25)\n-9404 Uncompressed Size     00000019 (25)\n-9408 Filename Length       0014 (20)\n-940A Extra Length          0009 (9)\n-940C Comment Length        0000 (0)\n-940E Disk Start            0000 (0)\n-9410 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9412 Ext File Attributes   00000000 (0)\n-9416 Local Header Offset   00004C63 (19555)\n-941A Filename              'XXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x941A: Filename 'XXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-942E Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9430   Length              0005 (5)\n-9432   Flags               01 (1) 'Modification'\n-9433   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9437 CENTRAL HEADER #5     02014B50 (33639248)\n-943B Created Zip Spec      14 (20) '2.0'\n-943C Created OS            00 (0) 'MS-DOS'\n-943D Extract Zip Spec      14 (20) '2.0'\n-943E Extract OS            00 (0) 'MS-DOS'\n-943F General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-9441 Compression Method    0000 (0) 'Stored'\n-9443 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9447 CRC                   A2601E03 (2724208131)\n-944B Compressed Size       000000AB (171)\n-944F Uncompressed Size     000000AB (171)\n-9453 Filename Length       000F (15)\n-9455 Extra Length          0009 (9)\n-9457 Comment Length        0000 (0)\n-9459 Disk Start            0000 (0)\n-945B Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-945D Ext File Attributes   00000000 (0)\n-9461 Local Header Offset   00004CC7 (19655)\n-9465 Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9465: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9474 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9476   Length              0005 (5)\n-9478   Flags               01 (1) 'Modification'\n-9479   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-947D CENTRAL HEADER #6     02014B50 (33639248)\n-9481 Created Zip Spec      14 (20) '2.0'\n-9482 Created OS            00 (0) 'MS-DOS'\n-9483 Extract Zip Spec      14 (20) '2.0'\n-9484 Extract OS            00 (0) 'MS-DOS'\n-9485 General Purpose Flag  0000 (0)\n-9487 Compression Method    0000 (0) 'Stored'\n-9489 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-948D CRC                   00000000 (0)\n-9491 Compressed Size       00000000 (0)\n-9495 Uncompressed Size     00000000 (0)\n-9499 Filename Length       000F (15)\n-949B Extra Length          0009 (9)\n-949D Comment Length        0000 (0)\n-949F Disk Start            0000 (0)\n-94A1 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-94A3 Ext File Attributes   00000000 (0)\n-94A7 Local Header Offset   00004DB8 (19896)\n-94AB Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x94AB: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-94BA Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-94BC   Length              0005 (5)\n-94BE   Flags               01 (1) 'Modification'\n-94BF   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-94C3 CENTRAL HEADER #7     02014B50 (33639248)\n-94C7 Created Zip Spec      14 (20) '2.0'\n-94C8 Created OS            00 (0) 'MS-DOS'\n-94C9 Extract Zip Spec      14 (20) '2.0'\n-94CA Extract OS            00 (0) 'MS-DOS'\n-94CB General Purpose Flag  0000 (0)\n-94CD Compression Method    0000 (0) 'Stored'\n-94CF Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-94D3 CRC                   00000000 (0)\n-94D7 Compressed Size       00000000 (0)\n-94DB Uncompressed Size     00000000 (0)\n-94DF Filename Length       0018 (24)\n-94E1 Extra Length          0009 (9)\n-94E3 Comment Length        0000 (0)\n-94E5 Disk Start            0000 (0)\n-94E7 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-94E9 Ext File Attributes   00000000 (0)\n-94ED Local Header Offset   00004DEE (19950)\n-94F1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x94F1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9509 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-950B   Length              0005 (5)\n-950D   Flags               01 (1) 'Modification'\n-950E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9512 CENTRAL HEADER #8     02014B50 (33639248)\n-9516 Created Zip Spec      14 (20) '2.0'\n-9517 Created OS            00 (0) 'MS-DOS'\n-9518 Extract Zip Spec      14 (20) '2.0'\n-9519 Extract OS            00 (0) 'MS-DOS'\n-951A General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-951C Compression Method    0000 (0) 'Stored'\n-951E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9522 CRC                   18982A2D (412625453)\n-9526 Compressed Size       00000034 (52)\n-952A Uncompressed Size     00000034 (52)\n-952E Filename Length       0035 (53)\n-9530 Extra Length          0009 (9)\n-9532 Comment Length        0000 (0)\n-9534 Disk Start            0000 (0)\n-9536 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9538 Ext File Attributes   00000000 (0)\n-953C Local Header Offset   00004E2D (20013)\n-9540 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9540: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9575 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9577   Length              0005 (5)\n-9579   Flags               01 (1) 'Modification'\n-957A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-957E CENTRAL HEADER #9     02014B50 (33639248)\n-9582 Created Zip Spec      14 (20) '2.0'\n-9583 Created OS            00 (0) 'MS-DOS'\n-9584 Extract Zip Spec      14 (20) '2.0'\n-9585 Extract OS            00 (0) 'MS-DOS'\n-9586 General Purpose Flag  0000 (0)\n-9588 Compression Method    0000 (0) 'Stored'\n-958A Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-958E CRC                   00000000 (0)\n-9592 Compressed Size       00000000 (0)\n-9596 Uncompressed Size     00000000 (0)\n-959A Filename Length       000F (15)\n-959C Extra Length          0009 (9)\n-959E Comment Length        0000 (0)\n-95A0 Disk Start            0000 (0)\n-95A2 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-95A4 Ext File Attributes   00000000 (0)\n-95A8 Local Header Offset   00004ECD (20173)\n-95AC Filename              'XXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x95AC: Filename 'XXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-95BB Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-95BD   Length              0005 (5)\n-95BF   Flags               01 (1) 'Modification'\n-95C0   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-95C4 CENTRAL HEADER #10    02014B50 (33639248)\n-95C8 Created Zip Spec      14 (20) '2.0'\n-95C9 Created OS            00 (0) 'MS-DOS'\n-95CA Extract Zip Spec      14 (20) '2.0'\n-95CB Extract OS            00 (0) 'MS-DOS'\n-95CC General Purpose Flag  0000 (0)\n-95CE Compression Method    0000 (0) 'Stored'\n-95D0 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-95D4 CRC                   00000000 (0)\n-95D8 Compressed Size       00000000 (0)\n-95DC Uncompressed Size     00000000 (0)\n-95E0 Filename Length       0020 (32)\n-95E2 Extra Length          0009 (9)\n-95E4 Comment Length        0000 (0)\n-95E6 Disk Start            0000 (0)\n-95E8 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-95EA Ext File Attributes   00000000 (0)\n-95EE Local Header Offset   00004F03 (20227)\n-95F2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x95F2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9612 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9614   Length              0005 (5)\n-9616   Flags               01 (1) 'Modification'\n-9617   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-961B CENTRAL HEADER #11    02014B50 (33639248)\n-961F Created Zip Spec      14 (20) '2.0'\n-9620 Created OS            00 (0) 'MS-DOS'\n-9621 Extract Zip Spec      14 (20) '2.0'\n-9622 Extract OS            00 (0) 'MS-DOS'\n-9623 General Purpose Flag  0000 (0)\n-9625 Compression Method    0000 (0) 'Stored'\n-9627 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-962B CRC                   00000000 (0)\n-962F Compressed Size       00000000 (0)\n-9633 Uncompressed Size     00000000 (0)\n-9637 Filename Length       002F (47)\n-9639 Extra Length          0009 (9)\n-963B Comment Length        0000 (0)\n-963D Disk Start            0000 (0)\n-963F Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9641 Ext File Attributes   00000000 (0)\n-9645 Local Header Offset   00004F4A (20298)\n-9649 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9649: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9678 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-967A   Length              0005 (5)\n-967C   Flags               01 (1) 'Modification'\n-967D   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9681 CENTRAL HEADER #12    02014B50 (33639248)\n-9685 Created Zip Spec      14 (20) '2.0'\n-9686 Created OS            00 (0) 'MS-DOS'\n-9687 Extract Zip Spec      14 (20) '2.0'\n-9688 Extract OS            00 (0) 'MS-DOS'\n-9689 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-968B Compression Method    0000 (0) 'Stored'\n-968D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9691 CRC                   00000000 (0)\n-9695 Compressed Size       00000000 (0)\n-9699 Uncompressed Size     00000000 (0)\n-969D Filename Length       003D (61)\n-969F Extra Length          0009 (9)\n-96A1 Comment Length        0000 (0)\n-96A3 Disk Start            0000 (0)\n-96A5 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-96A7 Ext File Attributes   00000000 (0)\n-96AB Local Header Offset   00004FA0 (20384)\n-96AF Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x96AF: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-96EC Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-96EE   Length              0005 (5)\n-96F0   Flags               01 (1) 'Modification'\n-96F1   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-96F5 CENTRAL HEADER #13    02014B50 (33639248)\n-96F9 Created Zip Spec      14 (20) '2.0'\n-96FA Created OS            00 (0) 'MS-DOS'\n-96FB Extract Zip Spec      14 (20) '2.0'\n-96FC Extract OS            00 (0) 'MS-DOS'\n-96FD General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-96FF Compression Method    0000 (0) 'Stored'\n-9701 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9705 CRC                   0B401095 (188747925)\n-9709 Compressed Size       000009C8 (2504)\n-970D Uncompressed Size     000009C8 (2504)\n-9711 Filename Length       0036 (54)\n-9713 Extra Length          0009 (9)\n-9715 Comment Length        0000 (0)\n-9717 Disk Start            0000 (0)\n-9719 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-971B Ext File Attributes   00000000 (0)\n-971F Local Header Offset   00005014 (20500)\n-9723 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9723: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9759 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-975B   Length              0005 (5)\n-975D   Flags               01 (1) 'Modification'\n-975E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9762 CENTRAL HEADER #14    02014B50 (33639248)\n-9766 Created Zip Spec      14 (20) '2.0'\n-9767 Created OS            00 (0) 'MS-DOS'\n-9768 Extract Zip Spec      14 (20) '2.0'\n-9769 Extract OS            00 (0) 'MS-DOS'\n-976A General Purpose Flag  0000 (0)\n-976C Compression Method    0000 (0) 'Stored'\n-976E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9772 CRC                   00000000 (0)\n-9776 Compressed Size       00000000 (0)\n-977A Uncompressed Size     00000000 (0)\n-977E Filename Length       0004 (4)\n-9780 Extra Length          0009 (9)\n-9782 Comment Length        0000 (0)\n-9784 Disk Start            0000 (0)\n-9786 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9788 Ext File Attributes   00000000 (0)\n-978C Local Header Offset   00005A49 (23113)\n-9790 Filename              'XXXX'\n-#\n-# WARNING: Offset 0x9790: Filename 'XXXX'\n-#          Zero length filename\n-#\n-9794 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9796   Length              0005 (5)\n-9798   Flags               01 (1) 'Modification'\n-9799   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-979D CENTRAL HEADER #15    02014B50 (33639248)\n-97A1 Created Zip Spec      14 (20) '2.0'\n-97A2 Created OS            00 (0) 'MS-DOS'\n-97A3 Extract Zip Spec      14 (20) '2.0'\n-97A4 Extract OS            00 (0) 'MS-DOS'\n-97A5 General Purpose Flag  0000 (0)\n-97A7 Compression Method    0000 (0) 'Stored'\n-97A9 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-97AD CRC                   00000000 (0)\n-97B1 Compressed Size       00000000 (0)\n-97B5 Uncompressed Size     00000000 (0)\n-97B9 Filename Length       000B (11)\n-97BB Extra Length          0009 (9)\n-97BD Comment Length        0000 (0)\n-97BF Disk Start            0000 (0)\n-97C1 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-97C3 Ext File Attributes   00000000 (0)\n-97C7 Local Header Offset   00005A74 (23156)\n-97CB Filename              'XXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x97CB: Filename 'XXXXXXXXXXX'\n-#          Zero length filename\n-#\n-97D6 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-97D8   Length              0005 (5)\n-97DA   Flags               01 (1) 'Modification'\n-97DB   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-97DF CENTRAL HEADER #16    02014B50 (33639248)\n-97E3 Created Zip Spec      14 (20) '2.0'\n-97E4 Created OS            00 (0) 'MS-DOS'\n-97E5 Extract Zip Spec      14 (20) '2.0'\n-97E6 Extract OS            00 (0) 'MS-DOS'\n-97E7 General Purpose Flag  0000 (0)\n-97E9 Compression Method    0000 (0) 'Stored'\n-97EB Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-97EF CRC                   00000000 (0)\n-97F3 Compressed Size       00000000 (0)\n-97F7 Uncompressed Size     00000000 (0)\n-97FB Filename Length       0011 (17)\n-97FD Extra Length          0009 (9)\n-97FF Comment Length        0000 (0)\n-9801 Disk Start            0000 (0)\n-9803 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9805 Ext File Attributes   00000000 (0)\n-9809 Local Header Offset   00005AA6 (23206)\n-980D Filename              'XXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x980D: Filename 'XXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-981E Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9820   Length              0005 (5)\n-9822   Flags               01 (1) 'Modification'\n-9823   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9827 CENTRAL HEADER #17    02014B50 (33639248)\n-982B Created Zip Spec      14 (20) '2.0'\n-982C Created OS            00 (0) 'MS-DOS'\n-982D Extract Zip Spec      14 (20) '2.0'\n-982E Extract OS            00 (0) 'MS-DOS'\n-982F General Purpose Flag  0000 (0)\n-9831 Compression Method    0000 (0) 'Stored'\n-9833 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9837 CRC                   00000000 (0)\n-983B Compressed Size       00000000 (0)\n-983F Uncompressed Size     00000000 (0)\n-9843 Filename Length       0015 (21)\n-9845 Extra Length          0009 (9)\n-9847 Comment Length        0000 (0)\n-9849 Disk Start            0000 (0)\n-984B Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-984D Ext File Attributes   00000000 (0)\n-9851 Local Header Offset   00005ADE (23262)\n-9855 Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+59F9 DATA DESCRIPTOR       08074B50 (134695760)\n+59FD CRC                   03176EE3 (51867363)\n+5A01 Compressed Size       00000988 (2440)\n+5A05 Uncompressed Size     00000988 (2440)\n+\n+5A09 LOCAL HEADER #14      04034B50 (67324752)\n+5A0D Extract Zip Spec      14 (20) '2.0'\n+5A0E Extract OS            00 (0) 'MS-DOS'\n+5A0F General Purpose Flag  0000 (0)\n+5A11 Compression Method    0000 (0) 'Stored'\n+5A13 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+5A17 CRC                   00000000 (0)\n+5A1B Compressed Size       00000000 (0)\n+5A1F Uncompressed Size     00000000 (0)\n+5A23 Filename Length       0004 (4)\n+5A25 Extra Length          0009 (9)\n+5A27 Filename              'XXXX'\n+#\n+# WARNING: Offset 0x5A27: Filename 'XXXX'\n+#          Zero length filename\n+#\n+5A2B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+5A2D   Length              0005 (5)\n+5A2F   Flags               01 (1) 'Modification'\n+5A30   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+5A34 LOCAL HEADER #15      04034B50 (67324752)\n+5A38 Extract Zip Spec      14 (20) '2.0'\n+5A39 Extract OS            00 (0) 'MS-DOS'\n+5A3A General Purpose Flag  0000 (0)\n+5A3C Compression Method    0000 (0) 'Stored'\n+5A3E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+5A42 CRC                   00000000 (0)\n+5A46 Compressed Size       00000000 (0)\n+5A4A Uncompressed Size     00000000 (0)\n+5A4E Filename Length       000B (11)\n+5A50 Extra Length          0009 (9)\n+5A52 Filename              'XXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x5A52: Filename 'XXXXXXXXXXX'\n+#          Zero length filename\n+#\n+5A5D Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+5A5F   Length              0005 (5)\n+5A61   Flags               01 (1) 'Modification'\n+5A62   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+5A66 LOCAL HEADER #16      04034B50 (67324752)\n+5A6A Extract Zip Spec      14 (20) '2.0'\n+5A6B Extract OS            00 (0) 'MS-DOS'\n+5A6C General Purpose Flag  0000 (0)\n+5A6E Compression Method    0000 (0) 'Stored'\n+5A70 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+5A74 CRC                   00000000 (0)\n+5A78 Compressed Size       00000000 (0)\n+5A7C Uncompressed Size     00000000 (0)\n+5A80 Filename Length       0011 (17)\n+5A82 Extra Length          0009 (9)\n+5A84 Filename              'XXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x5A84: Filename 'XXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+5A95 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+5A97   Length              0005 (5)\n+5A99   Flags               01 (1) 'Modification'\n+5A9A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+5A9E LOCAL HEADER #17      04034B50 (67324752)\n+5AA2 Extract Zip Spec      14 (20) '2.0'\n+5AA3 Extract OS            00 (0) 'MS-DOS'\n+5AA4 General Purpose Flag  0000 (0)\n+5AA6 Compression Method    0000 (0) 'Stored'\n+5AA8 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+5AAC CRC                   00000000 (0)\n+5AB0 Compressed Size       00000000 (0)\n+5AB4 Uncompressed Size     00000000 (0)\n+5AB8 Filename Length       0015 (21)\n+5ABA Extra Length          0009 (9)\n+5ABC Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x5ABC: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+5AD1 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+5AD3   Length              0005 (5)\n+5AD5   Flags               01 (1) 'Modification'\n+5AD6   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+5ADA LOCAL HEADER #18      04034B50 (67324752)\n+5ADE Extract Zip Spec      14 (20) '2.0'\n+5ADF Extract OS            00 (0) 'MS-DOS'\n+5AE0 General Purpose Flag  0000 (0)\n+5AE2 Compression Method    0000 (0) 'Stored'\n+5AE4 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+5AE8 CRC                   00000000 (0)\n+5AEC Compressed Size       00000000 (0)\n+5AF0 Uncompressed Size     00000000 (0)\n+5AF4 Filename Length       001E (30)\n+5AF6 Extra Length          0009 (9)\n+5AF8 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x5AF8: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+5B16 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+5B18   Length              0005 (5)\n+5B1A   Flags               01 (1) 'Modification'\n+5B1B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+5B1F LOCAL HEADER #19      04034B50 (67324752)\n+5B23 Extract Zip Spec      14 (20) '2.0'\n+5B24 Extract OS            00 (0) 'MS-DOS'\n+5B25 General Purpose Flag  0000 (0)\n+5B27 Compression Method    0000 (0) 'Stored'\n+5B29 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+5B2D CRC                   00000000 (0)\n+5B31 Compressed Size       00000000 (0)\n+5B35 Uncompressed Size     00000000 (0)\n+5B39 Filename Length       0023 (35)\n+5B3B Extra Length          0009 (9)\n+5B3D Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x5B3D: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+5B60 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+5B62   Length              0005 (5)\n+5B64   Flags               01 (1) 'Modification'\n+5B65   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+5B69 LOCAL HEADER #20      04034B50 (67324752)\n+5B6D Extract Zip Spec      14 (20) '2.0'\n+5B6E Extract OS            00 (0) 'MS-DOS'\n+5B6F General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+5B71 Compression Method    0000 (0) 'Stored'\n+5B73 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+5B77 CRC                   00000000 (0)\n+5B7B Compressed Size       00000000 (0)\n+5B7F Uncompressed Size     00000000 (0)\n+5B83 Filename Length       0034 (52)\n+5B85 Extra Length          0009 (9)\n+5B87 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x5B87: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+5BBB Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+5BBD   Length              0005 (5)\n+5BBF   Flags               01 (1) 'Modification'\n+5BC0   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+5BC4 PAYLOAD\n+\n+7A0A DATA DESCRIPTOR       08074B50 (134695760)\n+7A0E CRC                   928E5A20 (2458802720)\n+7A12 Compressed Size       00001E46 (7750)\n+7A16 Uncompressed Size     00001E46 (7750)\n+\n+7A1A LOCAL HEADER #21      04034B50 (67324752)\n+7A1E Extract Zip Spec      14 (20) '2.0'\n+7A1F Extract OS            00 (0) 'MS-DOS'\n+7A20 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7A22 Compression Method    0000 (0) 'Stored'\n+7A24 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7A28 CRC                   00000000 (0)\n+7A2C Compressed Size       00000000 (0)\n+7A30 Uncompressed Size     00000000 (0)\n+7A34 Filename Length       003D (61)\n+7A36 Extra Length          0009 (9)\n+7A38 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7A38: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7A75 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7A77   Length              0005 (5)\n+7A79   Flags               01 (1) 'Modification'\n+7A7A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+7A7E PAYLOAD\n+\n+7EA7 DATA DESCRIPTOR       08074B50 (134695760)\n+7EAB CRC                   B3BC74DF (3015472351)\n+7EAF Compressed Size       00000429 (1065)\n+7EB3 Uncompressed Size     00000429 (1065)\n+\n+7EB7 LOCAL HEADER #22      04034B50 (67324752)\n+7EBB Extract Zip Spec      14 (20) '2.0'\n+7EBC Extract OS            00 (0) 'MS-DOS'\n+7EBD General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+7EBF Compression Method    0000 (0) 'Stored'\n+7EC1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+7EC5 CRC                   00000000 (0)\n+7EC9 Compressed Size       00000000 (0)\n+7ECD Uncompressed Size     00000000 (0)\n+7ED1 Filename Length       003C (60)\n+7ED3 Extra Length          0009 (9)\n+7ED5 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x7ED5: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+7F11 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+7F13   Length              0005 (5)\n+7F15   Flags               01 (1) 'Modification'\n+7F16   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+7F1A PAYLOAD\n+\n+8842 DATA DESCRIPTOR       08074B50 (134695760)\n+8846 CRC                   F065E593 (4033209747)\n+884A Compressed Size       00000928 (2344)\n+884E Uncompressed Size     00000928 (2344)\n+\n+8852 LOCAL HEADER #23      04034B50 (67324752)\n+8856 Extract Zip Spec      14 (20) '2.0'\n+8857 Extract OS            00 (0) 'MS-DOS'\n+8858 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+885A Compression Method    0000 (0) 'Stored'\n+885C Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+8860 CRC                   00000000 (0)\n+8864 Compressed Size       00000000 (0)\n+8868 Uncompressed Size     00000000 (0)\n+886C Filename Length       003F (63)\n+886E Extra Length          0009 (9)\n+8870 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x8870: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+88AF Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+88B1   Length              0005 (5)\n+88B3   Flags               01 (1) 'Modification'\n+88B4   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+88B8 PAYLOAD\n+\n+941A DATA DESCRIPTOR       08074B50 (134695760)\n+941E CRC                   C56F8EA2 (3312422562)\n+9422 Compressed Size       00000B62 (2914)\n+9426 Uncompressed Size     00000B62 (2914)\n+\n+942A CENTRAL HEADER #1     02014B50 (33639248)\n+942E Created Zip Spec      14 (20) '2.0'\n+942F Created OS            00 (0) 'MS-DOS'\n+9430 Extract Zip Spec      14 (20) '2.0'\n+9431 Extract OS            00 (0) 'MS-DOS'\n+9432 General Purpose Flag  0000 (0)\n+9434 Compression Method    0000 (0) 'Stored'\n+9436 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+943A CRC                   00000000 (0)\n+943E Compressed Size       00000000 (0)\n+9442 Uncompressed Size     00000000 (0)\n+9446 Filename Length       0009 (9)\n+9448 Extra Length          0009 (9)\n+944A Comment Length        0000 (0)\n+944C Disk Start            0000 (0)\n+944E Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9450 Ext File Attributes   00000000 (0)\n+9454 Local Header Offset   00000000 (0)\n+9458 Filename              'XXXXXXXXX'\n+#\n+# WARNING: Offset 0x9458: Filename 'XXXXXXXXX'\n+#          Zero length filename\n+#\n+9461 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9463   Length              0005 (5)\n+9465   Flags               01 (1) 'Modification'\n+9466   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+946A CENTRAL HEADER #2     02014B50 (33639248)\n+946E Created Zip Spec      14 (20) '2.0'\n+946F Created OS            00 (0) 'MS-DOS'\n+9470 Extract Zip Spec      14 (20) '2.0'\n+9471 Extract OS            00 (0) 'MS-DOS'\n+9472 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9474 Compression Method    0000 (0) 'Stored'\n+9476 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+947A CRC                   41BD8F94 (1102942100)\n+947E Compressed Size       00001F42 (8002)\n+9482 Uncompressed Size     00001F42 (8002)\n+9486 Filename Length       0015 (21)\n+9488 Extra Length          0009 (9)\n+948A Comment Length        0000 (0)\n+948C Disk Start            0000 (0)\n+948E Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9490 Ext File Attributes   00000000 (0)\n+9494 Local Header Offset   00000030 (48)\n+9498 Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9498: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+94AD Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+94AF   Length              0005 (5)\n+94B1   Flags               01 (1) 'Modification'\n+94B2   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+94B6 CENTRAL HEADER #3     02014B50 (33639248)\n+94BA Created Zip Spec      14 (20) '2.0'\n+94BB Created OS            00 (0) 'MS-DOS'\n+94BC Extract Zip Spec      14 (20) '2.0'\n+94BD Extract OS            00 (0) 'MS-DOS'\n+94BE General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+94C0 Compression Method    0000 (0) 'Stored'\n+94C2 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+94C6 CRC                   86E2B4B4 (2263004340)\n+94CA Compressed Size       00002C5E (11358)\n+94CE Uncompressed Size     00002C5E (11358)\n+94D2 Filename Length       0010 (16)\n+94D4 Extra Length          0009 (9)\n+94D6 Comment Length        0000 (0)\n+94D8 Disk Start            0000 (0)\n+94DA Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+94DC Ext File Attributes   00000000 (0)\n+94E0 Local Header Offset   00001FBE (8126)\n+94E4 Filename              'XXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x94E4: Filename 'XXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+94F4 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+94F6   Length              0005 (5)\n+94F8   Flags               01 (1) 'Modification'\n+94F9   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+94FD CENTRAL HEADER #4     02014B50 (33639248)\n+9501 Created Zip Spec      14 (20) '2.0'\n+9502 Created OS            00 (0) 'MS-DOS'\n+9503 Extract Zip Spec      14 (20) '2.0'\n+9504 Extract OS            00 (0) 'MS-DOS'\n+9505 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9507 Compression Method    0000 (0) 'Stored'\n+9509 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+950D CRC                   EE027FB2 (3993141170)\n+9511 Compressed Size       00000019 (25)\n+9515 Uncompressed Size     00000019 (25)\n+9519 Filename Length       0014 (20)\n+951B Extra Length          0009 (9)\n+951D Comment Length        0000 (0)\n+951F Disk Start            0000 (0)\n+9521 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9523 Ext File Attributes   00000000 (0)\n+9527 Local Header Offset   00004C63 (19555)\n+952B Filename              'XXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x952B: Filename 'XXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+953F Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9541   Length              0005 (5)\n+9543   Flags               01 (1) 'Modification'\n+9544   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9548 CENTRAL HEADER #5     02014B50 (33639248)\n+954C Created Zip Spec      14 (20) '2.0'\n+954D Created OS            00 (0) 'MS-DOS'\n+954E Extract Zip Spec      14 (20) '2.0'\n+954F Extract OS            00 (0) 'MS-DOS'\n+9550 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9552 Compression Method    0000 (0) 'Stored'\n+9554 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9558 CRC                   A2601E03 (2724208131)\n+955C Compressed Size       000000AB (171)\n+9560 Uncompressed Size     000000AB (171)\n+9564 Filename Length       000F (15)\n+9566 Extra Length          0009 (9)\n+9568 Comment Length        0000 (0)\n+956A Disk Start            0000 (0)\n+956C Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+956E Ext File Attributes   00000000 (0)\n+9572 Local Header Offset   00004CC7 (19655)\n+9576 Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9576: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9585 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9587   Length              0005 (5)\n+9589   Flags               01 (1) 'Modification'\n+958A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+958E CENTRAL HEADER #6     02014B50 (33639248)\n+9592 Created Zip Spec      14 (20) '2.0'\n+9593 Created OS            00 (0) 'MS-DOS'\n+9594 Extract Zip Spec      14 (20) '2.0'\n+9595 Extract OS            00 (0) 'MS-DOS'\n+9596 General Purpose Flag  0000 (0)\n+9598 Compression Method    0000 (0) 'Stored'\n+959A Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+959E CRC                   00000000 (0)\n+95A2 Compressed Size       00000000 (0)\n+95A6 Uncompressed Size     00000000 (0)\n+95AA Filename Length       000F (15)\n+95AC Extra Length          0009 (9)\n+95AE Comment Length        0000 (0)\n+95B0 Disk Start            0000 (0)\n+95B2 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+95B4 Ext File Attributes   00000000 (0)\n+95B8 Local Header Offset   00004DB8 (19896)\n+95BC Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x95BC: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+95CB Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+95CD   Length              0005 (5)\n+95CF   Flags               01 (1) 'Modification'\n+95D0   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+95D4 CENTRAL HEADER #7     02014B50 (33639248)\n+95D8 Created Zip Spec      14 (20) '2.0'\n+95D9 Created OS            00 (0) 'MS-DOS'\n+95DA Extract Zip Spec      14 (20) '2.0'\n+95DB Extract OS            00 (0) 'MS-DOS'\n+95DC General Purpose Flag  0000 (0)\n+95DE Compression Method    0000 (0) 'Stored'\n+95E0 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+95E4 CRC                   00000000 (0)\n+95E8 Compressed Size       00000000 (0)\n+95EC Uncompressed Size     00000000 (0)\n+95F0 Filename Length       0018 (24)\n+95F2 Extra Length          0009 (9)\n+95F4 Comment Length        0000 (0)\n+95F6 Disk Start            0000 (0)\n+95F8 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+95FA Ext File Attributes   00000000 (0)\n+95FE Local Header Offset   00004DEE (19950)\n+9602 Filename              'XXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9602: Filename 'XXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+961A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+961C   Length              0005 (5)\n+961E   Flags               01 (1) 'Modification'\n+961F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9623 CENTRAL HEADER #8     02014B50 (33639248)\n+9627 Created Zip Spec      14 (20) '2.0'\n+9628 Created OS            00 (0) 'MS-DOS'\n+9629 Extract Zip Spec      14 (20) '2.0'\n+962A Extract OS            00 (0) 'MS-DOS'\n+962B General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+962D Compression Method    0000 (0) 'Stored'\n+962F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9633 CRC                   18982A2D (412625453)\n+9637 Compressed Size       00000034 (52)\n+963B Uncompressed Size     00000034 (52)\n+963F Filename Length       0035 (53)\n+9641 Extra Length          0009 (9)\n+9643 Comment Length        0000 (0)\n+9645 Disk Start            0000 (0)\n+9647 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9649 Ext File Attributes   00000000 (0)\n+964D Local Header Offset   00004E2D (20013)\n+9651 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9651: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9686 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9688   Length              0005 (5)\n+968A   Flags               01 (1) 'Modification'\n+968B   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+968F CENTRAL HEADER #9     02014B50 (33639248)\n+9693 Created Zip Spec      14 (20) '2.0'\n+9694 Created OS            00 (0) 'MS-DOS'\n+9695 Extract Zip Spec      14 (20) '2.0'\n+9696 Extract OS            00 (0) 'MS-DOS'\n+9697 General Purpose Flag  0000 (0)\n+9699 Compression Method    0000 (0) 'Stored'\n+969B Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+969F CRC                   00000000 (0)\n+96A3 Compressed Size       00000000 (0)\n+96A7 Uncompressed Size     00000000 (0)\n+96AB Filename Length       000F (15)\n+96AD Extra Length          0009 (9)\n+96AF Comment Length        0000 (0)\n+96B1 Disk Start            0000 (0)\n+96B3 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+96B5 Ext File Attributes   00000000 (0)\n+96B9 Local Header Offset   00004ECD (20173)\n+96BD Filename              'XXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x96BD: Filename 'XXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+96CC Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+96CE   Length              0005 (5)\n+96D0   Flags               01 (1) 'Modification'\n+96D1   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+96D5 CENTRAL HEADER #10    02014B50 (33639248)\n+96D9 Created Zip Spec      14 (20) '2.0'\n+96DA Created OS            00 (0) 'MS-DOS'\n+96DB Extract Zip Spec      14 (20) '2.0'\n+96DC Extract OS            00 (0) 'MS-DOS'\n+96DD General Purpose Flag  0000 (0)\n+96DF Compression Method    0000 (0) 'Stored'\n+96E1 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+96E5 CRC                   00000000 (0)\n+96E9 Compressed Size       00000000 (0)\n+96ED Uncompressed Size     00000000 (0)\n+96F1 Filename Length       0020 (32)\n+96F3 Extra Length          0009 (9)\n+96F5 Comment Length        0000 (0)\n+96F7 Disk Start            0000 (0)\n+96F9 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+96FB Ext File Attributes   00000000 (0)\n+96FF Local Header Offset   00004F03 (20227)\n+9703 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9703: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9723 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9725   Length              0005 (5)\n+9727   Flags               01 (1) 'Modification'\n+9728   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+972C CENTRAL HEADER #11    02014B50 (33639248)\n+9730 Created Zip Spec      14 (20) '2.0'\n+9731 Created OS            00 (0) 'MS-DOS'\n+9732 Extract Zip Spec      14 (20) '2.0'\n+9733 Extract OS            00 (0) 'MS-DOS'\n+9734 General Purpose Flag  0000 (0)\n+9736 Compression Method    0000 (0) 'Stored'\n+9738 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+973C CRC                   00000000 (0)\n+9740 Compressed Size       00000000 (0)\n+9744 Uncompressed Size     00000000 (0)\n+9748 Filename Length       002F (47)\n+974A Extra Length          0009 (9)\n+974C Comment Length        0000 (0)\n+974E Disk Start            0000 (0)\n+9750 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9752 Ext File Attributes   00000000 (0)\n+9756 Local Header Offset   00004F4A (20298)\n+975A Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x975A: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9789 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+978B   Length              0005 (5)\n+978D   Flags               01 (1) 'Modification'\n+978E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9792 CENTRAL HEADER #12    02014B50 (33639248)\n+9796 Created Zip Spec      14 (20) '2.0'\n+9797 Created OS            00 (0) 'MS-DOS'\n+9798 Extract Zip Spec      14 (20) '2.0'\n+9799 Extract OS            00 (0) 'MS-DOS'\n+979A General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+979C Compression Method    0000 (0) 'Stored'\n+979E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+97A2 CRC                   00000000 (0)\n+97A6 Compressed Size       00000000 (0)\n+97AA Uncompressed Size     00000000 (0)\n+97AE Filename Length       003D (61)\n+97B0 Extra Length          0009 (9)\n+97B2 Comment Length        0000 (0)\n+97B4 Disk Start            0000 (0)\n+97B6 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+97B8 Ext File Attributes   00000000 (0)\n+97BC Local Header Offset   00004FA0 (20384)\n+97C0 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x97C0: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+97FD Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+97FF   Length              0005 (5)\n+9801   Flags               01 (1) 'Modification'\n+9802   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9806 CENTRAL HEADER #13    02014B50 (33639248)\n+980A Created Zip Spec      14 (20) '2.0'\n+980B Created OS            00 (0) 'MS-DOS'\n+980C Extract Zip Spec      14 (20) '2.0'\n+980D Extract OS            00 (0) 'MS-DOS'\n+980E General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9810 Compression Method    0000 (0) 'Stored'\n+9812 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9816 CRC                   03176EE3 (51867363)\n+981A Compressed Size       00000988 (2440)\n+981E Uncompressed Size     00000988 (2440)\n+9822 Filename Length       0036 (54)\n+9824 Extra Length          0009 (9)\n+9826 Comment Length        0000 (0)\n+9828 Disk Start            0000 (0)\n+982A Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+982C Ext File Attributes   00000000 (0)\n+9830 Local Header Offset   00005014 (20500)\n+9834 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #\n-# WARNING: Offset 0x9855: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x9834: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n #          Zero length filename\n #\n 986A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n 986C   Length              0005 (5)\n 986E   Flags               01 (1) 'Modification'\n 986F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n \n-9873 CENTRAL HEADER #18    02014B50 (33639248)\n+9873 CENTRAL HEADER #14    02014B50 (33639248)\n 9877 Created Zip Spec      14 (20) '2.0'\n 9878 Created OS            00 (0) 'MS-DOS'\n 9879 Extract Zip Spec      14 (20) '2.0'\n 987A Extract OS            00 (0) 'MS-DOS'\n 987B General Purpose Flag  0000 (0)\n 987D Compression Method    0000 (0) 'Stored'\n 987F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n 9883 CRC                   00000000 (0)\n 9887 Compressed Size       00000000 (0)\n 988B Uncompressed Size     00000000 (0)\n-988F Filename Length       001E (30)\n+988F Filename Length       0004 (4)\n 9891 Extra Length          0009 (9)\n 9893 Comment Length        0000 (0)\n 9895 Disk Start            0000 (0)\n 9897 Int File Attributes   0000 (0)\n      [Bit 0]               0 'Binary Data'\n 9899 Ext File Attributes   00000000 (0)\n-989D Local Header Offset   00005B1A (23322)\n-98A1 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+989D Local Header Offset   00005A09 (23049)\n+98A1 Filename              'XXXX'\n #\n-# WARNING: Offset 0x98A1: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+# WARNING: Offset 0x98A1: Filename 'XXXX'\n #          Zero length filename\n #\n-98BF Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-98C1   Length              0005 (5)\n-98C3   Flags               01 (1) 'Modification'\n-98C4   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-98C8 CENTRAL HEADER #19    02014B50 (33639248)\n-98CC Created Zip Spec      14 (20) '2.0'\n-98CD Created OS            00 (0) 'MS-DOS'\n-98CE Extract Zip Spec      14 (20) '2.0'\n-98CF Extract OS            00 (0) 'MS-DOS'\n-98D0 General Purpose Flag  0000 (0)\n-98D2 Compression Method    0000 (0) 'Stored'\n-98D4 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-98D8 CRC                   00000000 (0)\n-98DC Compressed Size       00000000 (0)\n-98E0 Uncompressed Size     00000000 (0)\n-98E4 Filename Length       0023 (35)\n-98E6 Extra Length          0009 (9)\n-98E8 Comment Length        0000 (0)\n-98EA Disk Start            0000 (0)\n-98EC Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-98EE Ext File Attributes   00000000 (0)\n-98F2 Local Header Offset   00005B5F (23391)\n-98F6 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x98F6: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9919 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-991B   Length              0005 (5)\n-991D   Flags               01 (1) 'Modification'\n-991E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9922 CENTRAL HEADER #20    02014B50 (33639248)\n-9926 Created Zip Spec      14 (20) '2.0'\n-9927 Created OS            00 (0) 'MS-DOS'\n-9928 Extract Zip Spec      14 (20) '2.0'\n-9929 Extract OS            00 (0) 'MS-DOS'\n-992A General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-992C Compression Method    0000 (0) 'Stored'\n-992E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9932 CRC                   67E99252 (1743360594)\n-9936 Compressed Size       00001D88 (7560)\n-993A Uncompressed Size     00001D88 (7560)\n-993E Filename Length       0034 (52)\n-9940 Extra Length          0009 (9)\n-9942 Comment Length        0000 (0)\n-9944 Disk Start            0000 (0)\n-9946 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9948 Ext File Attributes   00000000 (0)\n-994C Local Header Offset   00005BA9 (23465)\n-9950 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9950: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9984 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9986   Length              0005 (5)\n-9988   Flags               01 (1) 'Modification'\n-9989   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-998D CENTRAL HEADER #21    02014B50 (33639248)\n-9991 Created Zip Spec      14 (20) '2.0'\n-9992 Created OS            00 (0) 'MS-DOS'\n-9993 Extract Zip Spec      14 (20) '2.0'\n-9994 Extract OS            00 (0) 'MS-DOS'\n-9995 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-9997 Compression Method    0000 (0) 'Stored'\n-9999 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-999D CRC                   B3BC74DF (3015472351)\n-99A1 Compressed Size       00000429 (1065)\n-99A5 Uncompressed Size     00000429 (1065)\n-99A9 Filename Length       003D (61)\n-99AB Extra Length          0009 (9)\n-99AD Comment Length        0000 (0)\n-99AF Disk Start            0000 (0)\n-99B1 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-99B3 Ext File Attributes   00000000 (0)\n-99B7 Local Header Offset   0000799C (31132)\n-99BB Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x99BB: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-99F8 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-99FA   Length              0005 (5)\n-99FC   Flags               01 (1) 'Modification'\n-99FD   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9A01 CENTRAL HEADER #22    02014B50 (33639248)\n-9A05 Created Zip Spec      14 (20) '2.0'\n-9A06 Created OS            00 (0) 'MS-DOS'\n-9A07 Extract Zip Spec      14 (20) '2.0'\n-9A08 Extract OS            00 (0) 'MS-DOS'\n-9A09 General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-9A0B Compression Method    0000 (0) 'Stored'\n-9A0D Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9A11 CRC                   29478F2B (692555563)\n-9A15 Compressed Size       000008EB (2283)\n-9A19 Uncompressed Size     000008EB (2283)\n-9A1D Filename Length       003C (60)\n-9A1F Extra Length          0009 (9)\n-9A21 Comment Length        0000 (0)\n-9A23 Disk Start            0000 (0)\n-9A25 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9A27 Ext File Attributes   00000000 (0)\n-9A2B Local Header Offset   00007E39 (32313)\n-9A2F Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9A2F: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9A6B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9A6D   Length              0005 (5)\n-9A6F   Flags               01 (1) 'Modification'\n-9A70   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9A74 CENTRAL HEADER #23    02014B50 (33639248)\n-9A78 Created Zip Spec      14 (20) '2.0'\n-9A79 Created OS            00 (0) 'MS-DOS'\n-9A7A Extract Zip Spec      14 (20) '2.0'\n-9A7B Extract OS            00 (0) 'MS-DOS'\n-9A7C General Purpose Flag  0008 (8)\n-     [Bit  3]              1 'Streamed'\n-9A7E Compression Method    0000 (0) 'Stored'\n-9A80 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n-9A84 CRC                   DBBDBD3B (3686645051)\n-9A88 Compressed Size       00000B0C (2828)\n-9A8C Uncompressed Size     00000B0C (2828)\n-9A90 Filename Length       003F (63)\n-9A92 Extra Length          0009 (9)\n-9A94 Comment Length        0000 (0)\n-9A96 Disk Start            0000 (0)\n-9A98 Int File Attributes   0000 (0)\n-     [Bit 0]               0 'Binary Data'\n-9A9A Ext File Attributes   00000000 (0)\n-9A9E Local Header Offset   00008797 (34711)\n-9AA2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#\n-# WARNING: Offset 0x9AA2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n-#          Zero length filename\n-#\n-9AE1 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n-9AE3   Length              0005 (5)\n-9AE5   Flags               01 (1) 'Modification'\n-9AE6   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n-\n-9AEA END CENTRAL HEADER    06054B50 (101010256)\n-9AEE Number of this disk   0000 (0)\n-9AF0 Central Dir Disk no   0000 (0)\n-9AF2 Entries in this disk  0017 (23)\n-9AF4 Total Entries         0017 (23)\n-9AF6 Size of Central Dir   000007D1 (2001)\n-9AFA Offset to Central Dir 00009319 (37657)\n-9AFE Comment Length        0000 (0)\n+98A5 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+98A7   Length              0005 (5)\n+98A9   Flags               01 (1) 'Modification'\n+98AA   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+98AE CENTRAL HEADER #15    02014B50 (33639248)\n+98B2 Created Zip Spec      14 (20) '2.0'\n+98B3 Created OS            00 (0) 'MS-DOS'\n+98B4 Extract Zip Spec      14 (20) '2.0'\n+98B5 Extract OS            00 (0) 'MS-DOS'\n+98B6 General Purpose Flag  0000 (0)\n+98B8 Compression Method    0000 (0) 'Stored'\n+98BA Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+98BE CRC                   00000000 (0)\n+98C2 Compressed Size       00000000 (0)\n+98C6 Uncompressed Size     00000000 (0)\n+98CA Filename Length       000B (11)\n+98CC Extra Length          0009 (9)\n+98CE Comment Length        0000 (0)\n+98D0 Disk Start            0000 (0)\n+98D2 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+98D4 Ext File Attributes   00000000 (0)\n+98D8 Local Header Offset   00005A34 (23092)\n+98DC Filename              'XXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x98DC: Filename 'XXXXXXXXXXX'\n+#          Zero length filename\n+#\n+98E7 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+98E9   Length              0005 (5)\n+98EB   Flags               01 (1) 'Modification'\n+98EC   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+98F0 CENTRAL HEADER #16    02014B50 (33639248)\n+98F4 Created Zip Spec      14 (20) '2.0'\n+98F5 Created OS            00 (0) 'MS-DOS'\n+98F6 Extract Zip Spec      14 (20) '2.0'\n+98F7 Extract OS            00 (0) 'MS-DOS'\n+98F8 General Purpose Flag  0000 (0)\n+98FA Compression Method    0000 (0) 'Stored'\n+98FC Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9900 CRC                   00000000 (0)\n+9904 Compressed Size       00000000 (0)\n+9908 Uncompressed Size     00000000 (0)\n+990C Filename Length       0011 (17)\n+990E Extra Length          0009 (9)\n+9910 Comment Length        0000 (0)\n+9912 Disk Start            0000 (0)\n+9914 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9916 Ext File Attributes   00000000 (0)\n+991A Local Header Offset   00005A66 (23142)\n+991E Filename              'XXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x991E: Filename 'XXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+992F Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9931   Length              0005 (5)\n+9933   Flags               01 (1) 'Modification'\n+9934   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9938 CENTRAL HEADER #17    02014B50 (33639248)\n+993C Created Zip Spec      14 (20) '2.0'\n+993D Created OS            00 (0) 'MS-DOS'\n+993E Extract Zip Spec      14 (20) '2.0'\n+993F Extract OS            00 (0) 'MS-DOS'\n+9940 General Purpose Flag  0000 (0)\n+9942 Compression Method    0000 (0) 'Stored'\n+9944 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9948 CRC                   00000000 (0)\n+994C Compressed Size       00000000 (0)\n+9950 Uncompressed Size     00000000 (0)\n+9954 Filename Length       0015 (21)\n+9956 Extra Length          0009 (9)\n+9958 Comment Length        0000 (0)\n+995A Disk Start            0000 (0)\n+995C Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+995E Ext File Attributes   00000000 (0)\n+9962 Local Header Offset   00005A9E (23198)\n+9966 Filename              'XXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9966: Filename 'XXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+997B Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+997D   Length              0005 (5)\n+997F   Flags               01 (1) 'Modification'\n+9980   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9984 CENTRAL HEADER #18    02014B50 (33639248)\n+9988 Created Zip Spec      14 (20) '2.0'\n+9989 Created OS            00 (0) 'MS-DOS'\n+998A Extract Zip Spec      14 (20) '2.0'\n+998B Extract OS            00 (0) 'MS-DOS'\n+998C General Purpose Flag  0000 (0)\n+998E Compression Method    0000 (0) 'Stored'\n+9990 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9994 CRC                   00000000 (0)\n+9998 Compressed Size       00000000 (0)\n+999C Uncompressed Size     00000000 (0)\n+99A0 Filename Length       001E (30)\n+99A2 Extra Length          0009 (9)\n+99A4 Comment Length        0000 (0)\n+99A6 Disk Start            0000 (0)\n+99A8 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+99AA Ext File Attributes   00000000 (0)\n+99AE Local Header Offset   00005ADA (23258)\n+99B2 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x99B2: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+99D0 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+99D2   Length              0005 (5)\n+99D4   Flags               01 (1) 'Modification'\n+99D5   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+99D9 CENTRAL HEADER #19    02014B50 (33639248)\n+99DD Created Zip Spec      14 (20) '2.0'\n+99DE Created OS            00 (0) 'MS-DOS'\n+99DF Extract Zip Spec      14 (20) '2.0'\n+99E0 Extract OS            00 (0) 'MS-DOS'\n+99E1 General Purpose Flag  0000 (0)\n+99E3 Compression Method    0000 (0) 'Stored'\n+99E5 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+99E9 CRC                   00000000 (0)\n+99ED Compressed Size       00000000 (0)\n+99F1 Uncompressed Size     00000000 (0)\n+99F5 Filename Length       0023 (35)\n+99F7 Extra Length          0009 (9)\n+99F9 Comment Length        0000 (0)\n+99FB Disk Start            0000 (0)\n+99FD Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+99FF Ext File Attributes   00000000 (0)\n+9A03 Local Header Offset   00005B1F (23327)\n+9A07 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9A07: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9A2A Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9A2C   Length              0005 (5)\n+9A2E   Flags               01 (1) 'Modification'\n+9A2F   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9A33 CENTRAL HEADER #20    02014B50 (33639248)\n+9A37 Created Zip Spec      14 (20) '2.0'\n+9A38 Created OS            00 (0) 'MS-DOS'\n+9A39 Extract Zip Spec      14 (20) '2.0'\n+9A3A Extract OS            00 (0) 'MS-DOS'\n+9A3B General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9A3D Compression Method    0000 (0) 'Stored'\n+9A3F Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9A43 CRC                   928E5A20 (2458802720)\n+9A47 Compressed Size       00001E46 (7750)\n+9A4B Uncompressed Size     00001E46 (7750)\n+9A4F Filename Length       0034 (52)\n+9A51 Extra Length          0009 (9)\n+9A53 Comment Length        0000 (0)\n+9A55 Disk Start            0000 (0)\n+9A57 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9A59 Ext File Attributes   00000000 (0)\n+9A5D Local Header Offset   00005B69 (23401)\n+9A61 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9A61: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9A95 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9A97   Length              0005 (5)\n+9A99   Flags               01 (1) 'Modification'\n+9A9A   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9A9E CENTRAL HEADER #21    02014B50 (33639248)\n+9AA2 Created Zip Spec      14 (20) '2.0'\n+9AA3 Created OS            00 (0) 'MS-DOS'\n+9AA4 Extract Zip Spec      14 (20) '2.0'\n+9AA5 Extract OS            00 (0) 'MS-DOS'\n+9AA6 General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9AA8 Compression Method    0000 (0) 'Stored'\n+9AAA Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9AAE CRC                   B3BC74DF (3015472351)\n+9AB2 Compressed Size       00000429 (1065)\n+9AB6 Uncompressed Size     00000429 (1065)\n+9ABA Filename Length       003D (61)\n+9ABC Extra Length          0009 (9)\n+9ABE Comment Length        0000 (0)\n+9AC0 Disk Start            0000 (0)\n+9AC2 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9AC4 Ext File Attributes   00000000 (0)\n+9AC8 Local Header Offset   00007A1A (31258)\n+9ACC Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9ACC: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9B09 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9B0B   Length              0005 (5)\n+9B0D   Flags               01 (1) 'Modification'\n+9B0E   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9B12 CENTRAL HEADER #22    02014B50 (33639248)\n+9B16 Created Zip Spec      14 (20) '2.0'\n+9B17 Created OS            00 (0) 'MS-DOS'\n+9B18 Extract Zip Spec      14 (20) '2.0'\n+9B19 Extract OS            00 (0) 'MS-DOS'\n+9B1A General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9B1C Compression Method    0000 (0) 'Stored'\n+9B1E Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9B22 CRC                   F065E593 (4033209747)\n+9B26 Compressed Size       00000928 (2344)\n+9B2A Uncompressed Size     00000928 (2344)\n+9B2E Filename Length       003C (60)\n+9B30 Extra Length          0009 (9)\n+9B32 Comment Length        0000 (0)\n+9B34 Disk Start            0000 (0)\n+9B36 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9B38 Ext File Attributes   00000000 (0)\n+9B3C Local Header Offset   00007EB7 (32439)\n+9B40 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9B40: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9B7C Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9B7E   Length              0005 (5)\n+9B80   Flags               01 (1) 'Modification'\n+9B81   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9B85 CENTRAL HEADER #23    02014B50 (33639248)\n+9B89 Created Zip Spec      14 (20) '2.0'\n+9B8A Created OS            00 (0) 'MS-DOS'\n+9B8B Extract Zip Spec      14 (20) '2.0'\n+9B8C Extract OS            00 (0) 'MS-DOS'\n+9B8D General Purpose Flag  0008 (8)\n+     [Bit  3]              1 'Streamed'\n+9B8F Compression Method    0000 (0) 'Stored'\n+9B91 Modification Time     EC210000 (3961585664) 'Wed Jan  1 00:00:00 2098'\n+9B95 CRC                   C56F8EA2 (3312422562)\n+9B99 Compressed Size       00000B62 (2914)\n+9B9D Uncompressed Size     00000B62 (2914)\n+9BA1 Filename Length       003F (63)\n+9BA3 Extra Length          0009 (9)\n+9BA5 Comment Length        0000 (0)\n+9BA7 Disk Start            0000 (0)\n+9BA9 Int File Attributes   0000 (0)\n+     [Bit 0]               0 'Binary Data'\n+9BAB Ext File Attributes   00000000 (0)\n+9BAF Local Header Offset   00008852 (34898)\n+9BB3 Filename              'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#\n+# WARNING: Offset 0x9BB3: Filename 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'\n+#          Zero length filename\n+#\n+9BF2 Extra ID #1           5455 (21589) 'Extended Timestamp [UT]'\n+9BF4   Length              0005 (5)\n+9BF6   Flags               01 (1) 'Modification'\n+9BF7   Modification Time   00000000 (0) 'Thu Jan  1 00:00:00 1970'\n+\n+9BFB END CENTRAL HEADER    06054B50 (101010256)\n+9BFF Number of this disk   0000 (0)\n+9C01 Central Dir Disk no   0000 (0)\n+9C03 Entries in this disk  0017 (23)\n+9C05 Total Entries         0017 (23)\n+9C07 Size of Central Dir   000007D1 (2001)\n+9C0B Offset to Central Dir 0000942A (37930)\n+9C0F Comment Length        0000 (0)\n #\n # Warning Count: 46\n #\n # Done\n"}, {"source1": "META-INF/maven/org.apache.dubbo/dubbo-rpc-http/pom.xml", "source2": "META-INF/maven/org.apache.dubbo/dubbo-rpc-http/pom.xml", "comments": ["Format-specific differences are supported for XML files but no file-specific differences were detected; falling back to a binary diff. file(1) reports: XML 1.0 document, ASCII text, with CRLF line terminators"], "has_internal_linenos": true, "unified_diff": "@@ -1,157 +1,153 @@\n 00000000: 3c3f 786d 6c20 7665 7273 696f 6e3d 2231  <?xml version=\"1\n 00000010: 2e30 2220 656e 636f 6469 6e67 3d22 5554  .0\" encoding=\"UT\n-00000020: 462d 3822 3f3e 0d0a 3c21 2d2d 0d0a 2020  F-8\"?>..<!--..  \n-00000030: 4c69 6365 6e73 6564 2074 6f20 7468 6520  Licensed to the \n-00000040: 4170 6163 6865 2053 6f66 7477 6172 6520  Apache Software \n-00000050: 466f 756e 6461 7469 6f6e 2028 4153 4629  Foundation (ASF)\n-00000060: 2075 6e64 6572 206f 6e65 206f 7220 6d6f   under one or mo\n-00000070: 7265 0d0a 2020 636f 6e74 7269 6275 746f  re..  contributo\n-00000080: 7220 6c69 6365 6e73 6520 6167 7265 656d  r license agreem\n-00000090: 656e 7473 2e20 2053 6565 2074 6865 204e  ents.  See the N\n-000000a0: 4f54 4943 4520 6669 6c65 2064 6973 7472  OTICE file distr\n-000000b0: 6962 7574 6564 2077 6974 680d 0a20 2074  ibuted with..  t\n-000000c0: 6869 7320 776f 726b 2066 6f72 2061 6464  his work for add\n-000000d0: 6974 696f 6e61 6c20 696e 666f 726d 6174  itional informat\n-000000e0: 696f 6e20 7265 6761 7264 696e 6720 636f  ion regarding co\n-000000f0: 7079 7269 6768 7420 6f77 6e65 7273 6869  pyright ownershi\n-00000100: 702e 0d0a 2020 5468 6520 4153 4620 6c69  p...  The ASF li\n-00000110: 6365 6e73 6573 2074 6869 7320 6669 6c65  censes this file\n-00000120: 2074 6f20 596f 7520 756e 6465 7220 7468   to You under th\n-00000130: 6520 4170 6163 6865 204c 6963 656e 7365  e Apache License\n-00000140: 2c20 5665 7273 696f 6e20 322e 300d 0a20  , Version 2.0.. \n-00000150: 2028 7468 6520 224c 6963 656e 7365 2229   (the \"License\")\n-00000160: 3b20 796f 7520 6d61 7920 6e6f 7420 7573  ; you may not us\n-00000170: 6520 7468 6973 2066 696c 6520 6578 6365  e this file exce\n-00000180: 7074 2069 6e20 636f 6d70 6c69 616e 6365  pt in compliance\n-00000190: 2077 6974 680d 0a20 2074 6865 204c 6963   with..  the Lic\n-000001a0: 656e 7365 2e20 2059 6f75 206d 6179 206f  ense.  You may o\n-000001b0: 6274 6169 6e20 6120 636f 7079 206f 6620  btain a copy of \n-000001c0: 7468 6520 4c69 6365 6e73 6520 6174 0d0a  the License at..\n-000001d0: 0d0a 2020 2020 2020 6874 7470 3a2f 2f77  ..      http://w\n-000001e0: 7777 2e61 7061 6368 652e 6f72 672f 6c69  ww.apache.org/li\n-000001f0: 6365 6e73 6573 2f4c 4943 454e 5345 2d32  censes/LICENSE-2\n-00000200: 2e30 0d0a 0d0a 2020 556e 6c65 7373 2072  .0....  Unless r\n-00000210: 6571 7569 7265 6420 6279 2061 7070 6c69  equired by appli\n-00000220: 6361 626c 6520 6c61 7720 6f72 2061 6772  cable law or agr\n-00000230: 6565 6420 746f 2069 6e20 7772 6974 696e  eed to in writin\n-00000240: 672c 2073 6f66 7477 6172 650d 0a20 2064  g, software..  d\n-00000250: 6973 7472 6962 7574 6564 2075 6e64 6572  istributed under\n-00000260: 2074 6865 204c 6963 656e 7365 2069 7320   the License is \n-00000270: 6469 7374 7269 6275 7465 6420 6f6e 2061  distributed on a\n-00000280: 6e20 2241 5320 4953 2220 4241 5349 532c  n \"AS IS\" BASIS,\n-00000290: 0d0a 2020 5749 5448 4f55 5420 5741 5252  ..  WITHOUT WARR\n-000002a0: 414e 5449 4553 204f 5220 434f 4e44 4954  ANTIES OR CONDIT\n-000002b0: 494f 4e53 204f 4620 414e 5920 4b49 4e44  IONS OF ANY KIND\n-000002c0: 2c20 6569 7468 6572 2065 7870 7265 7373  , either express\n-000002d0: 206f 7220 696d 706c 6965 642e 0d0a 2020   or implied...  \n-000002e0: 5365 6520 7468 6520 4c69 6365 6e73 6520  See the License \n-000002f0: 666f 7220 7468 6520 7370 6563 6966 6963  for the specific\n-00000300: 206c 616e 6775 6167 6520 676f 7665 726e   language govern\n-00000310: 696e 6720 7065 726d 6973 7369 6f6e 7320  ing permissions \n-00000320: 616e 640d 0a20 206c 696d 6974 6174 696f  and..  limitatio\n-00000330: 6e73 2075 6e64 6572 2074 6865 204c 6963  ns under the Lic\n-00000340: 656e 7365 2e0d 0a20 202d 2d3e 0d0a 3c70  ense...  -->..<p\n-00000350: 726f 6a65 6374 2078 7369 3a73 6368 656d  roject xsi:schem\n-00000360: 614c 6f63 6174 696f 6e3d 2268 7474 703a  aLocation=\"http:\n-00000370: 2f2f 6d61 7665 6e2e 6170 6163 6865 2e6f  //maven.apache.o\n-00000380: 7267 2f50 4f4d 2f34 2e30 2e30 2068 7474  rg/POM/4.0.0 htt\n-00000390: 7073 3a2f 2f6d 6176 656e 2e61 7061 6368  ps://maven.apach\n-000003a0: 652e 6f72 672f 7873 642f 6d61 7665 6e2d  e.org/xsd/maven-\n-000003b0: 342e 302e 302e 7873 6422 2078 6d6c 6e73  4.0.0.xsd\" xmlns\n-000003c0: 3d22 6874 7470 3a2f 2f6d 6176 656e 2e61  =\"http://maven.a\n-000003d0: 7061 6368 652e 6f72 672f 504f 4d2f 342e  pache.org/POM/4.\n-000003e0: 302e 3022 0d0a 2020 2020 786d 6c6e 733a  0.0\"..    xmlns:\n-000003f0: 7873 693d 2268 7474 703a 2f2f 7777 772e  xsi=\"http://www.\n-00000400: 7733 2e6f 7267 2f32 3030 312f 584d 4c53  w3.org/2001/XMLS\n-00000410: 6368 656d 612d 696e 7374 616e 6365 223e  chema-instance\">\n-00000420: 0d0a 2020 3c6d 6f64 656c 5665 7273 696f  ..  <modelVersio\n-00000430: 6e3e 342e 302e 303c 2f6d 6f64 656c 5665  n>4.0.0</modelVe\n-00000440: 7273 696f 6e3e 0d0a 2020 3c70 6172 656e  rsion>..  <paren\n-00000450: 743e 0d0a 2020 2020 3c67 726f 7570 4964  t>..    <groupId\n-00000460: 3e6f 7267 2e61 7061 6368 652e 6475 6262  >org.apache.dubb\n-00000470: 6f3c 2f67 726f 7570 4964 3e0d 0a20 2020  o</groupId>..   \n-00000480: 203c 6172 7469 6661 6374 4964 3e64 7562   <artifactId>dub\n-00000490: 626f 2d72 7063 3c2f 6172 7469 6661 6374  bo-rpc</artifact\n-000004a0: 4964 3e0d 0a20 2020 203c 7665 7273 696f  Id>..    <versio\n-000004b0: 6e3e 322e 372e 3130 3c2f 7665 7273 696f  n>2.7.10</versio\n-000004c0: 6e3e 0d0a 2020 3c2f 7061 7265 6e74 3e0d  n>..  </parent>.\n-000004d0: 0a20 203c 6772 6f75 7049 643e 6f72 672e  .  <groupId>org.\n-000004e0: 6170 6163 6865 2e64 7562 626f 3c2f 6772  apache.dubbo</gr\n-000004f0: 6f75 7049 643e 0d0a 2020 3c61 7274 6966  oupId>..  <artif\n-00000500: 6163 7449 643e 6475 6262 6f2d 7270 632d  actId>dubbo-rpc-\n-00000510: 6874 7470 3c2f 6172 7469 6661 6374 4964  http</artifactId\n-00000520: 3e0d 0a20 203c 7665 7273 696f 6e3e 322e  >..  <version>2.\n-00000530: 372e 3130 3c2f 7665 7273 696f 6e3e 0d0a  7.10</version>..\n-00000540: 2020 3c64 6573 6372 6970 7469 6f6e 3e54    <description>T\n-00000550: 6865 204a 534f 4e2d 5250 4320 6d6f 6475  he JSON-RPC modu\n-00000560: 6c65 206f 6620 6475 6262 6f20 7072 6f6a  le of dubbo proj\n-00000570: 6563 743c 2f64 6573 6372 6970 7469 6f6e  ect</description\n-00000580: 3e0d 0a20 203c 6c69 6365 6e73 6573 3e0d  >..  <licenses>.\n-00000590: 0a20 2020 203c 6c69 6365 6e73 653e 0d0a  .    <license>..\n-000005a0: 2020 2020 2020 3c6e 616d 653e 4170 6163        <name>Apac\n-000005b0: 6865 204c 6963 656e 7365 2c20 5665 7273  he License, Vers\n-000005c0: 696f 6e20 322e 303c 2f6e 616d 653e 0d0a  ion 2.0</name>..\n-000005d0: 2020 2020 2020 3c75 726c 3e68 7474 703a        <url>http:\n-000005e0: 2f2f 7777 772e 6170 6163 6865 2e6f 7267  //www.apache.org\n-000005f0: 2f6c 6963 656e 7365 732f 4c49 4345 4e53  /licenses/LICENS\n-00000600: 452d 322e 303c 2f75 726c 3e0d 0a20 2020  E-2.0</url>..   \n-00000610: 2020 203c 6469 7374 7269 6275 7469 6f6e     <distribution\n-00000620: 3e72 6570 6f3c 2f64 6973 7472 6962 7574  >repo</distribut\n-00000630: 696f 6e3e 0d0a 2020 2020 3c2f 6c69 6365  ion>..    </lice\n-00000640: 6e73 653e 0d0a 2020 3c2f 6c69 6365 6e73  nse>..  </licens\n-00000650: 6573 3e0d 0a20 203c 7072 6f70 6572 7469  es>..  <properti\n-00000660: 6573 3e0d 0a20 2020 203c 736b 6970 5f6d  es>..    <skip_m\n-00000670: 6176 656e 5f64 6570 6c6f 793e 6661 6c73  aven_deploy>fals\n-00000680: 653c 2f73 6b69 705f 6d61 7665 6e5f 6465  e</skip_maven_de\n-00000690: 706c 6f79 3e0d 0a20 203c 2f70 726f 7065  ploy>..  </prope\n-000006a0: 7274 6965 733e 0d0a 2020 3c64 6570 656e  rties>..  <depen\n-000006b0: 6465 6e63 6965 733e 0d0a 2020 2020 3c64  dencies>..    <d\n-000006c0: 6570 656e 6465 6e63 793e 0d0a 2020 2020  ependency>..    \n-000006d0: 2020 3c67 726f 7570 4964 3e6f 7267 2e61    <groupId>org.a\n-000006e0: 7061 6368 652e 6475 6262 6f3c 2f67 726f  pache.dubbo</gro\n-000006f0: 7570 4964 3e0d 0a20 2020 2020 203c 6172  upId>..      <ar\n-00000700: 7469 6661 6374 4964 3e64 7562 626f 2d72  tifactId>dubbo-r\n-00000710: 7063 2d61 7069 3c2f 6172 7469 6661 6374  pc-api</artifact\n-00000720: 4964 3e0d 0a20 2020 2020 203c 7665 7273  Id>..      <vers\n-00000730: 696f 6e3e 247b 7072 6f6a 6563 742e 7061  ion>${project.pa\n-00000740: 7265 6e74 2e76 6572 7369 6f6e 7d3c 2f76  rent.version}</v\n-00000750: 6572 7369 6f6e 3e0d 0a20 2020 203c 2f64  ersion>..    </d\n-00000760: 6570 656e 6465 6e63 793e 0d0a 2020 2020  ependency>..    \n-00000770: 3c64 6570 656e 6465 6e63 793e 0d0a 2020  <dependency>..  \n-00000780: 2020 2020 3c67 726f 7570 4964 3e6f 7267      <groupId>org\n-00000790: 2e61 7061 6368 652e 6475 6262 6f3c 2f67  .apache.dubbo</g\n-000007a0: 726f 7570 4964 3e0d 0a20 2020 2020 203c  roupId>..      <\n-000007b0: 6172 7469 6661 6374 4964 3e64 7562 626f  artifactId>dubbo\n-000007c0: 2d72 656d 6f74 696e 672d 6874 7470 3c2f  -remoting-http</\n-000007d0: 6172 7469 6661 6374 4964 3e0d 0a20 2020  artifactId>..   \n-000007e0: 2020 203c 7665 7273 696f 6e3e 247b 7072     <version>${pr\n-000007f0: 6f6a 6563 742e 7061 7265 6e74 2e76 6572  oject.parent.ver\n-00000800: 7369 6f6e 7d3c 2f76 6572 7369 6f6e 3e0d  sion}</version>.\n-00000810: 0a20 2020 203c 2f64 6570 656e 6465 6e63  .    </dependenc\n-00000820: 793e 0d0a 2020 2020 3c64 6570 656e 6465  y>..    <depende\n-00000830: 6e63 793e 0d0a 2020 2020 2020 3c67 726f  ncy>..      <gro\n-00000840: 7570 4964 3e6f 7267 2e73 7072 696e 6766  upId>org.springf\n-00000850: 7261 6d65 776f 726b 3c2f 6772 6f75 7049  ramework</groupI\n-00000860: 643e 0d0a 2020 2020 2020 3c61 7274 6966  d>..      <artif\n-00000870: 6163 7449 643e 7370 7269 6e67 2d63 6f6e  actId>spring-con\n-00000880: 7465 7874 3c2f 6172 7469 6661 6374 4964  text</artifactId\n-00000890: 3e0d 0a20 2020 203c 2f64 6570 656e 6465  >..    </depende\n-000008a0: 6e63 793e 0d0a 2020 2020 3c64 6570 656e  ncy>..    <depen\n-000008b0: 6465 6e63 793e 0d0a 2020 2020 2020 3c67  dency>..      <g\n-000008c0: 726f 7570 4964 3e63 6f6d 2e67 6974 6875  roupId>com.githu\n-000008d0: 622e 6272 6961 6e64 696c 6c65 792e 6a73  b.briandilley.js\n-000008e0: 6f6e 7270 6334 6a3c 2f67 726f 7570 4964  onrpc4j</groupId\n-000008f0: 3e0d 0a20 2020 2020 203c 6172 7469 6661  >..      <artifa\n-00000900: 6374 4964 3e6a 736f 6e72 7063 346a 3c2f  ctId>jsonrpc4j</\n-00000910: 6172 7469 6661 6374 4964 3e0d 0a20 2020  artifactId>..   \n-00000920: 203c 2f64 6570 656e 6465 6e63 793e 0d0a   </dependency>..\n-00000930: 2020 2020 3c64 6570 656e 6465 6e63 793e      <dependency>\n-00000940: 0d0a 2020 2020 2020 3c67 726f 7570 4964  ..      <groupId\n-00000950: 3e6a 6176 6178 2e70 6f72 746c 6574 3c2f  >javax.portlet</\n-00000960: 6772 6f75 7049 643e 0d0a 2020 2020 2020  groupId>..      \n-00000970: 3c61 7274 6966 6163 7449 643e 706f 7274  <artifactId>port\n-00000980: 6c65 742d 6170 693c 2f61 7274 6966 6163  let-api</artifac\n-00000990: 7449 643e 0d0a 2020 2020 3c2f 6465 7065  tId>..    </depe\n-000009a0: 6e64 656e 6379 3e0d 0a20 203c 2f64 6570  ndency>..  </dep\n-000009b0: 656e 6465 6e63 6965 733e 0d0a 3c2f 7072  endencies>..</pr\n-000009c0: 6f6a 6563 743e 0d0a                      oject>..\n+00000020: 462d 3822 3f3e 0a3c 212d 2d0a 2020 4c69  F-8\"?>.<!--.  Li\n+00000030: 6365 6e73 6564 2074 6f20 7468 6520 4170  censed to the Ap\n+00000040: 6163 6865 2053 6f66 7477 6172 6520 466f  ache Software Fo\n+00000050: 756e 6461 7469 6f6e 2028 4153 4629 2075  undation (ASF) u\n+00000060: 6e64 6572 206f 6e65 206f 7220 6d6f 7265  nder one or more\n+00000070: 0a20 2063 6f6e 7472 6962 7574 6f72 206c  .  contributor l\n+00000080: 6963 656e 7365 2061 6772 6565 6d65 6e74  icense agreement\n+00000090: 732e 2020 5365 6520 7468 6520 4e4f 5449  s.  See the NOTI\n+000000a0: 4345 2066 696c 6520 6469 7374 7269 6275  CE file distribu\n+000000b0: 7465 6420 7769 7468 0a20 2074 6869 7320  ted with.  this \n+000000c0: 776f 726b 2066 6f72 2061 6464 6974 696f  work for additio\n+000000d0: 6e61 6c20 696e 666f 726d 6174 696f 6e20  nal information \n+000000e0: 7265 6761 7264 696e 6720 636f 7079 7269  regarding copyri\n+000000f0: 6768 7420 6f77 6e65 7273 6869 702e 0a20  ght ownership.. \n+00000100: 2054 6865 2041 5346 206c 6963 656e 7365   The ASF license\n+00000110: 7320 7468 6973 2066 696c 6520 746f 2059  s this file to Y\n+00000120: 6f75 2075 6e64 6572 2074 6865 2041 7061  ou under the Apa\n+00000130: 6368 6520 4c69 6365 6e73 652c 2056 6572  che License, Ver\n+00000140: 7369 6f6e 2032 2e30 0a20 2028 7468 6520  sion 2.0.  (the \n+00000150: 224c 6963 656e 7365 2229 3b20 796f 7520  \"License\"); you \n+00000160: 6d61 7920 6e6f 7420 7573 6520 7468 6973  may not use this\n+00000170: 2066 696c 6520 6578 6365 7074 2069 6e20   file except in \n+00000180: 636f 6d70 6c69 616e 6365 2077 6974 680a  compliance with.\n+00000190: 2020 7468 6520 4c69 6365 6e73 652e 2020    the License.  \n+000001a0: 596f 7520 6d61 7920 6f62 7461 696e 2061  You may obtain a\n+000001b0: 2063 6f70 7920 6f66 2074 6865 204c 6963   copy of the Lic\n+000001c0: 656e 7365 2061 740a 0a20 2020 2020 2068  ense at..      h\n+000001d0: 7474 703a 2f2f 7777 772e 6170 6163 6865  ttp://www.apache\n+000001e0: 2e6f 7267 2f6c 6963 656e 7365 732f 4c49  .org/licenses/LI\n+000001f0: 4345 4e53 452d 322e 300a 0a20 2055 6e6c  CENSE-2.0..  Unl\n+00000200: 6573 7320 7265 7175 6972 6564 2062 7920  ess required by \n+00000210: 6170 706c 6963 6162 6c65 206c 6177 206f  applicable law o\n+00000220: 7220 6167 7265 6564 2074 6f20 696e 2077  r agreed to in w\n+00000230: 7269 7469 6e67 2c20 736f 6674 7761 7265  riting, software\n+00000240: 0a20 2064 6973 7472 6962 7574 6564 2075  .  distributed u\n+00000250: 6e64 6572 2074 6865 204c 6963 656e 7365  nder the License\n+00000260: 2069 7320 6469 7374 7269 6275 7465 6420   is distributed \n+00000270: 6f6e 2061 6e20 2241 5320 4953 2220 4241  on an \"AS IS\" BA\n+00000280: 5349 532c 0a20 2057 4954 484f 5554 2057  SIS,.  WITHOUT W\n+00000290: 4152 5241 4e54 4945 5320 4f52 2043 4f4e  ARRANTIES OR CON\n+000002a0: 4449 5449 4f4e 5320 4f46 2041 4e59 204b  DITIONS OF ANY K\n+000002b0: 494e 442c 2065 6974 6865 7220 6578 7072  IND, either expr\n+000002c0: 6573 7320 6f72 2069 6d70 6c69 6564 2e0a  ess or implied..\n+000002d0: 2020 5365 6520 7468 6520 4c69 6365 6e73    See the Licens\n+000002e0: 6520 666f 7220 7468 6520 7370 6563 6966  e for the specif\n+000002f0: 6963 206c 616e 6775 6167 6520 676f 7665  ic language gove\n+00000300: 726e 696e 6720 7065 726d 6973 7369 6f6e  rning permission\n+00000310: 7320 616e 640a 2020 6c69 6d69 7461 7469  s and.  limitati\n+00000320: 6f6e 7320 756e 6465 7220 7468 6520 4c69  ons under the Li\n+00000330: 6365 6e73 652e 0a20 202d 2d3e 0a3c 7072  cense..  -->.<pr\n+00000340: 6f6a 6563 7420 7873 693a 7363 6865 6d61  oject xsi:schema\n+00000350: 4c6f 6361 7469 6f6e 3d22 6874 7470 3a2f  Location=\"http:/\n+00000360: 2f6d 6176 656e 2e61 7061 6368 652e 6f72  /maven.apache.or\n+00000370: 672f 504f 4d2f 342e 302e 3020 6874 7470  g/POM/4.0.0 http\n+00000380: 733a 2f2f 6d61 7665 6e2e 6170 6163 6865  s://maven.apache\n+00000390: 2e6f 7267 2f78 7364 2f6d 6176 656e 2d34  .org/xsd/maven-4\n+000003a0: 2e30 2e30 2e78 7364 2220 786d 6c6e 733d  .0.0.xsd\" xmlns=\n+000003b0: 2268 7474 703a 2f2f 6d61 7665 6e2e 6170  \"http://maven.ap\n+000003c0: 6163 6865 2e6f 7267 2f50 4f4d 2f34 2e30  ache.org/POM/4.0\n+000003d0: 2e30 220a 2020 2020 786d 6c6e 733a 7873  .0\".    xmlns:xs\n+000003e0: 693d 2268 7474 703a 2f2f 7777 772e 7733  i=\"http://www.w3\n+000003f0: 2e6f 7267 2f32 3030 312f 584d 4c53 6368  .org/2001/XMLSch\n+00000400: 656d 612d 696e 7374 616e 6365 223e 0a20  ema-instance\">. \n+00000410: 203c 6d6f 6465 6c56 6572 7369 6f6e 3e34   <modelVersion>4\n+00000420: 2e30 2e30 3c2f 6d6f 6465 6c56 6572 7369  .0.0</modelVersi\n+00000430: 6f6e 3e0a 2020 3c70 6172 656e 743e 0a20  on>.  <parent>. \n+00000440: 2020 203c 6772 6f75 7049 643e 6f72 672e     <groupId>org.\n+00000450: 6170 6163 6865 2e64 7562 626f 3c2f 6772  apache.dubbo</gr\n+00000460: 6f75 7049 643e 0a20 2020 203c 6172 7469  oupId>.    <arti\n+00000470: 6661 6374 4964 3e64 7562 626f 2d72 7063  factId>dubbo-rpc\n+00000480: 3c2f 6172 7469 6661 6374 4964 3e0a 2020  </artifactId>.  \n+00000490: 2020 3c76 6572 7369 6f6e 3e32 2e37 2e31    <version>2.7.1\n+000004a0: 303c 2f76 6572 7369 6f6e 3e0a 2020 3c2f  0</version>.  </\n+000004b0: 7061 7265 6e74 3e0a 2020 3c67 726f 7570  parent>.  <group\n+000004c0: 4964 3e6f 7267 2e61 7061 6368 652e 6475  Id>org.apache.du\n+000004d0: 6262 6f3c 2f67 726f 7570 4964 3e0a 2020  bbo</groupId>.  \n+000004e0: 3c61 7274 6966 6163 7449 643e 6475 6262  <artifactId>dubb\n+000004f0: 6f2d 7270 632d 6874 7470 3c2f 6172 7469  o-rpc-http</arti\n+00000500: 6661 6374 4964 3e0a 2020 3c76 6572 7369  factId>.  <versi\n+00000510: 6f6e 3e32 2e37 2e31 303c 2f76 6572 7369  on>2.7.10</versi\n+00000520: 6f6e 3e0a 2020 3c64 6573 6372 6970 7469  on>.  <descripti\n+00000530: 6f6e 3e54 6865 204a 534f 4e2d 5250 4320  on>The JSON-RPC \n+00000540: 6d6f 6475 6c65 206f 6620 6475 6262 6f20  module of dubbo \n+00000550: 7072 6f6a 6563 743c 2f64 6573 6372 6970  project</descrip\n+00000560: 7469 6f6e 3e0a 2020 3c6c 6963 656e 7365  tion>.  <license\n+00000570: 733e 0a20 2020 203c 6c69 6365 6e73 653e  s>.    <license>\n+00000580: 0a20 2020 2020 203c 6e61 6d65 3e41 7061  .      <name>Apa\n+00000590: 6368 6520 4c69 6365 6e73 652c 2056 6572  che License, Ver\n+000005a0: 7369 6f6e 2032 2e30 3c2f 6e61 6d65 3e0a  sion 2.0</name>.\n+000005b0: 2020 2020 2020 3c75 726c 3e68 7474 703a        <url>http:\n+000005c0: 2f2f 7777 772e 6170 6163 6865 2e6f 7267  //www.apache.org\n+000005d0: 2f6c 6963 656e 7365 732f 4c49 4345 4e53  /licenses/LICENS\n+000005e0: 452d 322e 303c 2f75 726c 3e0a 2020 2020  E-2.0</url>.    \n+000005f0: 2020 3c64 6973 7472 6962 7574 696f 6e3e    <distribution>\n+00000600: 7265 706f 3c2f 6469 7374 7269 6275 7469  repo</distributi\n+00000610: 6f6e 3e0a 2020 2020 3c2f 6c69 6365 6e73  on>.    </licens\n+00000620: 653e 0a20 203c 2f6c 6963 656e 7365 733e  e>.  </licenses>\n+00000630: 0a20 203c 7072 6f70 6572 7469 6573 3e0a  .  <properties>.\n+00000640: 2020 2020 3c73 6b69 705f 6d61 7665 6e5f      <skip_maven_\n+00000650: 6465 706c 6f79 3e66 616c 7365 3c2f 736b  deploy>false</sk\n+00000660: 6970 5f6d 6176 656e 5f64 6570 6c6f 793e  ip_maven_deploy>\n+00000670: 0a20 203c 2f70 726f 7065 7274 6965 733e  .  </properties>\n+00000680: 0a20 203c 6465 7065 6e64 656e 6369 6573  .  <dependencies\n+00000690: 3e0a 2020 2020 3c64 6570 656e 6465 6e63  >.    <dependenc\n+000006a0: 793e 0a20 2020 2020 203c 6772 6f75 7049  y>.      <groupI\n+000006b0: 643e 6f72 672e 6170 6163 6865 2e64 7562  d>org.apache.dub\n+000006c0: 626f 3c2f 6772 6f75 7049 643e 0a20 2020  bo</groupId>.   \n+000006d0: 2020 203c 6172 7469 6661 6374 4964 3e64     <artifactId>d\n+000006e0: 7562 626f 2d72 7063 2d61 7069 3c2f 6172  ubbo-rpc-api</ar\n+000006f0: 7469 6661 6374 4964 3e0a 2020 2020 2020  tifactId>.      \n+00000700: 3c76 6572 7369 6f6e 3e24 7b70 726f 6a65  <version>${proje\n+00000710: 6374 2e70 6172 656e 742e 7665 7273 696f  ct.parent.versio\n+00000720: 6e7d 3c2f 7665 7273 696f 6e3e 0a20 2020  n}</version>.   \n+00000730: 203c 2f64 6570 656e 6465 6e63 793e 0a20   </dependency>. \n+00000740: 2020 203c 6465 7065 6e64 656e 6379 3e0a     <dependency>.\n+00000750: 2020 2020 2020 3c67 726f 7570 4964 3e6f        <groupId>o\n+00000760: 7267 2e61 7061 6368 652e 6475 6262 6f3c  rg.apache.dubbo<\n+00000770: 2f67 726f 7570 4964 3e0a 2020 2020 2020  /groupId>.      \n+00000780: 3c61 7274 6966 6163 7449 643e 6475 6262  <artifactId>dubb\n+00000790: 6f2d 7265 6d6f 7469 6e67 2d68 7474 703c  o-remoting-http<\n+000007a0: 2f61 7274 6966 6163 7449 643e 0a20 2020  /artifactId>.   \n+000007b0: 2020 203c 7665 7273 696f 6e3e 247b 7072     <version>${pr\n+000007c0: 6f6a 6563 742e 7061 7265 6e74 2e76 6572  oject.parent.ver\n+000007d0: 7369 6f6e 7d3c 2f76 6572 7369 6f6e 3e0a  sion}</version>.\n+000007e0: 2020 2020 3c2f 6465 7065 6e64 656e 6379      </dependency\n+000007f0: 3e0a 2020 2020 3c64 6570 656e 6465 6e63  >.    <dependenc\n+00000800: 793e 0a20 2020 2020 203c 6772 6f75 7049  y>.      <groupI\n+00000810: 643e 6f72 672e 7370 7269 6e67 6672 616d  d>org.springfram\n+00000820: 6577 6f72 6b3c 2f67 726f 7570 4964 3e0a  ework</groupId>.\n+00000830: 2020 2020 2020 3c61 7274 6966 6163 7449        <artifactI\n+00000840: 643e 7370 7269 6e67 2d63 6f6e 7465 7874  d>spring-context\n+00000850: 3c2f 6172 7469 6661 6374 4964 3e0a 2020  </artifactId>.  \n+00000860: 2020 3c2f 6465 7065 6e64 656e 6379 3e0a    </dependency>.\n+00000870: 2020 2020 3c64 6570 656e 6465 6e63 793e      <dependency>\n+00000880: 0a20 2020 2020 203c 6772 6f75 7049 643e  .      <groupId>\n+00000890: 636f 6d2e 6769 7468 7562 2e62 7269 616e  com.github.brian\n+000008a0: 6469 6c6c 6579 2e6a 736f 6e72 7063 346a  dilley.jsonrpc4j\n+000008b0: 3c2f 6772 6f75 7049 643e 0a20 2020 2020  </groupId>.     \n+000008c0: 203c 6172 7469 6661 6374 4964 3e6a 736f   <artifactId>jso\n+000008d0: 6e72 7063 346a 3c2f 6172 7469 6661 6374  nrpc4j</artifact\n+000008e0: 4964 3e0a 2020 2020 3c2f 6465 7065 6e64  Id>.    </depend\n+000008f0: 656e 6379 3e0a 2020 2020 3c64 6570 656e  ency>.    <depen\n+00000900: 6465 6e63 793e 0a20 2020 2020 203c 6772  dency>.      <gr\n+00000910: 6f75 7049 643e 6a61 7661 782e 706f 7274  oupId>javax.port\n+00000920: 6c65 743c 2f67 726f 7570 4964 3e0a 2020  let</groupId>.  \n+00000930: 2020 2020 3c61 7274 6966 6163 7449 643e      <artifactId>\n+00000940: 706f 7274 6c65 742d 6170 693c 2f61 7274  portlet-api</art\n+00000950: 6966 6163 7449 643e 0a20 2020 203c 2f64  ifactId>.    </d\n+00000960: 6570 656e 6465 6e63 793e 0a20 203c 2f64  ependency>.  </d\n+00000970: 6570 656e 6465 6e63 6965 733e 0a3c 2f70  ependencies>.</p\n+00000980: 726f 6a65 6374 3e0a                      roject>.\n"}, {"source1": "org/apache/dubbo/rpc/protocol/http/HttpProtocol.java", "source2": "org/apache/dubbo/rpc/protocol/http/HttpProtocol.java", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1,191 +1,191 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-package org.apache.dubbo.rpc.protocol.http;\n-\n-import org.apache.dubbo.common.URL;\n-import org.apache.dubbo.remoting.RemotingServer;\n-import org.apache.dubbo.remoting.http.HttpBinder;\n-import org.apache.dubbo.remoting.http.HttpHandler;\n-import org.apache.dubbo.rpc.ProtocolServer;\n-import org.apache.dubbo.rpc.RpcContext;\n-import org.apache.dubbo.rpc.RpcException;\n-import org.apache.dubbo.rpc.protocol.AbstractProxyProtocol;\n-\n-import com.googlecode.jsonrpc4j.HttpException;\n-import com.googlecode.jsonrpc4j.JsonRpcClientException;\n-import com.googlecode.jsonrpc4j.JsonRpcServer;\n-import com.googlecode.jsonrpc4j.spring.JsonProxyFactoryBean;\n-import org.apache.dubbo.rpc.service.GenericService;\n-import org.apache.dubbo.rpc.support.ProtocolUtils;\n-import org.springframework.remoting.RemoteAccessException;\n-import org.springframework.remoting.support.RemoteInvocation;\n-\n-import javax.servlet.ServletException;\n-import javax.servlet.http.HttpServletRequest;\n-import javax.servlet.http.HttpServletResponse;\n-import java.io.IOException;\n-import java.net.SocketTimeoutException;\n-import java.util.ArrayList;\n-import java.util.Map;\n-import java.util.concurrent.ConcurrentHashMap;\n-\n-import static org.apache.dubbo.rpc.Constants.GENERIC_KEY;\n-\n-public class HttpProtocol extends AbstractProxyProtocol {\n-    public static final String ACCESS_CONTROL_ALLOW_ORIGIN_HEADER = \"Access-Control-Allow-Origin\";\n-    public static final String ACCESS_CONTROL_ALLOW_METHODS_HEADER = \"Access-Control-Allow-Methods\";\n-    public static final String ACCESS_CONTROL_ALLOW_HEADERS_HEADER = \"Access-Control-Allow-Headers\";\n-\n-    private final Map<String, JsonRpcServer> skeletonMap = new ConcurrentHashMap<>();\n-\n-    private HttpBinder httpBinder;\n-\n-    public HttpProtocol() {\n-        super(HttpException.class, JsonRpcClientException.class);\n-    }\n-\n-    public void setHttpBinder(HttpBinder httpBinder) {\n-        this.httpBinder = httpBinder;\n-    }\n-\n-    @Override\n-    public int getDefaultPort() {\n-        return 80;\n-    }\n-\n-    private class InternalHandler implements HttpHandler {\n-\n-        private boolean cors;\n-\n-        public InternalHandler(boolean cors) {\n-            this.cors = cors;\n-        }\n-\n-        @Override\n-        public void handle(HttpServletRequest request, HttpServletResponse response)\n-                throws ServletException {\n-            String uri = request.getRequestURI();\n-            JsonRpcServer skeleton = skeletonMap.get(uri);\n-            if (cors) {\n-                response.setHeader(ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, \"*\");\n-                response.setHeader(ACCESS_CONTROL_ALLOW_METHODS_HEADER, \"POST\");\n-                response.setHeader(ACCESS_CONTROL_ALLOW_HEADERS_HEADER, \"*\");\n-            }\n-            if (request.getMethod().equalsIgnoreCase(\"OPTIONS\")) {\n-                response.setStatus(200);\n-            } else if (request.getMethod().equalsIgnoreCase(\"POST\")) {\n-\n-                RpcContext.getContext().setRemoteAddress(request.getRemoteAddr(), request.getRemotePort());\n-                try {\n-                    skeleton.handle(request.getInputStream(), response.getOutputStream());\n-                } catch (Throwable e) {\n-                    throw new ServletException(e);\n-                }\n-            } else {\n-                response.setStatus(500);\n-            }\n-        }\n-\n-    }\n-\n-    @Override\n-    protected <T> Runnable doExport(final T impl, Class<T> type, URL url) throws RpcException {\n-        String addr = getAddr(url);\n-        ProtocolServer protocolServer = serverMap.get(addr);\n-        if (protocolServer == null) {\n-            RemotingServer remotingServer = httpBinder.bind(url, new InternalHandler(url.getParameter(\"cors\", false)));\n-            serverMap.put(addr, new ProxyProtocolServer(remotingServer));\n-        }\n-        final String path = url.getAbsolutePath();\n-        final String genericPath = path + \"/\" + GENERIC_KEY;\n-        JsonRpcServer skeleton = new JsonRpcServer(impl, type);\n-        JsonRpcServer genericServer = new JsonRpcServer(impl, GenericService.class);\n-        skeletonMap.put(path, skeleton);\n-        skeletonMap.put(genericPath, genericServer);\n-        return () -> {\n-            skeletonMap.remove(path);\n-            skeletonMap.remove(genericPath);\n-        };\n-    }\n-\n-    @SuppressWarnings(\"unchecked\")\n-    @Override\n-    protected <T> T doRefer(final Class<T> serviceType, URL url) throws RpcException {\n-        final String generic = url.getParameter(GENERIC_KEY);\n-        final boolean isGeneric = ProtocolUtils.isGeneric(generic) || serviceType.equals(GenericService.class);\n-        JsonProxyFactoryBean jsonProxyFactoryBean = new JsonProxyFactoryBean();\n-        JsonRpcProxyFactoryBean jsonRpcProxyFactoryBean = new JsonRpcProxyFactoryBean(jsonProxyFactoryBean);\n-        jsonRpcProxyFactoryBean.setRemoteInvocationFactory((methodInvocation) -> {\n-            RemoteInvocation invocation = new JsonRemoteInvocation(methodInvocation);\n-            if (isGeneric) {\n-                invocation.addAttribute(GENERIC_KEY, generic);\n-            }\n-            return invocation;\n-        });\n-        String key = url.setProtocol(\"http\").toIdentityString();\n-        if (isGeneric) {\n-            key = key + \"/\" + GENERIC_KEY;\n-        }\n-\n-        jsonRpcProxyFactoryBean.setServiceUrl(key);\n-        jsonRpcProxyFactoryBean.setServiceInterface(serviceType);\n-\n-        jsonProxyFactoryBean.afterPropertiesSet();\n-        return (T) jsonProxyFactoryBean.getObject();\n-    }\n-\n-    protected int getErrorCode(Throwable e) {\n-        if (e instanceof RemoteAccessException) {\n-            e = e.getCause();\n-        }\n-        if (e != null) {\n-            Class<?> cls = e.getClass();\n-            if (SocketTimeoutException.class.equals(cls)) {\n-                return RpcException.TIMEOUT_EXCEPTION;\n-            } else if (IOException.class.isAssignableFrom(cls)) {\n-                return RpcException.NETWORK_EXCEPTION;\n-            } else if (ClassNotFoundException.class.isAssignableFrom(cls)) {\n-                return RpcException.SERIALIZATION_EXCEPTION;\n-            }\n-\n-            if (e instanceof HttpProtocolErrorCode) {\n-                return ((HttpProtocolErrorCode) e).getErrorCode();\n-            }\n-        }\n-        return super.getErrorCode(e);\n-    }\n-\n-    @Override\n-    public void destroy() {\n-        super.destroy();\n-        for (String key : new ArrayList<>(serverMap.keySet())) {\n-            ProtocolServer server = serverMap.remove(key);\n-            if (server != null) {\n-                try {\n-                    if (logger.isInfoEnabled()) {\n-                        logger.info(\"Close jsonrpc server \" + server.getUrl());\n-                    }\n-                    server.close();\n-                } catch (Throwable t) {\n-                    logger.warn(t.getMessage(), t);\n-                }\n-            }\n-        }\n-    }\n-\n-\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+package org.apache.dubbo.rpc.protocol.http;\r\n+\r\n+import org.apache.dubbo.common.URL;\r\n+import org.apache.dubbo.remoting.RemotingServer;\r\n+import org.apache.dubbo.remoting.http.HttpBinder;\r\n+import org.apache.dubbo.remoting.http.HttpHandler;\r\n+import org.apache.dubbo.rpc.ProtocolServer;\r\n+import org.apache.dubbo.rpc.RpcContext;\r\n+import org.apache.dubbo.rpc.RpcException;\r\n+import org.apache.dubbo.rpc.protocol.AbstractProxyProtocol;\r\n+\r\n+import com.googlecode.jsonrpc4j.HttpException;\r\n+import com.googlecode.jsonrpc4j.JsonRpcClientException;\r\n+import com.googlecode.jsonrpc4j.JsonRpcServer;\r\n+import com.googlecode.jsonrpc4j.spring.JsonProxyFactoryBean;\r\n+import org.apache.dubbo.rpc.service.GenericService;\r\n+import org.apache.dubbo.rpc.support.ProtocolUtils;\r\n+import org.springframework.remoting.RemoteAccessException;\r\n+import org.springframework.remoting.support.RemoteInvocation;\r\n+\r\n+import javax.servlet.ServletException;\r\n+import javax.servlet.http.HttpServletRequest;\r\n+import javax.servlet.http.HttpServletResponse;\r\n+import java.io.IOException;\r\n+import java.net.SocketTimeoutException;\r\n+import java.util.ArrayList;\r\n+import java.util.Map;\r\n+import java.util.concurrent.ConcurrentHashMap;\r\n+\r\n+import static org.apache.dubbo.rpc.Constants.GENERIC_KEY;\r\n+\r\n+public class HttpProtocol extends AbstractProxyProtocol {\r\n+    public static final String ACCESS_CONTROL_ALLOW_ORIGIN_HEADER = \"Access-Control-Allow-Origin\";\r\n+    public static final String ACCESS_CONTROL_ALLOW_METHODS_HEADER = \"Access-Control-Allow-Methods\";\r\n+    public static final String ACCESS_CONTROL_ALLOW_HEADERS_HEADER = \"Access-Control-Allow-Headers\";\r\n+\r\n+    private final Map<String, JsonRpcServer> skeletonMap = new ConcurrentHashMap<>();\r\n+\r\n+    private HttpBinder httpBinder;\r\n+\r\n+    public HttpProtocol() {\r\n+        super(HttpException.class, JsonRpcClientException.class);\r\n+    }\r\n+\r\n+    public void setHttpBinder(HttpBinder httpBinder) {\r\n+        this.httpBinder = httpBinder;\r\n+    }\r\n+\r\n+    @Override\r\n+    public int getDefaultPort() {\r\n+        return 80;\r\n+    }\r\n+\r\n+    private class InternalHandler implements HttpHandler {\r\n+\r\n+        private boolean cors;\r\n+\r\n+        public InternalHandler(boolean cors) {\r\n+            this.cors = cors;\r\n+        }\r\n+\r\n+        @Override\r\n+        public void handle(HttpServletRequest request, HttpServletResponse response)\r\n+                throws ServletException {\r\n+            String uri = request.getRequestURI();\r\n+            JsonRpcServer skeleton = skeletonMap.get(uri);\r\n+            if (cors) {\r\n+                response.setHeader(ACCESS_CONTROL_ALLOW_ORIGIN_HEADER, \"*\");\r\n+                response.setHeader(ACCESS_CONTROL_ALLOW_METHODS_HEADER, \"POST\");\r\n+                response.setHeader(ACCESS_CONTROL_ALLOW_HEADERS_HEADER, \"*\");\r\n+            }\r\n+            if (request.getMethod().equalsIgnoreCase(\"OPTIONS\")) {\r\n+                response.setStatus(200);\r\n+            } else if (request.getMethod().equalsIgnoreCase(\"POST\")) {\r\n+\r\n+                RpcContext.getContext().setRemoteAddress(request.getRemoteAddr(), request.getRemotePort());\r\n+                try {\r\n+                    skeleton.handle(request.getInputStream(), response.getOutputStream());\r\n+                } catch (Throwable e) {\r\n+                    throw new ServletException(e);\r\n+                }\r\n+            } else {\r\n+                response.setStatus(500);\r\n+            }\r\n+        }\r\n+\r\n+    }\r\n+\r\n+    @Override\r\n+    protected <T> Runnable doExport(final T impl, Class<T> type, URL url) throws RpcException {\r\n+        String addr = getAddr(url);\r\n+        ProtocolServer protocolServer = serverMap.get(addr);\r\n+        if (protocolServer == null) {\r\n+            RemotingServer remotingServer = httpBinder.bind(url, new InternalHandler(url.getParameter(\"cors\", false)));\r\n+            serverMap.put(addr, new ProxyProtocolServer(remotingServer));\r\n+        }\r\n+        final String path = url.getAbsolutePath();\r\n+        final String genericPath = path + \"/\" + GENERIC_KEY;\r\n+        JsonRpcServer skeleton = new JsonRpcServer(impl, type);\r\n+        JsonRpcServer genericServer = new JsonRpcServer(impl, GenericService.class);\r\n+        skeletonMap.put(path, skeleton);\r\n+        skeletonMap.put(genericPath, genericServer);\r\n+        return () -> {\r\n+            skeletonMap.remove(path);\r\n+            skeletonMap.remove(genericPath);\r\n+        };\r\n+    }\r\n+\r\n+    @SuppressWarnings(\"unchecked\")\r\n+    @Override\r\n+    protected <T> T doRefer(final Class<T> serviceType, URL url) throws RpcException {\r\n+        final String generic = url.getParameter(GENERIC_KEY);\r\n+        final boolean isGeneric = ProtocolUtils.isGeneric(generic) || serviceType.equals(GenericService.class);\r\n+        JsonProxyFactoryBean jsonProxyFactoryBean = new JsonProxyFactoryBean();\r\n+        JsonRpcProxyFactoryBean jsonRpcProxyFactoryBean = new JsonRpcProxyFactoryBean(jsonProxyFactoryBean);\r\n+        jsonRpcProxyFactoryBean.setRemoteInvocationFactory((methodInvocation) -> {\r\n+            RemoteInvocation invocation = new JsonRemoteInvocation(methodInvocation);\r\n+            if (isGeneric) {\r\n+                invocation.addAttribute(GENERIC_KEY, generic);\r\n+            }\r\n+            return invocation;\r\n+        });\r\n+        String key = url.setProtocol(\"http\").toIdentityString();\r\n+        if (isGeneric) {\r\n+            key = key + \"/\" + GENERIC_KEY;\r\n+        }\r\n+\r\n+        jsonRpcProxyFactoryBean.setServiceUrl(key);\r\n+        jsonRpcProxyFactoryBean.setServiceInterface(serviceType);\r\n+\r\n+        jsonProxyFactoryBean.afterPropertiesSet();\r\n+        return (T) jsonProxyFactoryBean.getObject();\r\n+    }\r\n+\r\n+    protected int getErrorCode(Throwable e) {\r\n+        if (e instanceof RemoteAccessException) {\r\n+            e = e.getCause();\r\n+        }\r\n+        if (e != null) {\r\n+            Class<?> cls = e.getClass();\r\n+            if (SocketTimeoutException.class.equals(cls)) {\r\n+                return RpcException.TIMEOUT_EXCEPTION;\r\n+            } else if (IOException.class.isAssignableFrom(cls)) {\r\n+                return RpcException.NETWORK_EXCEPTION;\r\n+            } else if (ClassNotFoundException.class.isAssignableFrom(cls)) {\r\n+                return RpcException.SERIALIZATION_EXCEPTION;\r\n+            }\r\n+\r\n+            if (e instanceof HttpProtocolErrorCode) {\r\n+                return ((HttpProtocolErrorCode) e).getErrorCode();\r\n+            }\r\n+        }\r\n+        return super.getErrorCode(e);\r\n+    }\r\n+\r\n+    @Override\r\n+    public void destroy() {\r\n+        super.destroy();\r\n+        for (String key : new ArrayList<>(serverMap.keySet())) {\r\n+            ProtocolServer server = serverMap.remove(key);\r\n+            if (server != null) {\r\n+                try {\r\n+                    if (logger.isInfoEnabled()) {\r\n+                        logger.info(\"Close jsonrpc server \" + server.getUrl());\r\n+                    }\r\n+                    server.close();\r\n+                } catch (Throwable t) {\r\n+                    logger.warn(t.getMessage(), t);\r\n+                }\r\n+            }\r\n+        }\r\n+    }\r\n+\r\n+\r\n }\n"}, {"source1": "org/apache/dubbo/rpc/protocol/http/JsonRemoteInvocation.java", "source2": "org/apache/dubbo/rpc/protocol/http/JsonRemoteInvocation.java", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1,61 +1,61 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-package org.apache.dubbo.rpc.protocol.http;\n-\n-import org.apache.dubbo.common.utils.StringUtils;\n-import org.apache.dubbo.rpc.RpcContext;\n-\n-import org.aopalliance.intercept.MethodInvocation;\n-import org.springframework.remoting.support.RemoteInvocation;\n-\n-import java.lang.reflect.InvocationTargetException;\n-import java.util.HashMap;\n-import java.util.Map;\n-\n-import static org.apache.dubbo.rpc.Constants.GENERIC_KEY;\n-\n-/**\n- * JsonRemoteInvocation\n- */\n-public class JsonRemoteInvocation extends RemoteInvocation {\n-    private static final long serialVersionUID = 1L;\n-    private static final String DUBBO_ATTACHMENTS_ATTR_NAME = \"dubbo.attachments\";\n-\n-    public JsonRemoteInvocation(MethodInvocation methodInvocation) {\n-        super(methodInvocation);\n-        addAttribute(DUBBO_ATTACHMENTS_ATTR_NAME, new HashMap<>(RpcContext.getContext().getAttachments()));\n-    }\n-\n-    @Override\n-    public Object invoke(Object targetObject) throws NoSuchMethodException, IllegalAccessException,\n-            InvocationTargetException {\n-        RpcContext context = RpcContext.getContext();\n-        context.setAttachments((Map<String, String>) getAttribute(DUBBO_ATTACHMENTS_ATTR_NAME));\n-\n-        String generic = (String) getAttribute(GENERIC_KEY);\n-        if (StringUtils.isNotEmpty(generic)) {\n-            context.setAttachment(GENERIC_KEY, generic);\n-        }\n-        try {\n-            return super.invoke(targetObject);\n-        } finally {\n-            context.setAttachments(null);\n-\n-        }\n-    }\n-}\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+\r\n+package org.apache.dubbo.rpc.protocol.http;\r\n+\r\n+import org.apache.dubbo.common.utils.StringUtils;\r\n+import org.apache.dubbo.rpc.RpcContext;\r\n+\r\n+import org.aopalliance.intercept.MethodInvocation;\r\n+import org.springframework.remoting.support.RemoteInvocation;\r\n+\r\n+import java.lang.reflect.InvocationTargetException;\r\n+import java.util.HashMap;\r\n+import java.util.Map;\r\n+\r\n+import static org.apache.dubbo.rpc.Constants.GENERIC_KEY;\r\n+\r\n+/**\r\n+ * JsonRemoteInvocation\r\n+ */\r\n+public class JsonRemoteInvocation extends RemoteInvocation {\r\n+    private static final long serialVersionUID = 1L;\r\n+    private static final String DUBBO_ATTACHMENTS_ATTR_NAME = \"dubbo.attachments\";\r\n+\r\n+    public JsonRemoteInvocation(MethodInvocation methodInvocation) {\r\n+        super(methodInvocation);\r\n+        addAttribute(DUBBO_ATTACHMENTS_ATTR_NAME, new HashMap<>(RpcContext.getContext().getAttachments()));\r\n+    }\r\n+\r\n+    @Override\r\n+    public Object invoke(Object targetObject) throws NoSuchMethodException, IllegalAccessException,\r\n+            InvocationTargetException {\r\n+        RpcContext context = RpcContext.getContext();\r\n+        context.setAttachments((Map<String, String>) getAttribute(DUBBO_ATTACHMENTS_ATTR_NAME));\r\n+\r\n+        String generic = (String) getAttribute(GENERIC_KEY);\r\n+        if (StringUtils.isNotEmpty(generic)) {\r\n+            context.setAttachment(GENERIC_KEY, generic);\r\n+        }\r\n+        try {\r\n+            return super.invoke(targetObject);\r\n+        } finally {\r\n+            context.setAttachments(null);\r\n+\r\n+        }\r\n+    }\r\n+}\r\n"}, {"source1": "org/apache/dubbo/rpc/protocol/http/JsonRpcProxyFactoryBean.java", "source2": "org/apache/dubbo/rpc/protocol/http/JsonRpcProxyFactoryBean.java", "comments": ["Line-ending differences only"], "unified_diff": "@@ -1,86 +1,86 @@\n-/*\n- * Licensed to the Apache Software Foundation (ASF) under one or more\n- * contributor license agreements.  See the NOTICE file distributed with\n- * this work for additional information regarding copyright ownership.\n- * The ASF licenses this file to You under the Apache License, Version 2.0\n- * (the \"License\"); you may not use this file except in compliance with\n- * the License.  You may obtain a copy of the License at\n- *\n- *     http://www.apache.org/licenses/LICENSE-2.0\n- *\n- * Unless required by applicable law or agreed to in writing, software\n- * distributed under the License is distributed on an \"AS IS\" BASIS,\n- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n- * See the License for the specific language governing permissions and\n- * limitations under the License.\n- */\n-\n-package org.apache.dubbo.rpc.protocol.http;\n-\n-import com.googlecode.jsonrpc4j.spring.JsonProxyFactoryBean;\n-import org.aopalliance.intercept.MethodInterceptor;\n-import org.aopalliance.intercept.MethodInvocation;\n-import org.springframework.beans.factory.FactoryBean;\n-import org.springframework.beans.factory.InitializingBean;\n-import org.springframework.context.ApplicationContext;\n-import org.springframework.context.ApplicationContextAware;\n-import org.springframework.remoting.support.RemoteInvocationBasedAccessor;\n-\n-/**\n- * JsonRpcProxyFactoryBean\n- */\n-public class JsonRpcProxyFactoryBean extends RemoteInvocationBasedAccessor\n-        implements MethodInterceptor,\n-        InitializingBean,\n-        FactoryBean<Object>,\n-        ApplicationContextAware {\n-    private final JsonProxyFactoryBean jsonProxyFactoryBean;\n-\n-    public JsonRpcProxyFactoryBean(JsonProxyFactoryBean factoryBean) {\n-        this.jsonProxyFactoryBean = factoryBean;\n-    }\n-\n-    @Override\n-    @SuppressWarnings(\"unchecked\")\n-    public void afterPropertiesSet() {\n-        jsonProxyFactoryBean.afterPropertiesSet();\n-    }\n-\n-    @Override\n-    public Object invoke(MethodInvocation invocation)\n-            throws Throwable {\n-\n-        return jsonProxyFactoryBean.invoke(invocation);\n-    }\n-\n-    @Override\n-    public Object getObject() {\n-        return jsonProxyFactoryBean.getObject();\n-    }\n-\n-    @Override\n-    public Class<?> getObjectType() {\n-        return jsonProxyFactoryBean.getObjectType();\n-    }\n-\n-    @Override\n-    public boolean isSingleton() {\n-        return jsonProxyFactoryBean.isSingleton();\n-    }\n-\n-    @Override\n-    public void setApplicationContext(ApplicationContext applicationContext) {\n-        jsonProxyFactoryBean.setApplicationContext(applicationContext);\n-    }\n-\n-    @Override\n-    public void setServiceUrl(String serviceUrl) {\n-        jsonProxyFactoryBean.setServiceUrl(serviceUrl);\n-    }\n-\n-    @Override\n-    public void setServiceInterface(Class<?> serviceInterface) {\n-        jsonProxyFactoryBean.setServiceInterface(serviceInterface);\n-    }\n-\n-}\n+/*\r\n+ * Licensed to the Apache Software Foundation (ASF) under one or more\r\n+ * contributor license agreements.  See the NOTICE file distributed with\r\n+ * this work for additional information regarding copyright ownership.\r\n+ * The ASF licenses this file to You under the Apache License, Version 2.0\r\n+ * (the \"License\"); you may not use this file except in compliance with\r\n+ * the License.  You may obtain a copy of the License at\r\n+ *\r\n+ *     http://www.apache.org/licenses/LICENSE-2.0\r\n+ *\r\n+ * Unless required by applicable law or agreed to in writing, software\r\n+ * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n+ * See the License for the specific language governing permissions and\r\n+ * limitations under the License.\r\n+ */\r\n+\r\n+package org.apache.dubbo.rpc.protocol.http;\r\n+\r\n+import com.googlecode.jsonrpc4j.spring.JsonProxyFactoryBean;\r\n+import org.aopalliance.intercept.MethodInterceptor;\r\n+import org.aopalliance.intercept.MethodInvocation;\r\n+import org.springframework.beans.factory.FactoryBean;\r\n+import org.springframework.beans.factory.InitializingBean;\r\n+import org.springframework.context.ApplicationContext;\r\n+import org.springframework.context.ApplicationContextAware;\r\n+import org.springframework.remoting.support.RemoteInvocationBasedAccessor;\r\n+\r\n+/**\r\n+ * JsonRpcProxyFactoryBean\r\n+ */\r\n+public class JsonRpcProxyFactoryBean extends RemoteInvocationBasedAccessor\r\n+        implements MethodInterceptor,\r\n+        InitializingBean,\r\n+        FactoryBean<Object>,\r\n+        ApplicationContextAware {\r\n+    private final JsonProxyFactoryBean jsonProxyFactoryBean;\r\n+\r\n+    public JsonRpcProxyFactoryBean(JsonProxyFactoryBean factoryBean) {\r\n+        this.jsonProxyFactoryBean = factoryBean;\r\n+    }\r\n+\r\n+    @Override\r\n+    @SuppressWarnings(\"unchecked\")\r\n+    public void afterPropertiesSet() {\r\n+        jsonProxyFactoryBean.afterPropertiesSet();\r\n+    }\r\n+\r\n+    @Override\r\n+    public Object invoke(MethodInvocation invocation)\r\n+            throws Throwable {\r\n+\r\n+        return jsonProxyFactoryBean.invoke(invocation);\r\n+    }\r\n+\r\n+    @Override\r\n+    public Object getObject() {\r\n+        return jsonProxyFactoryBean.getObject();\r\n+    }\r\n+\r\n+    @Override\r\n+    public Class<?> getObjectType() {\r\n+        return jsonProxyFactoryBean.getObjectType();\r\n+    }\r\n+\r\n+    @Override\r\n+    public boolean isSingleton() {\r\n+        return jsonProxyFactoryBean.isSingleton();\r\n+    }\r\n+\r\n+    @Override\r\n+    public void setApplicationContext(ApplicationContext applicationContext) {\r\n+        jsonProxyFactoryBean.setApplicationContext(applicationContext);\r\n+    }\r\n+\r\n+    @Override\r\n+    public void setServiceUrl(String serviceUrl) {\r\n+        jsonProxyFactoryBean.setServiceUrl(serviceUrl);\r\n+    }\r\n+\r\n+    @Override\r\n+    public void setServiceInterface(Class<?> serviceInterface) {\r\n+        jsonProxyFactoryBean.setServiceInterface(serviceInterface);\r\n+    }\r\n+\r\n+}\r\n"}]}
