paperlined.org
games > pc > WoW > sniffing
document updated 18 years ago, on Aug 6, 2005
The response structure for each individual auction item is clearly 64 bytes long. The exact header and footer aren't yet known, so the 64 bytes before and after the individual auction items are included.




be9389c5103f504182f4b740de030000e147f2a8259dec000000000000008000706d554a35ebcb4412b38ac5776a78418975db3f0000000003c3bdd232000000

49251009200a0000000000000000000000000000140000000000000091123b00000000002a0800000401000000000000ac472a0007167c00000000000e150000
c7251009200a00000000000000000000000000000d0000000000000091123b00000000003f050000a00000000000000093b80a00627dd500000000008e0c0000
366510093b3c0000000000000000000000000000010000000000000076d27700000000007809000000000000d70b0000aa060700000000000000000000000000
48651009d21f0000000000000000000000000000020000000000000076d2770000000000f0050000000000006c070000db1b0700000000000000000000000000
727a10093411000000000000000000008075f84a1400000000000000e5a12001000000001027000000000000e4570000b0b90b00000000000000000000000000
cf7c1009982f00000000000000000000000000000900000000000000e9d6de000000000096040000000000006c0900007b531200000000000000000000000000
227d1009800e00000000000000000000000000000300000000000000e9d6de000000000087010000000000009d03000096341300000000000000000000000000
9a8c10091a0b000000000000000000000007d7641400000000000000c0f2060100000000c8320000a802000030750000a1ef2300d2f838000000000052350000
87a81009111200000000000000000000000000001400000000000000f5045a00000000006c6b00000000000050c30000ff572800000000000000000000000000
d5a910098a1000000000000000000000000000000a000000000000004371010100000000ca0800007800000094110000609736002468620000000000a6090000
17bb10090032000000000000000000000000000001000000000000009e2c0e0100000000409c00000000000060ea0000fa563a00000000000000000000000000
f6c710098810000000000000000000000000000001000000000000008b52180100000000bb00000000000000d007000057573d00000000000000000000000000
36cb10094c3f00000000000000000000000000000100000000000000f59667000000000074270000f401000000000000e7ea4700d68205010000000074270000
efd71009da13000000000000000000000000000001000000000000001eb52701000000007003000000000000e8030000b3934700000000000000000000000000
92d910098f090000000000000000000000000000010000000000000085623900000000006400000000000000f4010000ab444c00000000000000000000000000
c7d9100992090000000000000000000000000000010000000000000085623900000000006400000005000000e8030000e7855300d9106a000000000069000000
2ada1009063800000000000000000000002e235301000000000000001bb47b0000000000109e0100b4140000f04902000cf651006d10390000000000109e0100
87e81009d2100000000000000000000000000000140000000000000061350c010000000094110000dc0000004c1d00003f065900fee16a000000000094110000
51ea1009aa2f00000000000000000000000000000a0000000000000061350c010000000019050000000000007c150000a8855900000000000000000000000000
59ea1009aa2f0000000000000000000000000000070000000000000061350c01000000009103000000000000ac0d000052a55900000000000000000000000000
e5f610096d1100000000000000000000000000000a0000000000000061350c0100000000300c0000000000007c1500001c305c00000000000000000000000000
d8f910094c3f000000000000000000000000000007000000000000003f4a7e0000000000d4110100ac0d0000a086010069a16700d682050100000000d4110100
e0f91009d20a00000000000000000000000000000a0000000000000016d426010000000064190000000000004c1d00004a7c6300000000000000000000000000
ad091109281100000000000000000000e090201e01000000ffffffff8bf2eb0000000000b635000000000000204e0000b03c6e00000000000000000000000000
b6091109281100000000000000000000e090201e01000000ffffffff8bf2eb0000000000b6350000a8020000204e0000733372009d2c0a0100000000b6350000
e9091109eb1f000000000000000000000000000005000000000000006771d60000000000a60e000000000000581b000049186f00000000000000000000000000
603f1109190b000000000000000000000052da6a0e00000000000000e04d1c0100000000ee0200002900000010270000017c96002cde0801000000003a030000
a74c1109ba2a0000000000000000000000ad547f01000000ffffffff441e8a00000000006400000006000000000000007b05a400b6c91901000000007e000000
f94c11090f0900000000000000000000000000000a00000000000000c68a6f0000000000c409000000000000a00f0000ef5a8f00000000000000000000000000
054d11090f0900000000000000000000000000000a00000000000000c68a6f0000000000c409000000000000a00f000028758f00000000000000000000000000
684e11090f0900000000000000000000000000000a00000000000000c68a6f0000000000c409000000000000a00f0000ae449300000000000000000000000000
274f11093f290000000000000000000080bf811d0100000000000000cb520201000000006504000038000000881300002e329900045cf5000000000065040000
404f1109130b00000000000000000000000000000700000000000000cb52020100000000f401000000000000a00f0000f5839500000000000000000000000000
7f5c1109110300000000000000000000000000001400000000000000e727780000000000881300000000000000000000032f9a00000000000000000000000000
1f5e1109f21000000000000000000000000000001400000000000000ec225500000000004c1d000072010000204e00006dfda10007316e00000000004c1d0000
315e1109f21000000000000000000000000000001400000000000000ec225500000000004c1d000000000000204e000062bc9e00000000000000000000000000
4e5e1109f21000000000000000000000000000001400000000000000ec225500000000004c1d000000000000204e000043e89e00000000000000000000000000
6f5e1109d21000000000000000000000000000001400000000000000ec22550000000000941100000000000010270000842e9f00000000000000000000000000
c65e1109d01000000000000000000000000000000a00000000000000ec2255000000000094110000dc00000010270000feb9a3000ea604010000000094110000
156c11094c3f0000000000000000000000000000010000000000000023f17a0000000000f12f000000000000ee3b0000a087a300000000000000000000000000
1b6c11094c3f0000000000000000000000000000010000000000000023f17a0000000000f12f000000000000ee3b0000109ea300000000000000000000000000
216c11094c3f0000000000000000000000000000010000000000000023f17a0000000000f12f000000000000ee3b0000bfb0a300000000000000000000000000
676c11094c3f0000000000000000000000000000010000000000000023f17a0000000000f12f000000000000ee3b0000223da400000000000000000000000000
786c11094c3f0000000000000000000000000000010000000000000023f17a0000000000f12f000000000000ee3b0000fe5fa400000000000000000000000000
d57c1109bb2a00000000000000000000000000000a000000ffffffff10004e0000000000c0a0000000000000f0c80000b870af00000000000000000000000000
db7c1109bb2a00000000000000000000000000000a000000ffffffff10004e0000000000c0a0000000000000f0c80000bf7daf00000000000000000000000000
ec7c1109f90d000000000000000000007097d302140000000000000010004e000000000030a90000000000007cd3000077bfaf00000000000000000000000000
fa7c1109f90d0000000000000000000040f9293f140000000000000010004e000000000030a90000000000007cd300007c05b000000000000000000000000000
0a7d1109bb2a000000000000000000000000000006000000ffffffff10004e0000000000635c0000000000007c7300007b12b000000000000000000000000000
d37e1109d21000000000000000000000000000000800000000000000fd341501000000005007000000000000f00a00007bf4b300000000000000000000000000

6d0400007a36e9ea36d92c0000a000f07957d144daf58ac535739741e1ac030c00000100005005000002000000c523d044a6cd8ac584e09941ed470000103059



233e8bc59d9e12429a9bb33f36010000d2358de474b422010000000001008000a6590b4b6851c94439fc88c50b2f2841533a8140e40000002f9be69007000000 b2c812098634000000000000000000000000000001000000ffffffff8bb1220100000000ec2c0000000000000c7b000047f3a300000000000000000000000000 cfc812098634000000000000000000000000000001000000ffffffff8bb1220100000000ec2c0000000000000c7b0000f939a400000000000000000000000000 8ab214098634000000000000000000000000000004000000ffffffffe27d1f0100000000b0b300000000000060ea0000f830eb01000000000000000000000000 d8d316098634000000000000000000000000000002000000ffffffff8bb1220100000000c83200008a020000d8590000928eae032e2af70000000000c8320000 7c9f17098634000000000000000000000000000003000000ffffffff5029050100000000a8610000b0040000b888000026faba002e2af70000000000a8610000 9b4d19098634000000000000000000000000000005000000ffffffffe533820000000000ac07010000000000f82401006cdc2405000000000000000000000000 dd4d19098634000000000000000000000000000004000000ffffffffa8e6500000000000706f980000000000706f9800efe26c00000000000000000000000000 070000001b631f4574b422010000000021008000d9590b4b474ac94475fe88c5a49f2541533a8140e4000000737f0f0c57553c00000000000100800081580b4b And later, some of the same auctions were re-fetched: b2c812098634000000000000000000000000000001000000ffffffff8bb1220100000000ec2c0000000000000c7b00004e0d5a00000000000000000000000000 cfc812098634000000000000000000000000000001000000ffffffff8bb1220100000000ec2c0000000000000c7b000000545a00000000000000000000000000 8ab214098634000000000000000000000000000004000000ffffffffe27d1f0100000000b0b300000000000060ea0000004ba101000000000000000000000000 d8d316098634000000000000000000000000000002000000ffffffff8bb1220100000000c83200008a020000d859000099a864032e2af70000000000c8320000 7c9f17098634000000000000000000000000000003000000ffffffff5029050100000000a8610000b0040000b88800002e1471002e2af70000000000a8610000 9b4d19098634000000000000000000000000000005000000ffffffffe533820000000000ac07010000000000f824010073f6da04000000000000000000000000 dd4d19098634000000000000000000000000000004000000ffffffffa8e6500000000000706f980000000000706f9800f6fc2200000000000000000000000000 The column that's become different seems clearly to be related to the amount of time left in the auction. In the above two scans, the time on the last auction was "Medium". In this scan, it's become "Short": dd4d19098634000000000000000000000000000004000000ffffffffa8e6500000000000706f980000000000706f9800bf531300000000000000000000000000 Thus, the time is most likely stored in milliseconds.
The same item, requested over and over, making sure only one result is returned each time: a000f0cc5fce4492c389c5a3c78941131f910c00000100007e0800000400000016cccf445a2c8ac5f54385411a00ffff1438ffff0e70ffff7fb07e6c01000000 3f7b1809fc3100000000000000000000404b9122010000000000000097a95a0000000000a02e630000000000c0cf6a003af5fb03000000000000000000000000 01000000ae9592a0c23e0f0100000000210080001387bc4b7d22c944011689c51d8023415b6f0140d9020000e0439bf2778928010000000001008000bc26bd4b 1b2727dc4a266d0000000000012080005a92bc4b5743ca44256489c523412d4195c8b04000000000d893fec07fc9393f601f30bf0000e0406e9f6d5b01000000 3f7b1809fc3100000000000000000000404b9122010000000000000097a95a0000000000a02e630000000000c0cf6a00d2e0fb03000000000000000000000000 010000009d847987762fea0000000000010080004caebc4bf267db4431ce8cc5e432db414a26954097020000 16b8bc4b0012d24408088ac543eca9417926f13d62020000d77571ec95ccd46b000000407e043900000000002e4a00000200b80b000000001db8d5dc01000000 3f7b1809fc3100000000000000000000404b9122010000000000000097a95a0000000000a02e630000000000c0cf6a0004bafb03000000000000000000000000 01000000ed095e136c246300000000002100800053b0bc4b3a77c9448b6c89c5d3582841c0084d4000000000 a000f00a92cb44d44f8ac567b157416a46910c0000010000d1060000040000007700cd4420138ac592c779411d988000167040000a30c0ff733dce4601000000 3f7b1809fc3100000000000000000000404b9122010000000000000097a95a0000000000a02e630000000000c0cf6a0052abfb03000000000000000000000000 01000000776e1d228c2229010000000001008000a2c0bc4bab79c544469f8ac57d44ba4059343a40a9000000334f5b10e8730a0100000000000080002be5bc4b c4e588c5a89acf41ac98313f0000000062e28c34e8730a010000000021008000e0f7bc4b6160d044aaa187c5a94701427df5cc3f01000000bfe3406401000000 3f7b1809fc3100000000000000000000404b9122010000000000000097a95a0000000000a02e630000000000c0cf6a000b99fb03000000000000000000000000 01000000929e5e5be8730a0100000000010080007af8bc4b8a65d0442f9987c5a94701427d839e3f01000000203282f2cf7e22010000000021008000aae6bc4b 14e3cc4101966540e604000032333341015e8a76e41cde0000000000010080008dd5bc4b3fc1c544b1d78ac58582a64017fb7b4003000000b8435f6b01000000 3f7b1809fc3100000000000000000000404b9122010000000000000097a95a0000000000a02e630000000000c0cf6a008889fb03000000000000000000000000 01000000ab0e66bde9cc07010000000001008000561cbd4bd67dd044379c87c5bf47014256ed893fd6000000078730d8b31ffc0000000000010080006f93bc4b The same two items, over and over: 026b89c5ef0c254104fece3d00000000361dcbd9ed56240100000000050080001833cc4b07b2c64402a489c56907c140dcce9a3e0000000019e8d22702000000 fa971609fe1f00000000000000000000000000000100000000000000280727010000000069590f0000000000804f1200fc09c002000000000000000000000000 c2a71609fe1f0000000000000000000000000000010000000000000023d018010000000000350c000000000050f80c004ceecb02000000000000000000000000 02000000710ed88021d73200007000f0c651d144dbc18ac5498b9641b34a990c000001000063070000030000007cffcf44b5708ac5d0248b41f06f80fdfa2740 d9c289c5cc298b413581334000000000d57beb653281040100000000210080008136cc4beab2d84449388cc595acf0414e670040d800000096f10e1502000000 fa971609fe1f00000000000000000000000000000100000000000000280727010000000069590f0000000000804f120033f4bf02000000000000000000000000 c2a71609fe1f0000000000000000000000000000010000000000000023d018010000000000350c000000000050f80c0083d8cb02000000000000000000000000 02000000264247fc3281040100000000010080000437cc4bceaad84444318cc57ecff141644cd93fd8000000 e27789c5ccc42a4188d2fa3f000000002e91a0f7ed5624010000000008008000c55dcc4bc147c944e27789c5ccc42a4188d2fa3f00000000416db86202000000 fa971609fe1f00000000000000000000000000000100000000000000280727010000000069590f0000000000804f1200badfbf02000000000000000000000000 c2a71609fe1f0000000000000000000000000000010000000000000023d018010000000000350c000000000050f80c000ac4cb02000000000000000000000000 02000000ed35e90fed5624010000000009008000325ecc4b595ec944927589c5754e2b41da51fa3f000000003d49d9d6d64229010000000001008000e345cc4b d73200007000f01f10d1444f9a8ac5cc669a414e6c990c0000010000bd070000030000003c2ad144af188bc50e5e984101c0feffffd7ffff2bcbedec02000000 fa971609fe1f00000000000000000000000000000100000000000000280727010000000069590f0000000000804f1200bec9bf02000000000000000000000000 c2a71609fe1f0000000000000000000000000000010000000000000023d018010000000000350c000000000050f80c000eaecb02000000000000000000000000 02000000 01000000db01d244ad718bc5f88896415466c030b531f9000000000000008000927acc4bb7ccca4443bb88c53cd83d41524d113fa30000000b15a61e02000000 fa971609fe1f00000000000000000000000000000100000000000000280727010000000069590f0000000000804f120050b5bf02000000000000000000000000 c2a71609fe1f0000000000000000000000000000010000000000000023d018010000000000350c000000000050f80c00a099cb02000000000000000000000000 020000004f46f5fa328104010000000001008000db74cc4bb0b7d64401fa88c58f5ef84138d72340df0000000b277c315da74e0000000000010080001666cc4b 450e425a82990c0000010000700e000007000000fa55da44d0c88cc57b36da412b507bf82a183cfa24a83cfb25387dfc1aa83efe07d0bfff4918025702000000 fa971609fe1f00000000000000000000000000000100000000000000280727010000000069590f0000000000804f12007e9fbf02000000000000000000000000 c2a71609fe1f0000000000000000000000000000010000000000000023d018010000000000350c000000000050f80c00ce83cb02000000000000000000000000 02000000a121ee96bd1a0e0100000000000080001386cc4b47b5c9449f3989c5316b2441a4eed63f000000002169284e328104010000000001008000fa8acc4b
Okay, there are aren't any really obvious headers/footers, besides total/current #auctions. This doesn't surprise me, I hadn't been able to identify any before. Well, in lieu of solving that puzzle, I still think it should be possible to (via C or Perl) automatically identify auction responses, via this algorithm:
  1. reassemble the TCP data. Every time we get a single new byte of data, run the following steps over again. (and if we get a packet of data with 1000 new bytes, we have to run this algorithm 1000 times)
  2. decode a UINT32 from the last four bytes received. This is the total number of auction items in this search.
  3. calculate the number of auction items on the current page. It's simply: min(total_number_auctions, 50). Now, multiply by 64 bytes, and go back to the very start of the response, and decode the UINT32 where we think the current-num-auctions variable is at. Compare that value to the value we just calculated. If not the same, then break. (maybe a little confusing, but I think this is very very important, and almost certainly correct)
  4. Now, for each the auctions in the current page, look at the UINT32 at the start of each record, and make sure they are in increasing order! If any of them are out of order, then break. [though the auction UIDs definitely wrap-around at some point... is it possible that the responses we get back wrap around sometimes too? if so, should we allow a single discontinuity?]
I think that part is relatively simple and quick, and although I haven't tried it yet, I think it has a very very good chance of identifying all responses of size 3 - 50. Just to be sure, and to cover the remaining cases very thoroughly, there are definitely other things we can check on as well, within each auction response: That said, there are a number of caveats of using a hacking method like this... 1) It's context sensitive, and assumes all sorts of things that may be subtley violated later (eg. that the max number of responses at a time is 50, to name one really obvious one). 2) As is usual with heuristic algorithms, if a
false negative occurs, it's very likely it won't be noticed for some time.


50db77e111fb540000000000016080002a688f45e393ca44cf7c89c51e174b416f120f4090030000d893fec00f8a3fbf5cd9293f0000e040025aa9da10000000 B0D7090906380000000000000000000080B779200100000000000000B84563000000000030EC010000000000F0490200684A6300000000000000000000000000 D5930A090638000000000000000000000020763001000000000000000A3C550000000000109E0100B4140000400D03004BD3C400CE07FD0000000000109E0100 A8D80A09063800000000000000000000E8C2D90601000000000000002589560000000000C0D4010000000000F04902007C21E200000000000000000000000000 C0300B090638000000000000000000008005303E0100000000000000856D590000000000109E010000000000F04902009A771B01000000000000000000000000 DA690B094B370000000000000000000080F77A4D01000000000000008EC64C0000000000E09304000000000030570500D2163801000000000000000000000000 C40A0C093748000000000000000000000000000001000000FFFFFFFF9B3C6C00000000007011010000000000000000007A0FA301000000000000000000000000 91A10D09364800000000000000000000A8B5B70601000000000000004F216C00000000002974120000000000ACFD1600F2DEFD02000000000000000000000000 5C1D0E09BE38000000000000000000000000000001000000FFFFFFFF58CC240100000000BC2E010000000000708E0100C51D5303000000000000000000000000 81AE0E09BE38000000000000000000000000000001000000FFFFFFFF86360C0100000000ECC2000000000000ECC20000DDE0B803000000000000000000000000 E5BC0E0906380000000000000000000000C03333010000000000000086360C0100000000BCBE020000000000BCBE0200F3F6BE03000000000000000000000000 39AF0F0906380000000000000000000080D39368010000000000000013DCF40000000000109E010000000000E02202007F3E5804000000000000000000000000 C6F30F093748000000000000000000000000000001000000FFFFFFFF130EE00000000000409C000000000000701101007B108504000000000000000000000000 858C100936480000000000000000000000732D290100000000000000780D6C00000000001C4C0F0000000000804F1200FAF57301000000000000000000000000 2ADA1009063800000000000000000000002E235301000000000000001BB47B0000000000109E010000000000F0490200616B1405000000000000000000000000 08E81009063800000000000000000000C0383F2101000000000000009CB2390000000000109E010000000000C0D401008590AB01000000000000000000000000 17E81009063800000000000000000000C0383F2101000000000000009CB2390000000000109E010000000000C0D40100489F1A05000000000000000000000000 10000000bb84acbdc3f91c0100000000210080001a558f454f83d8443d2c8cc5efa4f3414254004000000000431ed99890916600000000000000800093578f45
a80a89c56ec020419ed1a940520300003f7516c5fcadef00000000002100800091d399453482ca4447938ac5d5f32941f198c04066000000104761c932000000 180D0909632600000000000054020000B290FE000100000000000000F41E0801000000007805000064000000000000003786070016D426010000000076080000 8F460909B026000000000000B2000000804CE8650100000000000000C8E8F000000000002823000000000000983A0000BE550200000000000000000000000000 6B470909A826000000000000A8030000003E08280100000000000000CE1C190100000000111100000000000064190000959A0400000000000000000000000000 9E470909E2100000000000000000000040E849380100000000000000D6F2FD0000000000C35F0000B0040000C48600000FA709003FE0F40000000000C35F0000 34490909EB370000000000002104000080D48A22010000000000000076D2770000000000E0CE00000000000098020100B4C20800000000000000000000000000 9256090999370000000000000F0400000070763A01000000000000002D7D2201000000004A41000000000000204E000036790C00000000000000000000000000 FD5609092638000000000000000000000000000001000000000000003FE0F40000000000180400003900000020A10700FB9E16001951F5000000000083040000 135709092C2600000000000000040000E069040401000000000000003FE0F40000000000C8070000000000001027000039AE0D00000000000000000000000000 5B670909EB3A00000000000000000000C05CE506010000000000000076D2770000000000A42B0000000000008D360000C3AB1900000000000000000000000000 6B670909EB3A0000000000000000000080B0D879010000000000000076D2770000000000A42B0000000000008D3600004ABB1900000000000000000000000000 D9740909E30F0000000000000000000000000000010000000000000067690D01000000006325000000000000204E000013221D00000000000000000000000000 D37609090D190000000000000000000000000000010000000000000064C5DE0000000000791D00000000000034210000B94E2100000000000000000000000000 307809098637000000000000BB000000C046B1350100000000000000F058630000000000C50B00000000000010270000E4212400000000000000000000000000 38840909C93C000000000000600200008049F43B0100000000000000F058630000000000911B000000000000204E00000F952400000000000000000000000000 7A94090904190000000000000000000000000000010000000000000064C5DE0000000000CF1A00000000000028230000515D2F00000000000000000000000000 CB940909C61F000000000000000000000000000001000000000000006D82F70000000000B55D000000000000409C00008E063000000000000000000000000000 FC940909112700000000000000000000802BCA68010000000000000064C5DE0000000000CD1E00000000000010270000806F3000000000000000000000000000 13950909831D000000000000020300008033997001000000000000006D82F70000000000BC29000000000000CC290000FAA43000000000000000000000000000 4B9509096B3E000000000000B40000008052DB4301000000000000006D82F70000000000462A000000000000932A000003ED3000000000000000000000000000 609509097912000000000000000000000000000001000000000000006D82F70000000000CA1100000000000088130000324A3100000000000000000000000000 6E9509095B3800000000000000000000000000000100000000000000EB47630000000000763500000000000030750000BB893100000000000000000000000000 8E950909183D0000000000001E030000C045B12A0100000000000000EB476300000000008D76000000000000409C000025BF3100000000000000000000000000 A6950909113D00000000000006040000605D161B0100000000000000EB47630000000000FB5E0000000000003C7300003CFE3100000000000000000000000000 AF950909230500000000000000000000000000000100000000000000310A1E01000000009CA91E0000000000C0C62D00F81B3200000000000000000000000000 B8950909373300000000000000000000000000000100000000000000EB476300000000007D8A010000000000400D030034453200000000000000000000000000 F09609098D37000000000000B800000080EFB57501000000000000008A755300000000005127000000000000409C000047603500000000000000000000000000 91970909591200000000000000000000000000000100000000000000CB520201000000008C02000020000000881300009BC53A00441E8A00000000008C020000 11A50909D11C0000000000000000000000E909480100000000000000B1705900000000005B34000000000000A4380000F8FE3B00000000000000000000000000 21A50909D11C00000000000000000000801CD6480100000000000000B1705900000000005B34000000000000A43800007A4C3C00000000000000000000000000 6CA50909DF1C00000000000000000000805D0E530100000000000000B1705900000000000B67000000000000B8880000740A3D00000000000000000000000000 7CA50909DF1C00000000000000000000000BAC310100000000000000B1705900000000000B67000000000000B8880000023B3D00000000000000000000000000 8AA509096711000000000000000000000065D15F0100000000000000B1705900000000003439000000000000204E00007F6E3D00000000000000000000000000 9AA50909671100000000000000000000C06D9C260100000000000000B1705900000000003439000000000000204E000059993D00000000000000000000000000 FDB70909CD1C0000000000000000000080499E5A01000000000000000F4C0A01000000001C25000000000000D430000051544400000000000000000000000000 31C709091437000000000000000000003010C4070100000000000000A226570000000000307500000000000060EA00006F384D00000000000000000000000000 47C70909533B000000000000110400004012B52F0100000000000000A226570000000000204E000000000000409C0000C27A4D00000000000000000000000000 5CC709094C1700000000000000000000C0FBF51801000000000000008056090100000000AD0F000000000000401F000070B14D00000000000000000000000000 64C70909351D0000000000006803000080D4BD640100000000000000A226570000000000204E000000000000409C0000A0C24D00000000000000000000000000 80C709094E20000000000000000000000000000001000000000000001226EE0000000000204E00000000000050C3000015114E00000000000000000000000000 3FCA0909131D000000000000060300004053B32901000000000000007A43FA00000000007C1500000000000030750000656C5400000000000000000000000000 73CA0909641D000000000000020300008089307501000000000000007A43FA00000000002D19000040010000409C00004AFA570057A3F200000000002D190000 40D60909C70F000000000000000000000000000001000000000000007A43FA000000000092150000000000003075000057115500000000000000000000000000 49D60909C02600000000000009040000406C742201000000000000007A43FA0000000000CD15000000000000409C0000052C5500000000000000000000000000 98D60909A62400000000000000000000000000000100000000000000E09CF60000000000221500000E01000000000000AC9E5A00280727010000000022150000 B4D80909123300000000000000000000000000000100000000000000D7C26F000000000090D0030000000000305705001DFC5A00000000000000000000000000 79D909097227000000000000BC000000B06428080100000000000000D7C26F0000000000303300000000000030750000EF955C00000000000000000000000000 8ED90909C4260000000000006A0200006086021D0100000000000000D7C26F0000000000363C000020030000409C00004D556300E775070100000000383F0000 A6E60909E53800000000000000000000000000000100000000000000B966ED0000000000BD0400006400000028230000F11374000A7F11010000000018080000 34E70909092800000000000061070000C0778037010000000000000021DEFC0000000000B84E0000E803000060EA000050F66400771D070100000000B84E0000 73E70909BA3900000000000000000000000000000100000000000000FF3FE90000000000834E0000B00400000000000004C36E000F4C0A0100000000A8610000 e4040000ee52fa2d60db890000000000012080009b019a45d9a9cf4465258ac529da8441ac82813e00000000d893fec089da773f3e22803e0000e0400ed70213