0xe8c7de9b000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000014800000000000000000000000000000000000000000000000000000000000001420246adb353fa061e90114b899bfe82de2563659434ee0933c8e798a4734f40bd20314f1090bcddab30e96e56f3c955cdd0aec22ef9681d6bb50fee2ade1a24f4e08438fbf67dd665433cdd149dc827f6205a5b8e2147424138378beefd202691f15011df1fb1ada8671dbeeacaa3cd8ce08099c49e45ad3708e4aa35ad3d6c07e180ff3cd967e8808702833da7ed792a00a24812c8eb3a881dfb24b2f88f10a630171349c479e172b665bceaf1661d4d3d4be87a1d37d96831bee57ce6eedc95b005bf04e4ab91c0a264698e416adb5bd4cff81b4d23db02f61aa7ad7b97d72e90427e9f3b3572034380d74eb480ee9e0acaedfcb0a876eb0f5cd5992cb29eb9624115cb02e6fd8ab5f9251d3c853b604765781d5386746d8c41702fbe0513c8e1371777c4be0f09c4d6088a073e80281eb31208a42c54197d33fa969931216332a5726bfa7a7c3cbdb513703e1badbd5477df7b4a582a821da37b16b488bedc4196b205dcb8930ec77e60ed9e6a54b3c8b352dcf4612ea5b21a440a865972eeb121b133fcfc742a88f4a1d0ff4b3257d07bf67d1e76675b36d99a82e641d9f202072c247943a2eca77f4030a04b9e53582b1d003bf4d482974eea0246e6e87d90915225013e53c65eaf2a84536168e257bb4f11276905c44f2cc0fddecec39d228b9093074ad1b240725a2f955b29cb8a930cb7b6a5faf3dbb5cd6bf9e6e60b017e0edffc57a896da43b58303717e6c4ad7425817c9b5cf62bd17d7dc663cc080d29ed65c234107bbb43bca131791ced19154a6b59bb877ec3e86c0ac221308d0e13873dc31fbc4c7b388025778ed47d13018340cc10c851c890bac0ed76682d2250e36f0a3724ef67c90273addd4fbbdb168ddf8e17791342ca47484bfa541a0f5eae3d4c168ab9f5641f58bfba363693839476725d5985457b59f226974e64011cdee5071a9ee38f74108c3273e51003ba123d147ae89a06ee6d4d09c1fda6182e74057c5936915a8e229215b7461b04794fb4d8f78d031be432da8823df3a2ab4d4781ec640dd5fcf58bb977185ed4b9dec1e5639645d9dee9f303a7465171651b374f44a31398e37eff38454e05a129e414451480dc3d16b0828cf94eab800ad903d759a25f0eeb4d9e234ccac5fe6e41379270514c76051f063e706f7522bcab774b1fda052e870ed8004424bda0c677a045b2ed1503f16135a381a0b6f17f39e03dcf407f39c6fa2e6b64db697c661a582c92f6faa850d5a43172764e4166c8a078e315646a0b1e3aab9051132669f275c3ce6f0a2030a0bd6983326c8072a35b81d25b78dbec6cd31a0aaee186bdc2cf0b06b295793f8c0363314c3dd1de30eb8c62e214955cfa8b6956301635b910b142ee3c4cb19ff1fede5e7da91119d55afe59ee23b671cce3126e59ad8e33e4a3aae3340dfe8d5e3341325a89e0b686707677e350d73a00c9f0de322b3f7b19ddb6d63b54329cc27ad8a8a4a8714f50710744bf42ed6381765e5e0595c8014861f1dcb2209a9f239ed828c9dcf2b777f20bc960abf00a409d50f249af48812cabad1036f780e312c2f047e129e2adf7e5ff6bc54053ddc627d359d83c2583d2fab67836b44d5cbf2385b52b17d02de063a0b30a0367c5082b7c52c6c6c577df5068a447eaa7adf131153b3cc8f2fa0d70785f92489ebdf923f87658186e2185c1ce54cbaf3be0f906f1d9b315d0c820be2ec0d0a84556fddc72077852856cddebada6ef7105ce177caff3473c72b0f571fe9713be0b9677d981554b6850510adf8b37e78e4b1b455e433bb99d5013601d1124954dfde68ed48e6e5b12b169c536c3334f4b5ed1c2fcfb496cbe5273921ae6c8c2ebeec041d37fa8036b1ce0aaf85772192cb72cceb4f7eb668cb2f06d1adb26a4287ab3d57f2a498bf9ad6e19d04964e784d5f68371a1d788ecf2a0737cd79b8644a412cfab959b89fbe4f5faaf2afbf4d8253de554b924b92d30f2d32e0c199005d65f1a39426ca26a28120fc39aed5a008316a63f498e4ef7314deb4fb4f32791c5992eb29fa872f3ad177c433a34c7472c2fccfc8cf70c5c61d858e532ce766de324da5422742d192675b659f765e167625b8cc179f4d559d0e4411d9c13372c09d5dc4c771973f476b807167653a5fe263e305eebe23e2d62385198232b490b63384627807f26a5ec06a0cf367fca3939b590880a31ed54a056eb42a5dc0cc52ee3811b4aa7e0b7bc7db60f00c1d89674f1059127671c2e40445b61471c4e72681745fb8815329407302a332ec62d5b4a4743e3612ae03d5155b34739547ce9ceee18f85b415f13529f1ddea7c3de33aecc86f2c131c6680249a9706d69ed523b2124732339f68597f4f1dc9aed96257afc1684bb0a9336a1408d404c49789522f8c18593b3bd800c1a1c9bf88b43a4fb85bf7a9c9b1a0640e150915ef7f5756195cb5b963060bf374601c608c04a3df5e2578e9d033fc5b08b8d416a3e26f773ae3a27af546caeed3e4702432b4f9267f5e8a82cff5ad6722365c92ef200c35de2acfe6fc9b1516ff925842bb9c73690fe59c2acc5facf900ea47f1cfd9962c4ecf31bac324d28a5167b6c1556876545f20f6e34a3027900e704bdee1dcb13c2047e1452dd82726ac3a8f5313bff530242cd234771e841d1cdc963310fa89fc4fcded3cbe10663d675a83449042c3ac7567caeae7a8faa80604752ce09f68f271095e3ba5ddf51a6a24471b569664393eb1afbbdeb9d510052d3159eda8dceab4c640738011e887a019f442e73f644b7d6bb255990c7ec5144bbbdc4869bf9986bea1e2a1e1ea0582e98226334f4e9d0d9122209b229f441bbc734d7d33e0b5af145ef3883501a43e1d54009759318a55ce013ad9cc883727aa1a8b310203abebd15f9ffbee569e21da6469b0422fbbf0985e88919b3dc4093a2745c4e1cc03014541a8c0d17bdb9909defef05b6a22cad681605c04fca80480651b1c74e989c7923a49d96d3e36d592d5a26c72e45ceb9fe1ce67d120b8244344170157aa662ad1bc2a5463fc9829e934e2fe18d2ffb34687e76ce5a46316327a67e438ea72922f96052cbce584e71f159d21a68f95fa1e07c455736aec1a034e8bd1bef9067e3904647ef3fc3ca296774ece8b6126eec590ba1db824d9213111a975c100b122e51d6ab80e54b7e8c17838cbcec0162d549c11d79c70b51f0a802b5cc743890a1d3ffd4df3983d0306ce0f92c94e9c19cb7d40a5d74b1e292af466d89d0c7c4ae99ac6c549b3e952a9f548a42867d8b799ea66d4a1e43c14217c790501c9aa84c2a257241f5729dc262097f19aab1937f6bee5628808d21c9999ca8dced6e303520a44596e82f9c4c3bbc24a2c7163b9cded4c50acedf427ef7a86d5a6e89f298cc610ad7cb6706582324333b4f5d3e95216f6b25e3b5e22865d834ff5d8206708c65e78d12ba18364b8326966f1dcbc93bf59a6d20e2a1d4bda1657d953b50e8bafffefc5ea078c3c97814013be19099ac0bdffaad26518b751e364b2c16322b2ba851576194bc786480d430f19a13bead8854d50515f0057f689e82936d44c513be477c800163872e54ac6723253143239ea731af00c01f6e9f07c07b69e0530106cc3bab6e172613f749d1e78e71a765f6d67d2f2e011a813089558a287b7742fa6c7f6e2e3388643c5125b5f439e75f3f2331edb732a59ef8843d80491c4caf7ad211f17e6a2113c3acee7c244728a7f179ebcb3f519fdd080d4e13e8f4781eacd78c329acaa364c017613ff1e37223001e0ae869908e7f49070e3728848de89778769d77315a46cba02ff2654f9f770315a0a09cb0793b59e936409f6781b93d7cf3e4c0971e8274aef1dcecb6e71355b49c49979055d263c51ec5182caec814fb0b74fb8412d8a1700e00b2417104ef4d6b92c311e8f3293111027d112149e0ab6db32719a386cdebe3cb226e23200816a9a17f218ff49ee770b7d8e0b1ca332cb78e6640f6384726af68865215bedd00d4b0924117cdd4a0e2634b89d618ec641538ff8cd79b4c1c459b198413db8f14956a8222619be24d48a538efb87ea906c1e077b3dd380880a34be91cb72fd926d37c08327403c123fbf136a396f6da96e4ae5b1dce523603b2fcb8fa1f5dc46c0a74a4e27403c123fbf136a396f6da96e4ae5b1dce523603b2fcb8fa1f5dc46c0a74a4e2a93276a1d86dfb041a6921f269ec8365eb049c630fa8cdeda4efd4705c51f0d21753df0a73ce4da75f2f5ac8b554ef39e1e68da62c3ef126b493795f0f4c5bc2c29608f1301c837eba78e229f7ea00eb8781a25195ed2a555376ca3210349b6194919ff84403c6b28d60138080c396f227144b40bf8d798f7c9bc7da9705f9c2ec078e1abf7cc51f28037b5e6296dad8f1c605d6d629ec1007a7730edaffedf25817192b1e5650d7b0a71e798c7df8d33158c1de89600bed720d073ebac09f625817192b1e5650d7b0a71e798c7df8d33158c1de89600bed720d073ebac09f604da76cf3edc30600040930cb79de8783348a6e27fa7854180a5b395fbc0d45c28f3a004377444e5133b354d66a05444dac54b7235a9543a513a73f2a269a1d425160beb690106b6bfa0e3f1d346bda0b6634b70b3012ff045106f8d74f794912cdfd7d16e3fe641d167adbf07aa53087055cacb873a2ed847ff582bb0a1f1ee10f2b71e1341009c897768bb3b031e827187845eef1ff9e3324da0b888ee5f341ef4e7ef083029be5b22f3ac559097b97524511a81c55bfe95e49357ae21d2942fefd9388a049ddc56782973c96440c3143cd291d31e9073236c5b05999cb8960019c13e251f842efc5a230b0d3a5ebb07fb453738b63e710fe98d5e490f7a3d15470b4fbd5dacfe3e2686a120a18c19c59c4f6bed41c3321e42aecafdf42f4125efa114ded968a94dfde54641260de527f934001759b1c7f0907b7990878cbd0f13f108411714c08bd225a72b5b38b5a142be2a5a131c5248e3f80dd3c6bd7707a20cb929e2d513e6346781e4b186b5f5adfad59033f3b56bb975717dcd28cc1ff59bbc756472d215c0cd9e19398b19cfc616c03f7d614e68dfcf90b149ea5e17628981e7bdb251d2019699b461cf7a2089eea15ff2d23ffaed7976989e660d0190dee6a0d0472d8ac056b85021104b38faed36ae9137072d19dd5df25d3f7c258474ef32b67040c89118780eeaed986e855cf6f898ffabd7f65b73f0be966a082650c0b752addce5bc09955f8b779eda58f7a92dc895ad4215d42ce1a22fef2b0b0e3ed268ff814a0980c86ee235ffa9b17d3dbf455f4d2fa4d796d4abab7621432a1e052fa165203e229263df328c31d9de8c9d852e59a36a1daddc7ce3ff2e5408351b3051e3c16d19a69e36199ab65e06129afa9ed87f67af308225bf3921f7a7d639d1eac23674ec0cb1fa5d0d993de33ad7cbfda37e555e078f3858030c530b8f92ccfbfb6fb1c0cf297f18bc2d3ce3c9f26536be47fbd2f2aa3558cb031f5db71024ff0db2e0af35a17f126db6abce32fe6fd5d6dc7c873f1f498892117578bf3dbb5c589f96ae0f631c0046a1d32fa85601a4a3cb11a8795bf6324306a3c6ed520cc34008380e0571430b995e3c5ee9e1c5ced777ed1fa0bd4177662aadf5739b5ea3cea5e71fbb5d3c1a9c98fd513a132d690c7256b2face18090d26d2227494d87509ba50eeb7671dc891b9d2f5d2eab7de77c60796e9372a1465014321d62f8ac12d26ec352190e9aa0c0c8a38d46017af9e789952c408ebef8e0df716786412f2bba9ef2457d87a67ed05d42bd35df4d28df109845d79bb1c4419199bf3a04b346b030127da8c74716d9567f7535f602a5aef40e6cfea338dcc047215ce27bccab07fbd86f4b3fc26b162208d3a9fc4ea65164d07453211ed302a0838e30fdb2ef008ed1bc48195afc24c25620dc3c9e055209047bbdda6147701cbb29399541ffb869dfc588ba1da8ea4639d1d61bdfff2ca505b010b08c6a407d748204b6caf21477433c2bec24bc995296c43e893e7cda571b0070363fb3f143de99fd3f421ac392228ccba231a38c92a43f11667e53dcda5e69e5ff04df629b71b41a0af549bfe308784b4241fe856de04007d0f7078fd5bb5955609b7520fdb77e5ecbceb37b7ba9d9597fab749aa48d1aba7b4b0452bc783a18c8445eb2987bc54947aadf9a4e31d0da75e8357dba95919056d46fbd98edee2a7ff9a8009b4c5182736d2dd908c88e115823ae0b62c35e8bfac2a9524880abc09b62b4f2df0a8a0c14eed7b9ae243033e4dff9f72456ab0ebbc96941aee293a463d2f402e1668a3f0bdeff3683eade76b6827660ed812f367be8b8c37618dc974c873561a268e76bb2845d1ef88cdb959beec699a380302cfa13ffcd80391612cfc7fdd108306b77353cb19609ca271d83f6d5cb61fe08b9637e5784134fc8dc0642ceb0bcfaaf6fd81bb030198cdd01dbc83cc2e08d2f186585a90b64157fa6d5c7a351701a68493cf0376be3ca05a811aa160733df947e480fd38dbe755af5f799c302ade7573ecbc07c14f0896dd6bcf4f2efa69b4434a995fed6ae3cbb0ca215db81ac71b8e1adaf46fe342a7ab6f55508bc0f1ce09979497c78aabccbdabb9d42709525609a9a6c55ee68dcb89029fb0350d331959b53162d9a1b215fb37944e722fbea80d781a51c7fc8767ff61cb45ef1c8bb12557c5807f8de6b09276700f891534abfaa60b629385cf641c7c7e2e97e6ccd3b9c25b804b439255f3da6cda150b501a0fdeb8c993604c570f47cd68c646151d30cb4843a3e17689d708a481ff0cc8ff2e333db8266a3e5f8ecce481437ede48891ffb86465b0b52ade5b59ec5025e4ce087dd86391dc4d1d5544e69d1383708d17ad763449c60347e353b44002a5701672c187ae92838f4cbe71f21ef0ad0d64b6f05f84b4146a0245c5771a00e802143b1bf14736be2ce2baad840fbeacca0a3274dab908aebc4b4a46fad810efd060d6b25fb15fe45a0602382b3612663c0f5d9499b9bd3f0db015e033ddf11aa173bfb79155b2ca0507247596d0cc9c28a6855be66a513b876be39e4a0070ea1bb6991cf7a28e2021eda12efe83fdad37a1676600186bbc6d5f6b37d69632278654d00c1343b974bde26c3f6eae6c7dc5a374e61224966d5dfb1b2cdc3f409a401d8126c5943d6d72432b4a89e4354a7f602177757545bb41303eed8da8a2ac97ab1da69ede2819718989a31e9708457ca577db3e0e9865b28c6b113eb1e00000000000000000000000000000000000000000000000000000000000001030000000000000000000000000000000000000000000000000000000067ccaaa500000000000000000000000000000000000000000000000000000000000000650000000000000000000000000000000000000000000000000000000000000ded0000000000000000000000000000000000000000000000000000000000000abc0000000000000000000000000000000000000000000000000000000000000bd30000000000000000000000000000000000000000000000000000000000000b2c00000000000000000000000000000000000000000000000000000000000003e700000000000000000000000000000000000000000000000000000000000003e70000000000000000000000000000000000000000000000000000000000004182000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000003f500000000000000000000000000000000000000000000000000000000000003f5000000000000000000000000000000000000000000000000000000000000042000000000000000000000000000000000000000000000000000000000000003f400000000000000000000000000000000000000000000000000000000000009da00000000000000000000000000000000000000000000000000000000000003f500000000000000000000000000000000000000000000000000000000000010910000000000000000000000000000000000000000000000000000000000000b2c000000000000000000000000000000000000000000000000000000000000396e0000000000000000000000000000000000000000000000000000000000000a4500000000000000000000000000000000000000000000000000000000000009e400000000000000000000000000000000000000000000000000000000000091d80000000000000000000000000000000000000000000000000000000000000066000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006524d0000000000000000000000000000000000000000000000000000000067ccaaa5