Blob details
Blob versioned hash:
0x01375b6b43c7ffe7aa309818419f891c25b8507ec79ae4573583ac74c0ca55e5
- Commitment:0x80aa01fd9c98ce43fb47a2d8dfec569792b23ff2a0ae3196272966eb3f99600c9e139175814a96dfd640e5b129f0a169
- Proof:0x831f963d8793aef93d43f98f2c57fcd8e371c191c9f7f3dd779bb4741cfa5335920da1a52cff10746490ef4c8146c0ee
- Size:KiB128
- 블록:
- Storage:
- Data:0x2e000085b878daccbc0550956b17f7cda64b3a159192ee4ee9966ea4bb43a49136909490ba09a591ee6e9592ee2ee9944d7f83cffb3c7ae63de788e738f37e7b1fdc3367ae71ff7f6b5deb5a6b5deb66f6d90a718d1324d8c10f325cdd1732d20e459600e2dbc35789244e869058149e0eb1e42a3bcf614622a89b4a87b8c0db17df90fa8d628b379083055dc8f564aac634db183b81869bf311447ece02029123422409b6d4c2133c0065a8b9715c2733214c851799b2d4c6ca346974639047056003ad62ef516c5d568d2324f8f97f74a3eeae9b7ecd679ab73b9e4b41fd8e0542d4ca9b00568cc22424c9329f0393f5cdb24e0680ae175f1ac92e98dd87c7116cde176d110f8cbe84e4a6c6a8c5b4757a44bba2fef10773a3ef2c0b0202361741ba1d170a1f195ccdb12ef0fd8616c4cf865c7bfb8ccb052315fc30f3015a34cd7605953e1cf0d14bdf7e782506efcdebe2c63561533d612c051edca4fa1f1e637e41d7d87af06a144acaabbbd62f3433ca0fa5f28b8f59fe8394afa7613d2c42876eebf000fbfe49fe4a91e13c9c9909d57495f2e30af4555157af0f757a1b250bcec655853fe8c6fe822ee640f9f8a17a14c93d4d31d565d8bee182194e03af2598552eca2dedcf6c4cf0000ac2d915dc87c019a21399f598c145167455342363cf36fc0812289691cd97ce3fe8c6fd425809cb29209e367b6c5d8ae74a189602baefd2e6ae1b0665a0e4dca4870534ed5dbd0059e530f8b087658a6d4638232f05d13ebd7af4ec9eaabe24914213dbe9892435f807ddd7bfa0fb726485257bfbebd82a4d930d7cbfd597b3ddfbf371e9009db5301a5f41822819203b9c3037c11c7c9494a7ba5d2916e7334bbaeb67efdea25097a82c71e037d8fb836e05fc2ff899629ba95d117e6cb9a55443abee7590580a2302ac18ba6b9199fcfd3ff9c77b4b801539ddd61825c2242b4ddd4abbbe4cb778eb87e755c882fcf653045131248a657fd04df805dde337cbb9d0acf8f7c11c89cd315c800dc46826c52538bda66978547b211c86034016290466b9e45e7f2cd711528fda659e8811f70845d4df3d4050bf65c65f544cf507ddc45ff073bafa43d2fcafb88b9a2feb7403e664a55597b71cd9e86c1d82a76981cc059f2ee0f14542ed2354dbce85090110b73df8dd36e67abe0f1caef4fc7c25e6a644d7e33fe826fd82bd4c31fbefcd13f97984dbba10d9e853df3629f00cdedc3c733f6c931e3600711b03960622f1265ffc78ef65f07983fcf3bc49a5e85e9fd9984c92f4881421dc1ccc6dfea0fb351774496cf68b954b32111d91acc6b59d1b4ba1343e3b0418840a1a1d67741b24dc8705447a84530d20a53b696a3eb6f04f899b284255be47e8ed27083d214a3340a168fa4137f917fc4c61eea866025d6521c89df000da39a17a7890a28e5f03eb30f5897657f7c19a2b14802ba223897e5552f226dc39a3b9cd1f298e58ac0285275d28689ad67a4aed29f90fba29bf60efdad9f8872dc92155a3e583ceb53db4e60243aaeafbd137dced488e7b95826dda805e3d07615248e9031f2ae7b43c504376d2f1a2f97051f32707b6f2348199ec983fe8a6fe82eeab183e11d26e34e218289d00f8a7737cbe9647247c007378b5794b9f0a649cdf1aa0b6c0a875108f4b04a16c13fd6d639ce44635a96c379fafc070d9d470fa787fed0fba69bf10e78e20aeb28945657bdfe791129ff7055b97de5e284d633cad3b0abc2f84f83e891c806afec22094b868761ca57a73e9c08af6d97bdb008716311d5f81b4cd1a100236f307ddf45fb05704066b61f7bc73f1dac28dfbfe7b14c5eaba8d9ab73e6f212fe5633e3cea5a3d00cc4fdb09f7b4b2486c88474bde1fb4ad090a069410c20cba500c53ec1aa873b2fa4117f8055d6be31897d79b7691f21293ad1230072852b17a841d91bc27532f1646841ec3d6000f56dcf8de11b6b0ed92d627c90606bc52b1ac3ec91f9f885dc64533e53c990b7df9836ec62ff8f9e2c104e9dc1f364f989f5d02a87d968b477003e9e4d0f07e9b8b55467c4aef2e60e6595a8702e5eb62a4f4d2cd6d352dbf7b4852d8ce8cf5d585eb90bcfec7372a3fe866fe2dbd346a960b95464ecefafa5679c156e83e8f5e7a10bf4a861927964d4dbfc00bd2d906d40e41554e579941b3b416a5351bc61e069c2fec37cf9f09cc293f193c2f7b9cff836ed62fd8bbb07c0566e13ef482d5a18e7cc9639ef865e4b0347d385208e1a219c174cff123e01a56977e4ad26cc83f2454b83258720cd91e88d30202c149324b9d863cf4fac7ba90fd0bba2eefd3a1ba6913c0766c61a9e7b9da36c6e155f2e50432ec575ff7cbe8a8200210008ea4fc5aec533da5c7668102593921bca83afbae7d6ad4665dabe968e2bc2ced3fe8befd053f4331e68d619d2724ebfab4340ee5ad1910bb311212558b412ecea3358b7c71380754601dc9c9aa096105df2a3c5abd7429198b8d6c1908d2d587b7b5a737ad9c95f9a19d7cf70b12eda4a248cd81c01852e3fb12de1bcd6755261250825cc28bb31bab21a2f84a0caf004311343b7204fee876b7dd70b15713f165701d9f299aa1a4a0341826e10d9e73fd606ece2fb8395595b65c7d55e5d5cd6b997a9b37d178479f18681b88288cdff5beda235f138605708f3455e993cb3ca4f135e78748e48599e0c5dfae3da3e0c99845a7271d8b614483ad7d716bbf69f9810281bf11f383c11b0112c90104b7fcc1958fccf087d109647d6ab282420e0b40da0d94b4f0bbcd05c680571a07a5739bfe329369ce5649a8168307146336dff919771c23b834e3abac3dd835174ff4ce72e763a10fbcf85f3a6f31abfb2af639397b628ed4a4975bd615a12719be010f3cad0614828cccea97f2c8d8a032a297ec1d23364d3914d92b02fd236565494311b506c056be74fcfef72a03bc7d3dca7fa6d67f14df517f7fac442dca19be70b08fc45c8946cd1d9bb53ed919f22d812c0e09a0e1cc2a48271f6f2007152bdc7c5d02038974c57f1feb58ed49607378b6a5ac16d8caf769d9ddd404860175ef7db73a7ed0fcd7a17b2e5aa40996226319761fbd335c02d267ee5f08b3320350db1f762e52fa895ac8fa91f021057c23faa2ba0542b4de87f5c7bd01e63352035bf9b29ddc55ad86038e65a665bed8e79c77384cc08343c98a19990255f7998e53b90bd35ea21a80d0d8fd669d7d2a9b5a716cd5c8e485abf1807b3e08a6b6e372b523ccb5f391ae20d8ca970fe1ae9e44d4c76379be3d9d3ac5e029b929b5319fc4a990788c3bc00913ea5c1e131ffc1290c9af706d7079830d8138415ef599c86054908d7f5cbeb96b1d4f761ef5e278b6162619f20c26e1f63c3481fcd3fd91b6da20fcd12eeaedfc60ab5ae278f5cef5c6cf5a43b4674e791027d582e77c73d711bc6b61c8a0272f2620fefe03fcfd32e4c2dfaf43fd641dfa02f2d0447fb9549a877f2361f757ab70443128a4f117cc3ff97e10d14fd6f57e0fdef293f5bfb11f014ff679facd4ffcfb137e48a29f1908f1ef3600f25f7eff3bfefdffebcf1ff8dfe2c599483973f974b56274f0ae3a1d618f9656fdb89e3723c40a5f5b17ab450a1ddb81ece02b737a1fc1f1efbf1ea9e6c7fffbb373f80f3ffbff2f1fef7f973f207e727e2016fe5f1bd8020200d6fbc8abc0d878bbceab09e42251ae351a2422fa5f9be48a789b0ad618e182000a39523fdac87704b469328848cab0aa30d558d6fcc4e2b3fe2f2653954c8535c156bea26bdf72f2dff70b27df6a417efe40242525b1659d0cca0afdee2307c85225e4960602defc91b80cdd8f9f0c004c030f79fde83ac61a9a3728a43d872786436804c5257a17acf238b84b172f98c056bea5b577531b06a4e884d79c4253ec948dcb4d7ce56615532277100cb7a98c0f895469113337ae014eb8fed5e079abb00abd7be26aa792781d373ce5e3f9eac24af0d9b19f8b62a5b4c156beac967755b328f7de6e14acf3104a8dc7a124aa88d30b4513a63985d1d4c9317ffe669ff9316031ef98b94fef3b2d1800af4ec89efe80990ad6cf8ea2a0fda9589ef8702e57552d4800f20cc41d5be760fde1582594bf3dfc40ba51714f32dd69b94e026c9469ba1671758d1224e8f4f8024340847e4a459af33944351d6439acca3fd96b817f19ec7f48269915438d17afe01a2172845f38abd0933014a5dbfcc364fa3f2b5a40c07ab4e0c439be4eb3153cb976f5fdf7640eebbb46d81979f05c9b92ee3af7058300d732c900042e9329b740cacfe64183ab8682335d03dbb83d6f145cd9779f4adbd5c4430b8263bf35cee2ccfe30278b10fef0e87322be119e717f96febcb3e9efbf94f93bf23e788304e2f1be3d247c1c295cb184fbc7bce37d97f61347f502cf1f8690074f88805795dd4d152852009aa547e7e30c2f1f89b0e618da44684dfab2163026c14e2a9ca99fe2198abc96ffded0bbc6fbc30ad10adc3e047f3e4f9bdd950825eb836f50e8ea08d8bb2e32a2e8fb8a7b5c74110bab8a698c7aac47093835680f05877ca44f0c7cfd012fb77631cbf12d45feccfab15936161f4adcb9f9775d15e15fd00d164de5e8deae82c54ae4aebd5fec6c6be15d1358033e27389c613306b5d4510604880e4352766fee8d24173944b35546524f266056a06de587972809b93bb7e698fd602fce9d75bd01873df557f5836722933a7eb396402fe6f1230c1861c56d9dd95ecefefa2f3e42c053553f9d9974e66a5b87eca4da94958e271361e266fdc44984638d58a3a59a37df75dd077fc15e34e7b152cdfd275000af3785882d5c443646d40a3da911b8b287ca90bfbbde0620624f1bf28668977c703c223d81a815372c2d65e78ed941d155f1750f9927810209fcc2578df236e07a12df36ff69ac0523dda769db968780f01f5cbe57f22d614495bf0dfd30ea1d113ca3c6cc7b69d936945b7a63369a583822b983d29e8f5a0848de275b803764141087fc7981f7fe39baa7abdccaa373db4f6489c76ed7888637e0089ffd5b512320dff6c438c0065361e98a4eb4725895e5a3e70073a07f064260e51ad1b137042fcb54441e37af9437b61c1fe7309da6b072c863e439b73dfa5a1f14686641730f5b6e76ea9d90f9d493c4eaffd82580ad41118b4bc06b57c0b2e2c2dfb070052eed4111a0f901cd0d6ec13968168bf57dc790e91ca17578d50388d8aa6605e21029e4ad7a4b70b8afece17f784636fec181837778237ac9ee0df18d06ad57d1033bce691763214e1c696ebc1b4a83c032e138468089461e47ae628a036079c1175710154a4bacdb555696bf8333071950841599d7f8450e121dfa22f52b38dc10a3fb5b0ef01da1f90734084f151cf8fd20fe43031aad1eeb20b636644ddb4903ccd6ba36df6352ed260e76a680305e8fb283a31403488ed47de85502ae581b2237166cefafc96264299b00ade734320c195365c2fbe0705fb9ba7f418368162fdb18f68d661898c3604bb90841ac4aeb8965ee21981ad959ed9530ba14bdcc30424267cb3c5f04c81d0b55cd326d86128647d73293f5b3a5496a0d886995622ecc2504f627c8c1e2606b3f90abf47f707e5eb42dafe0dca98ba0eb65daf7de014adf37d716b1ad7672492c1347a40db8f7f9692820a1b144b76fe0836e04a13239c40a3678f104dca47fe2179e63a308b1285474702bf721f46e72c3c09ab82a86484099f9d093c9cfea906007e5aa144b7f7d595f021df2321fa7475f010520f7457e1fefb1b9ead61841e7b5f7d01a1d07d4756772be83a05242c817b3d2162bdf8be6bb1aa7990fc266d7f3669c28b856141cc93b2ba463f2535f568eb138aaf154717151054069b1f089ba91a803a8e1fb5c1d5627922fd2ee2de8341919f44ed9aefacf0ed4784282ddbfa51c1f5d7f68da87dedf1ebeaee17f9e06a0032307211608f5fe93065abc01d2b87c960a65e167d928646d4b36336739298d2586c5c27e308e0b111616d0e200d3c13b387b060688779f15e769aa88568cef10bf0829df31560b88bb19b45fcdfe9ef21c2cfca1ca90bc6f1f3ebe1d9fe27c21857230d56708517a997db48b2691d52dae08bcfd6d25b35a5a4080f1dc17c600a1d935e0e3174e6301faaafd65647283f9a099071da6388a331a9bbb8035b5182f59cc5b6958ae62fc40e751616188f8c328681711e5523c8f3c5c9dc89a6a1d70c5375da7437f287c4788db07c877aceecfa3bb46044127a7fcc790e67ea31417b9d8319588e7b1e2a8066ac8f0fdcaf397dd037285a67eb537448b37b0c900a2728027c2b540e97e79bd1ef9980bc7bfadf6083e063446b834bf4bf764101d621d3879b6579442c24ecd69b0874622c7b489c362efd2a9b47770a24844231e434d8cff01bcbef7ef1ce60dbc4e381f16a2f6702b4ee7fd5c3ccf5043c1db0f6bbb64308caabf9ee868231905d82b2d6b043ea080db29a4b0e367abd531e71f7c853ba3f615be5a2ca5526c30caac16f406f20c14ff9feec4dc1ff27cdfdb08f20237ca0faa28320eda0ff97227e1794d61dda9d5a59b21e2046db484772d09ccb1fffdda4f1a2ba25fb9a5043c437419fbcc90ee45087a215d5e0ebb60fb08ed2f3b36435117edd09fdc01e7df8cfcddbae9ca1ba39ff0d1fce9cd14a9063a6e828ddc01f9052774844af62552000a75812dd25fdd62ac3dad520c1ca97a13d5393ef300c113496cfd266c46f84188dd902fe908c473009a22f7a6d9ab78013b04d611f16986e0b41be733456ee60fd85b79c911ce2878357190e0e8dbad06f9431a68427c7bf84698fc834c0d411a7868db0a711baa0fa861e447893f5b053ce9ce4c2630fd34727f09e33e4d6c26a7f838472e51c3f37ae0f147bde6ed3f6c19b9ddcb377b6463eb417455c46843fe6cf539ec35dca3ace0efb9c59dd13e1207a5e5f6d1ea5bbefce7b9059289bc845a74e1ffe41610f018cd720de8e701302b2590300daa3e2e9f557860c896a329c25f60b6c598c7053c9475ed083d2b97292ba8783467dbb5bf1b0833c75b1b074533844d112dc1c3017f06a2f78d0ef30715f043f84186a0c7e5f597c8719f3e3a20154815b288a9ab57204b40f622e948fa6cd04e9b42f2d137174160e2e9a55e3136ce007ba969b592571f81231acc2275e79ef94f828020f934346d9e9e37563f6ef5c31e1477b4e8f8f630542c1dd70b1af714d6b0b08fa370a8cf5faa0f483cbf9183880afeb841739d82b52290412a85c4b8e89523359afab7dfbe3aa0f6b3dbc9b762f0e27a99fb60039f26968566ce59b5ea72687eacdb984c443c437483d2db144d0278889cfc65c08511e0cb9edaabce8351eaf359e66a1e4cccbc487493f90c45238bef1bf65eccaf21119ce40fda7b9ce407927ef9e71b063a2031f74beaf9df861196be310f0e960cb4d7115fe03d954cb268b7c4ad80c3a73636da9e7a5f1e120d6893a42d84f9158a9611f99a8f687b930b21cdc9760a9110b0af4543ac94ba977dbfffe408fa38172ff883b6a717fc40b9aaff209021211eb38557e4de1eaf9311f859c2cede3652669622effc55fcf748a6dd4125e12d944773180c751c5c97002d46234e21156fd1072caa854f972de4b3dad27bddcc81c665eff71342375a33bf731579f810a5daf983b63edaf98172ddfe0117686f8a764f86e8962b10baaf123255cefa3d014f9af552dda0e3783df55e69c0a24671f7867bcca53e406fa4c2f416e4fc06c9d3ead9625656d332551423bdcd57af62721f0fc6b420ea9a1a2f48b0c77f0dcba84d7ed55166fea08d46333f482cf1bfd8b08a88cc16ff8dff556f5e8f5d128f25bbcb6cdddb49cad74f8ba0b8e75ff9d993f35b43814cf30576a081178d18d637de723d555dc13e2a0b732fd3a8454b03de6a09d5f86e282c661f417e773c4cbe965fa51caf3f68cd83f79f3aa661ef29b9bedead6330dd936605395ed1222321115b168c6189f587702fdae72d3edd2e7e10451ec80e200cab23b538651112bf12dc8fab7d6c6f7406a5feb9a8d5ccd1917573765d77f83b575e9a5fe9358c3f689968e69f722df3b9906b08dc66c4ac8de98a183a62ca2892495939831c04dca5823daab99b42ec87535ebe8818c47b80b67fe683ad11d95719d22f5520cf30360ba9b61718d87b684c7742617637845f7f3f60c5ca7eef876bfc418b02357fb35f9df1c349f780ff1d30b258e23efa90a1718467bbc72754427ba11121b61470e3b9281362eccd1b3407807ebf3cdfc07df3c5fe2fd89e1d3e0a47490ac68f765f48e5b9d22b94eeb88087c6bfeb5780fc8a38b7fc4173c65b7fa3df0c87708f4aef7ffa8f98ec2cf96e12b928e7ca46b71a7cc32d14cbea96ce4b3a1ab0725247b015d3004794be9545926bf6c805424f095742eaaab04bb3976a87048257769938bdfe72dff50bfafd0acaa4fd4133f3d27f9360ead9669daf21fe2117afeaa33d95731656f310f0720a7c26656f4c5054b486024c62e176956428094d510071013cd13afdf883bc29f8eda68b2a59a9762190b8c3fbb1bcf6f1d30bc89af5effaa5447e0561bcfea0991adebfb17f010b7ac10bf89ffe155b30ce14deb3732a746c57633730b2eb077a0c28084a19122d8b5865fd280580b6f7d33c5b9306536226f422bd16915d069995460ccadaeaa037158889ef0bfa7bc12f15e979fd414c74107f79d186a958e02cc8fef1a21d1ace3c7932d2d8e0723dff2a4b9efba08f6378d70dfaeb3eac0a859dc6c4760080435a4125fbb0d6bc7116238b04afbb39be7868118b44bcc8fb495e85bd200907f8852fdcfb9fa8523cd218bfba2ff083eae640cbeb237e8f48d2a69d5df15a9d4c63e56809764dfda7160819a7701c369380dd78717c12add45bf7ec58b5f161e7990710b146a6d95faf231169e351c36bf06bc090e0936fbe7e04fe26feede107d2df890bc0c73c6fc41505dee9a33d8f94a1e8613a690ff5aef1af44e37af4e3c9abf75816878e6e7508ea2ea04b507693bb26c75082fb976342d04f67cade40964222d921fec70cdf3bec863ad5e07c72b4ba3d4e840b6a519584c8288093053084382ef13b2beb2138a8606a5dc2eb5467d38fdf17c9bab628cee4cf7b434bf43dfbd49bf8590cb43e83362420fc407983ffa48c59d7c664957e1be349cd9ecee9bcf67b2a19bbc32a06136ebe079a785052fe75f882d997ba82dc5d290478f22a926ea2044ff70a1139545dc1889680222e72a2002e55aaa9401faa0314018ef30511f9950511f900d0ede24038509aadb1813b45e7c9c4063d7373650997c4c1a10f856372a99b28ec5154cbfd3ff420eadca3995d8da9d3b60362a6dd4ee6b07664c4ff99528b00a5bbab7cda79901cff4efd632e9a4b821d97a5f98b85048b56cd62eba4e1513baed148269e2522e7cdc17e3c7187ffe7b2ae2bd3564bcc68b80102637eaa403a5b2aecff512557117011e0d211191b264be01db4d06b1d2c18067b5dbf46a91a132cf07f5149a104c627a15230e3cda807c9aecc4d1796e8ffe75eecf9c03111e078cb665ed9f792cea6264df804321c0693b9bab4d4fc18c3de36d0042066266b1e2faf349af514ee5856f8f2de427953b94c7c24a904bef7719dd98a163830a7c9af204ffe1b940f26829362c57ab64c1dd3dc050701e60ac91a437056a41d4f15184be2ff8262538235d58d6331e16a9f1e6fc515ae39c11a17fc06752800e9b7e5995c843ae02d9472557a268deddfa1f668ae0ef2a96089c4fd528f5c0536ee2aba284c67f01a108442847d90f9def008e526f7951b81c9f9887b0b4e1fadab70fd52774abe517d840ab7f77f8410f90ebe8985b4882af47d1f2d49301ca74754e4a8dfc6ff45152661a0d3162c07d39f94d896d51b982235dc01fe4620b5ba135768caad4765b4fa9c9ef5dd92e121c75c8454c3fbed66c1a65112e33d4a40ced083d7ace94140b383961746af7c47b6ce4af9d89cd3882e8e7abf6428421ed8c11729d42f31defb2fb30be4f4f44642fdf79c3602683827605700ed1521c50dd64f99c0c2eeef687c8563352931e8cbb24ac163b180583ca156b2f33b36ff584a06590e1d738409a1625ab1262d55a2a80b96b37c55cbff6e3cbe0e11b7dadff45348fe497ddf196e77eefe76c210cd44ba2b35ef33bce14c9891b51e48d9e0653d2126769003a9678c5cdf9bfa0468902bc33c50e9f50dc8ea842b07677a5daf60b6a94cf8c2d85765cdb2f03858bfc60312ecfa8dea2df4ffa8fe256a96f2dfa3fddfea1ac56e9da29d38994bf5206d5621a80cf0318c408c7ab53dcab7e2d156b48df714c0090b8766d679e59fcff7e86816ec06f3f2ab11612036a02a21d517d6715356ff5ddd85e4e7eaf02e67d28902ff539fa1264f86216e2127ed8c8a5d109f18d16a224546b55a2cdc945ed33b5acc83068c7824ca77933f221e6e44fa27cf91468971645ecd1b77937426c8eef846c66d9b801d7ce1833a3e0c3a1f91b9d2fc1806384e071f699d1b1aaea32f192f9f127d819a0e36282ae25f6f69a4f1bfb1e72302d4a8f6df32f48d0d1719ce9ad9c211b6acf8a61b223498379587927f123eb2077d0f83d477ff2e0c20a5cf7403955a6ec3a00b372a895667b24e1476466c23f7f1ec928c614c627d76c047ed2262b3e6c021390001ab3509c6b6f7ed974a55c23197740b03d3d7173a0f9165757322153cb68e432161be4f7dbea18c74fc933b38b8240345fcffcc6e07cc75305faf9c6ccce46b2c043f98c5a6854d57bff7387b416be46994d3a77b8100bea25884fe98c24613372f8f87ab400efa009af43b0a18347caaba246cb1f7e305df5de408f79b4e8a05e0b093977a5e2a77c687331032fd1e93e7c181e8553515062509923b696ccb34376023cedcaa1e13fc3e8f5dc5e9010f72cd6cfb68c016e7a4997c826338a7048cc2f758cd12fac593e20d1c9766d0dca413917f1a7b4599401daa21dc25f10b99adc5035164bbcc008b2c2a0c7821610db16cab5ad4e7411b3e4f5c398461355e2288658e80af7a215ffcda63e4bb4f923ffdb6b079b0be2fcdb4a9d134d9385b2f389ce217195a1ecb44d7dcaab9cfb28e94a24b04d85a716c1e7c4ab5583570fe72d63ea37e98c978397d2dbb29dcd8a0efbc2788f33b95d3c46fdba9e2014fb14fb8bce33138f4904d063b2a85b08dcba9f045d43f9b5f029987b1d9ef0f52b64995a2b0a3297c877b1a76bc7ed7833a9365ceb27a47fc33614ceb9dad075225feb64c7b9263b807f7e6428c617f9aa1059e21a8bbe43944ca17c6c96103bc1856e3ce3d4061da14ce52807f2e57cc6b3c43b3873dd3d29b115376845b1145f454da9095360a6ce90b59e39780bae06b8b1a07b9a1f6f68c5fe97e214d262a3a8f0fb676c321fb7f269fdf5a947b124e1cc295eac8c8152c2212a3073d3b9b521b42a4cd8179971a3c9e35f7a1009cf14a69264b243ecbf7e8ea54668c17324e117ade36dab235964afae41e06c6604b5f50e27fc5a6e93182f23f24480095859a9c37277f62ed3c72c6f89fd80850dd79d1282b75f54c7a56da7f01d60b5bac7a59fcf0b961645b856ed78367d7dd00d53b62160cded00044611acbe61a37e64d38d6f83cee3a5f2ea853c4add2cc6dc096be687adfc47efeb281d55a383953ed0152d486838ae6e7d3f0135acb797931432fc55a52921d138810c00b2b161224a04072ee2aad95b488089223e1ff204418b4b590be6763423556977b1559c17f2d3b8a9397492691246dab34afc6df4d32421d0d98fac1b2b4fa9ad63a74070aa98ba9e8cde7dc195794c9152a7a649f86fdfaebf60c68a7006b567e1b6a485eb6b549cef7cabd714f9fbbeaf266dc23499c220d02be44707cb9153334ffaf18cdcb8f9b2bcee5f5d2a1dcd0ece8d7b0de72b6e93f8839b8920423592a42a67da8bc16b04c110f7455f09632161c83a000dc003386fb8066b25fe9521945cfa284dd50ad4d4252c6bc3469c2447adac9b2df673b8fc9b55bb1cc3bee19766f9d0d779e7650d996747b9d7fff135bc3a71d0fd32f88f4dc9326c341d909ef0157abb6e15da277f7b95e41eb23115ef30c2fd1ad88e29ddcd3592f938624d6adbf15abb9a31b0ff70c88c5dae93651985c1252c0d1def23020457ae173325103d9d0f48fc2e9005f9b6b56055710ffd85a4635da213ddeb6092683b57237ba1a31aca0d14ed4a7dbd0afbc63e83bd8bdb72e1ecd80cff28349777d8f85292929aeeba157ffd1e71a0b92a5a882601ac0de9be140114aa1795bcbabe442241c8c17933bdabc76da1597c38cdfa5e5ee706b59c31d2d23f36e2eda42d33827e96e08615d27ef49ca6ff238f05b20f0fa20769950e61f0c78e601eb9f61b014cd2b88a267296fe837f3272d4479b4f0bb5706c5109335b86e2d6bbca3658301269d9cd3631c629644f9bc14715bd03aef150dcf4e34a33ede8bd77dca12530778cccca724cb12cb20438c287b6d3f9ce657b8d9a029b442d06764359d3f0636df5a967b47cb9873424f73f2eaa583a5288595cd57e0d8c85b6cd5344c4eb62c7223d49fafbc0204f90ffc9a669420f221b49f3f1199cbabfb7c2f829443e8171c5f52ab5df12bb7d5ad58f21da391ce7834d3b66d165a98dcc6e18d46ace406b552aa1901cd7e1e6d71211967ad30405444753974297338f50ae11322bce31624215f01815b904748f1ee53bba53e965bb1d43b59360c30ca06c34a201d493ebbaddb67537e9df7f282d19bcd19bbb4139aa88e4cdf1103eee30dca697baa01269f645f978ded3130ec0c3896727b3c5353c1965d0e86022ddc8a69fe576c22fc828cee35e9ccab88609653c6d4c6a6d154be1fc406586a6eecca941471a90c943ae573ed05aa5d42b91cb05cdcc64af002df6ffb001608d5cf78efdb69441bf6978a6c8413aeea15b85abd20f1e99b3d908aeec97efe2b7b663ce5a0c4f12d5c76b5666e6b67a3d831d8f615cce9336cd6cec815759e154c615dc0dd9aa00fd57171da2b923ccac4394459e9e3220c643f14af29ac98fd2914d5f11f32c801dc9870c857f221ab2e838a054669198b818840705cda97c7c09fd13178cfd934c90bc0f3cbff30d2fed90d6b3b1fc8c220213227343166de5c8b46e8920a7d181b74782b069977a7d01f01c456a9ee1f928698c7a658d19144278dac86463435456846d080f8e787b6f4da00670eac678dee8d75661d2279fa4cc7ad981308245b04ec0d92af7bf3b7394c356ec5eaef283628ada19f97ced6d69ef96e55361fab88579639092aae47f7f9a3068cac63731e009d968cc7f4893fae3f997e4d389949eb07c86a9a09ed453121eb2ff7e606c4dedcdcbab1f88e6ed4cba4d35a0e939d38a6c9930bb099bc5fe289548e49db8de0981851f4ee268f1490b3ec8e27bc22515e6db0dab023c7db645bd1b9e979400bd9a7849ed2d0164d702b96712b73360c087360b6e85ded29e45929929f9f1507fa39625ca14604bd3dfc1ac30b07ee8e7d08c0604c437ff9a4222dcb7ce6a14cc132eb4b073ec0befef0ac4a29147017c353be152bbda365e9e1a15a417aa7e3b136f759ec1b59d7ea4d478e1b49a46eec06d61d84791ffa03b04a373666fcab44c64903c1e6863679b9e3693002393bf691cf2fca1a820ccb7f45ac62721c70dc60e82286d32d4a7dee9a032ed29ba57b97bebed1be789a4685d11d0ae0534772103add934eb174cde858ac0548f354d248930b3f75db9d5541db83a6bd1533bd63a5bed9870351aa8496d3084ed3f6bca625c38c41e6a6d2789a6900e2a3e5b0f4270724688706b6e04c1a16782aee092f8ca5a741bbef2c069d41e0aa4b6a59738d37de4663eb7fc53ebf28cfca107dfea9f4e19b0214eb647e676fb3f4c11fc4ea93161e22d0ba43a64e0f762467b9706d0b904fc0a121f97b5ae72c5d2d282700aa3c68d3eb08a098903e5ca1d025ef8463c6fa38ed6279152bd9486107a5085edc5a16f75fb1bf7e633ccd8d046fa3a4a2ba0aec5576d0736478151994271fd0324f77079c1ac4b9c528ed49b7021a610803cb2dfcb2a9f8428bd8732f1fb01f3d0d1394dc406db70a37e1575a11ba15cbbee39e61514242bf8c38d411b675ec3760b4d81ccd7dd22621995ab2e28861496ad86c0858028f390986187832234a302dc8e7b6000b56bb20cb629158073c2318f08b27b76e2cbb63f134ab6fae3191c9a95f4fa58453c12413908783ea8ccf862d3472ee8783d19e52ff0ab02e89531417b30f1289d1f7397b086f54658b21c613be534b1a7e82d2c1b4fbadc4bcbda3656b3331f61c9d1ed70eefba4f28d4ae7af92f62e605cbeb2bd9684560db8b5639001e4dddcf7d14927ac5f3aa9ca9a781afd436b61a0f1f9bc566299a5a7de2f597bb158bbf633af14cc57b34f8e1538e5a9e31d959b2018ce7854d4c3fe6a2b3a34b80bbca4627d43920d1768fe021d5bc2c4eeee75e8c81b784f1f4a279b8be591df99667de1d31dc5160073fd04bf96f6aa5d67f7ac9098af35e584ff1fe61566ed92bdc641430463aa0bdc585fe46859c69214f87be418264e99a7da5e3aad9196074fe402e89ef5868102798a29319997ec040b6f3e99cf22a61e0cd6083069cd8e8ad853e77b41087332eab088bb446a16584e130b271e46095511d96c323e239f1db44391ba86d8064f3bc7efeed1a567df438b4bfb00aabb5b254f9fbb9fa6a1a713e2292a4ab8fb76215772ca23aa6f7e13fb84795861ecde57eecf069c0dd24c7892e9ddadf27a84f1fee4f738307a456d17a85f7beac973e4c7c1ddafbeec999421fa79850c99bca4108f3ec67e61ae030df1d886f6211cfffc928c47cee805ef61cfc511d94bf6a321a16ed48d710698680292969bd459eeb276959e7be3578372fa0087d006983a5274fe775cba4c753774dd729a4334d8c11f0ab92b101a5b12171441e69c75bcb75eed4ab8c00120c7b4f5b752f568c021d391b2aeae3b148052291dcfc222b734326f5d2dc8c01d4c61276890d3c959774f4130db21313853c983a87f7c4e8d5c9649cde15773fbe158bba63296afdb0c4fc7cfe2d4dc8223378638f1f1625d48ef1911d62e878a548e78171e121f08cf111864b87c643170d13c290b8f35e9d544250d13c4e82f55e361463f24eb400d8c1176bdc2f260b34b75dfe2fde65f5a9f9803fc2ff307cd366608bfaeabb1ed0db8bbb9194ebfe296eb3f5bd875018fc543d47d79bf9b42400baea79f9d247eb4da90669e401453d536f0571afa4c6fec302b5d2caad10fd7170982f16f89b688ac03f19078c6204193e24a0fccf1f05e6577d6ab0438a3e8dd6b95a8504b99d78248f7316aa4e06a2a4ef355d8d136303dc42486f8f5ed5955c52eeca2ef81b72d1c652fbc1b4373c4227431c4843b1250387f942a1f845978af8c6cac70d26c6b30d1b36066c3b4beaae471c73479906bef4ce0e497e5dfdb3f73fdf60fc79bf3abdc175f31e38dea2f2d53620e53beb7a1b062cec1613d01e218c307d2c0618406ce8bce3b608d5d8bb100502c24c0c4f9e9e273ddff1b180b2ac1e73d079730ba3fb1f18be3579385ea86309c5835077b6c577ea917e6a51ebe2ded9612e2e8fef003302b42329c4a3597a993d85f3bd9ccc4b8cac84db45acadb37f534eb68fc338f10a0d1b209d4ba9f5f5baa9c61d710113db80b689a70e78c75dde0dbf0626e26629d02d7ff00c5f1c248f45daa07586aae7bc5485b2094344381c658a777687b7bed71e3c3359bf249fc84dd2940dc95e478978fc5cbd601e663f65e37a5b4e68d3eb395b6c4068d8693ab958b102696bf21582db0751fd53dd1205b14ee2937408c2241bc1cf46b730b2ff8581dd3a7cbd00b42725ea0230660ac9b6fbda614dded92b0443e2778249b423b484ea609bf2bce87224a60f72e321f9a27ddac45f1a3002784fac6bc01ec015c2d5c094dcf3c38c31a90de050dc04c7d1be336a825c5a1c57ac86262f9cbf8579fa9b603a415407b22fda943b34ea0131cd6228e8eceb3269a6ed805c7cf5f48ef2313b644020d0f1dd5052040f18641245ce42c334013a477b1ae7b670a619ad077e6dedf73bb7891365e26170cd6c3df117b897e7cc186adda4e839f71347dba0c9bfc64f04716b004f1225258b59883d2eed1f4a6a1eedc894ad98127e49771b518cbe4efafc1233fa1606fbb79ca611e07dc0244f17314acc0a1433b648611a41f82b9f8bd6ad8f66f416f7822e41e6956a0002231f0d6210085813dde8cade97c53243401df80a0578cc0902881f7a34506f61903013ccf27b46e68f3eec29a11ccf7c6908336c5730614d5f5c3e41920dd93d9727c677031c9ee71b25aac1c798c8ec57db3f1dc1539576f06d97dea4475fbe3627d3843f2bbf8521f9ef3629c13fc3f614296d2f07ae0b2c52423f54ad24f0791eab9825cedc0946503bb4d281718042becd3280d3cfb57c8870689f7e7455523b527b6aff51e80d403b1ba3c843db515d007d4ff1537b9167b121e81de415cd20711b87e6ccb0fedc5b18bcffc2708e5b3de534750f5eadede389e81cb370eb3d17eef4cebef064d7bb138c5768ad923ea16e2bf11b76bff32937ea324ec7bd032765e2d410e53332365e5a80f89267bad1ec7cb9498692641d2316893650f413e8d707afb7b35c9f701c3ed4b985d1fb4d49cf68942353914600950ad7aef52d3d7c422e870439d8f9ccb7448548488c27da0b40612f489d4f7f579565710414bc2fe7cf65f08335611a411817936ef229286895f9c369fa97db14b6d51d9034fff2410106eae7cd102bd3acddecf89a1274520bbfc33173729e0c802fcb3926152fcd908b32aa2051c347d9a403ec1628a8fe9c65db255a0053f4db36c1ff2aa34db648dfa44b0aa286d4449c4713fb10286abf6592188b7e9f8e8557a4cf37b2861650d49cc8006fd0964df79af7bbdd0c11f249e63835553a3f7078f17204422d66f41646e1b76cd33060b6427198b410ceb172a6f4ba3bfd55b7e6469f2f108a98170578fa5dcb1b1b4d8071293b7ec7449b157114f7864842dcc876b228d129addfd93ecfb811d87120b985d1f84d30ac38fa529d055fb8cccf88cc7b3aecbdeb35c6cb4cd8624f05f2489804bc9ebc09033c0d5704fac32a145fce691a5052bf1badee6a6ac890a2436c668b92fd825388760b83ff5b4ed33060807f205719aa2bfcf845c712c5a2dfa089c29a4798fcba91fbc4da4553c4703bc0932de967e43bff70206691ee2cbdd19f3c0d0b9f2a749a00cf60827e1f36ecec7726164a15e62507040449ae0957db8087a84b9d129c0328aca152f7d4e4bb31911515b200d84a85c3f5d2e9f1ba1b7166c6c68381ea59f1b75b856769767ad75f2f8323856f611efd96d3340c84c4f5938d38921fc0e476f8bb3f3460345875ef2354ac0ad7eb55e181c3f6b203443cec3773abc8a05572b6ae1f4e5d7104b2f73744e7b952e9e94e6f445c5c0d2ddfc2a0ffa66d7a56bb33081b2eb79d543e8418c654510942ef1a350245315221a9e1ae18fb650256d6ee52062c8b1ca13a8a3cf1d3d29f3a634d51a8df8225cea6470714921a086f61107ecbd11e010e64953bbb67619455cbd82a1b25d9da9e71143f5a5ca898597ef9889e4549ca14607b37783d23443fe71f15fc629cd84cd3cc33d075c2bfa84d4bad84f1804dce2ded1ff6c0f17cc47802846c1231a831e7c9503e9d64bdc99bf89d0ec5dc9028b88f2c858c00a527438c5bad054a249f51db7155390f694bf7d5918cb4b2a205b2761410d6ce6f61b07e138cb907f04cb8544432b234811ccbbf2a44e462167ccaf51b5c57e3bed9c8956bfb26403288825763def72affdde0b842b7af642a61aec11623497ed21ddf5e4b71a0e91646fab79ca61140577402de6a7d71fcb51e3c6e1ed07d748d99ca70d5b17d17e702c2f9ade4af86c03d647ab3ae85831576525a187eae676327aa5e1f3a604335394686556b144e676e61307e53ccf0885d87282eadecc9ace942ae1bce17638b47b157453331b37362578684110a53038fd7933a29de0b5c7d864c1f8f593198d54a7b39c14fdb152fbb24ed6797685f7b0b833d9b608a2fdf8e4e6cbc761e77e6caf7cbdb9793bfc138e8f466f2ccc521df3b0f8f750330ea453fc64a5e3501891070ab5d4fb4eca92d71782d297d792798e80d5616779d7e5fd21b0190e2f0d7321588c58456b9913f5fc8485cb52ea866ec3faedca4093c9536bd2c040c88ebeccd8fda627a7a20807b2ae82e2dea8949822a47f5b04c3fed75af4befffce1e38a38864d32c1532d0fa3da9fcee30ec584109895c7778dfbde400a101142f026c40804094896fa1af6b248f47d1d1ef53ae0776815ec6cd43ae82d15853d143e8c38d5b18a4dfd4cf58bdc66d122daad7ee163de40e43cd79ba3c3eaea7764a129a736a2196a00fca055e32fbf4a8f28c99106654c56f8ca54aeb64da04654af7eeaab06c728c29cb87dfc2e0fca6b6d3e93e96a6ec295f73a87f781e52569806c5ec986be7c18b1053a4422282d4b35ee01cb106a9276348d60be215b79bce8afe03f64bfb63c85e5687b36e388ed4c069275b1895dfd442cc1159f3f658e6b24744a07bbb37c6eb0fc16e2bc8cc80f30f01b80f1c258e8501af8e13bb7c339eb64ed155e1da75a773e882b873cd40b0c81ef794ad23ec72c32d0ce16faa4d6c3e4d461c815588451593e6d395a7e139861570dac6c638760612a88483debe31002799023e2b05f6d8c6e5a7279059856e3bbb8bb45d28db2955d11a3a52b98f796e61e07e53d586bc7a4072fc55c7d3ed0939b92e5b93ef5effd10ce718759458d8f1ba3699fc31a050d0027e7cc3d19f3419c478ed2f2f5df7f0e029974bc525a4dacb2f66c79dedb73032bfe9683bca0c6fcd8498ee378b722293492e26ddc7b31480a69240b46c060fa994fb710e030dadd249cb11605b42fa730173b0a45b690de960b278b0fd1c05cc42d1c6c8d21f0cda6f4a7a5aac8c7568046a17876155930f4f3cf105712fd4ce1e093828d4027e787a11000d3ce2803e755a35046166e313ad52edc52c1aa283ba1ef4a070231e82d6d56c11277e5fa11c01b6a7c9f649a6eba625b19e275b74879d43fbbb1284ba5757d7aa4a628e6f71f9028af165bccdd2867d5a70a0a6e623dfeb8ad53711c3497abce0d3fb9ae61fb0d7fed05cfdcb3c7383e12aba11f9aced72e3b91e0b9e84cdd811aee851cfde9cd2b0036e6b9b761be069285b84bc539078e57c1400900ecc4d551ea2d53e34b8a952ed1fae4ad00749ddc23cfb4d374a4f912227d3a7b3d71829504a6eea69329e3a9562d11e84dbe4a91976de5f282880a7dd00728c723b22d58670929732f375e9afd551b0df2553bf777c91770c25def28709fe97303b82331c4b0e9126ddf3d42f33ce966555bf0447e829288564ba4f502c3704f418002fe3bb11a58a3c24fc22dd603ab9718f890b7d12761341c6e85f06a15b06aa75ff10c0ff32033fc35dcc909991303eb740cf81c19e25e62f54b2038ecb416ee642566f91386a0310cddba56b636ceaef1565270b1ee7ccb8718c1343dbf2248f5c727c4a395094faa185f8d79d1eff1a34a4d63c976b0d56a9660b44def64e74d232e931ccd043aec51a1e9126a768c0487a5564ab9fdf7235ff2dd3e36287d5ec578d5d7529d5f55a2cee8e4e4529df3c23f7bb667a912ab4962dc1172681be622eecd9faa058c1d8e3c5adec82f5ca22293ecf5d00512e31562d84346f590d77e52bd2cbc79b58128a0b5c38a71be607180ee26451b73030bf1429039b1b8549e2bf76cae8b37864c78d4c3e27f1a42e471afb414f3986f71c082fa306005d4d88ed774ee972a6cad62de801e0255ed80d384281a91403fb96215e6d07fed0cffcebda84480153a6bf7e904d1133287a7a2c4b7104d06c2c68335092b1af57c33d1cf0013444f69fdec43abe46f38cdf764eea605c29ad48783346b7e67ec10c21ff1181dce7778e5eadcad7a484ec98830a5129ce304d0c1e10a95a12bf7cd45cfb3a8b27a23edbee15c0fd7eb495eea0e4c5decc2ccb34f605ace23b35e708b2b08c14915502b67c19bddf7955b1a85dcf7de9806a99fa5c2304e9938ea3e5d405396c02143e5438749e6ef5c129c0f8e895a4d0f240c7b82b1b997af4f9f105b96b317b3d878ba33eecf647cd789d9cdf37851801c468a836b12148c9d614715ff5c40f2cd11255bd35e49f3e9a63f5535ef08a850318a520332d14b8b1b2764cf6341f5fd8786f1b73e0c8270f0cae7aabf0a8f2c0dfc236fea600de4960f02145d757e7b3c57128b1100c546fcb764779666b489db0493541110d5507b83a7ef8009ae02dea13619cb35f7fe2845a89a05ee811bc0ecf0846d0a9990cfbc31cf85f8fd130af3c3dae38775959c1c81a653633fb6338af3eee5dac30b48cb893a404e1d603f67a91ddba3be0a06b3661bb914bfe94f7e63a9e539414c3203e73444e818089df0963187092d46c645b4469fa9118b55c992e690db3b27694fb85fb743d5e40a81adc1700493d01177872c569643292fdd6218ff358f96803136d4c2fb1d05566d816a5f887aafdaf5b08f388fcca32ba5326ba260eda0b3b6ba7e56c5b072156df978b2df750a8dee2d9033cf734563e523e3e4d75c5585cdc67977995927cb21f3dcd327c3dc87a1231f2edad8ada6f2a319424d77cb52f76f9e1dc14dc3eb412d2361c6651e9a69f50a8a6ed9c105372302001cf78581fc4d7a97e4537411f25e488bbc9389846b2a1ca8a918025cd5d284a13fec3b4f35fe6990fabc885b3b4cfb4ca8f56b3e13da7e0c3ae5a3a8ad6196cb18d6d4a374e1d250138e6485c118bcfbe961e4a22c43184ba248fcfea650b3376216ca86deac7130e8e7fdf6bc161c0a41e91421ef4d445ca3ad01da99d01beb438d004a19f889bd76f7aeb62d53a1670606cf3d530bce6653796acb16202f2bc62f71e3811d40c7e8494b7f346b77ff70f93ab7fd9e9e95107e82b1f4e317f01433a970b52c643b0b0376c510666f7016c69d40cfc4500ca27e9a5eace139a1bb2247351731b12d7fc27d033516902e8d7a0d0bd7dcff5c5df17c0c38020042a6b4f5654841201369662b64250568ba455b1c87383a945a42f4a2405a33ffd8f2c576469ac07db64e6d870ccb3d48f6811d0d020812f9fc67058956e4a2cbd3055ff4d016caa3a7f1a5078e8dfc6acdbfe16bb628559f8a1c74374d28734593d3e638ff13e20036a4c12847c198c7dd266cd62cf540803e9333f6f4b7c379b2ad278d4534637e9f83b0358af86be34c22af4d17029ec80b19bdd6939933ac9d5f82b41a692b809429fdd54c0ead5d4c408ed9a73f5b0faeefa3dd782bc35f5c4fb1fcff9d3f7b73651367a2bfe3085f897b589a007085608fecc3b088d2eeb5df609974c79376d8f7ac58a713e5fffa4787f88136018d39243a8b56075198bf0af19ca24b0bc467bb6378e1d0e1588cea59a4e87fc87ebedbfccc063d9129794c5a8d8076568c99e993e993438629fd847b83a731bf979baf266a701b425778201b0bb3344cb4b3e388cf1d6d9cd5465dce3fbbca987f469fb5df3eb3f20b410ffbab96aa0f2885723f287c96c69d6d36208a7d3a238f7f2ca276946c00201a18e47e1000e47694c5c6eb8dad925ac373412e645046b15e6d7680379361ec8d35154d52d7f78dff42fabf606445484902ea324559c1982dc1bccc12773286b8b5eea65551dc8c74f404f4a010e910a84e50475b5916ee2c1398e2761371f120faab4b2b7eea98f14074ea56d70ddc2807e539ea13dd89fd4b90a5a05951c14e448d26d3f226a0d5f6674c3e5a2c3b42ba45d0200061f2e6e6ab7ea4fa62f0b2e1f80024c74e78188dce59b715c5d82f8afca9c17bf73a6371b4242440503c78bfb260eb7f2fab9ca6c6a76d9fa26490e338018ed1211cd0fa0c5789a071bd68b25a5463a9c72fad6dc3f88fdd4e1b2aa48e42ad5059dbe1d887b0b43fe264e93a0db0b96f58ff8f0b9fd46876ddbf4dded85549681eb88b3e91ab3f06f35309300f642295c0c79b64cf94e7aeebe0ccf01b95ae646d9ea8d09d27997e13ee5f712b730b0bf6924f2a0583053ef75e82cb104b1cdd468287320596383ab249b527a9e7112d9bcd1a529a078f4fe9cb7c1dcdb9566e0597587c9b81ea44338e4dcb4a7536ca4bdd547d9c39a4a4870991f64b8ba4fa85f1433dab7ff40ca0077fd6d26664c0e034c14b87ed1b3bc09769cd71f081fcaf57bddfcfda7c51b059fd9e3652a0aa6dd87b4e66c06c5f260bc23a1656316846561bdc4d24ce17a040ba01ccc94c40f283f16f5a1a984d7c3aabe4fe2875d12eead8ed7d0563ff71f98f43b76f477ec47f477c516c936b4ed3ed81f1f21c5e188ef5f3ecb87d3662b0376abb190ea634c3658d1d87911913827e4f529f012de79ce6c906b0db3411bd82b40489bae96d0b9d89d92ed517ab28fe19ba3930d4065094d6e52e8d88121b08957bea602125c7a8b0df39d9a78e3aed4ee795fb2a91668a78f01eba4362439ec4e2455899f528300d5f93e0568eab7bbd5a62eaeb523b0737c82c8ca8b2af3a38d4a123a78e9b0e880154f31264af726b71eecc0e130a94c56e455408b001dceb2d5f38f50755b0cf2df9d1dfe1d5b97e7aed88ed0e4db88cf09362f92220d32af13076c2283df58dc01fb4a2533abd07d347b3cbebd89aaf373b02b72359204e3ea558fcd95deec60381720f4e081d30ba69ba1d4f2316d386bf491e30a6cc604ad4ffe2672d5930c84974b7fe6eca78fee4a9d08af8226cf48e8298e14b88ead90eafd5254e9c91da88f8de419e6a6185b5bf1f18ed1d9e2c75f29a717b638a52deb3dd6f62af657e93105303d890d4f1c9e40a0052200812f83b09f1070893106bc961c8338c7e616ed85f8eeecd8efd8321277c50eb50932cd3ae5164a2ba6b59db10e40a38a8c58bf43646faee339261ec781eb26b159b3ab74d31d7941dbb90cc4a84361da1f235ef66e032fb4763b8b70ebbb319a4fe3e0a49e1fe48b5b3f39c7909f0cd8f5272185dfc13bfe33676b39c7fdd98f45ff09f54536745e91d26b71a1afa4c8a83c5fd51eb4afe3dc81fa1e71ee684454de88147b0b8440656a86ff3d38aec3de9b39a21c6398c1255e33c09aec1ad9dc5f61fa122fde21998d9661b1b70244d7863164abade1df6c4beaf4ddd931dfb18d0aef8a04edf1557749c255a79cbf315d42320b7f33b79008fa0e314228e6dcbfe872ae070d5c189589b4e7a7099f88763a991f0e4d583f7d706ae103385ffb96235f933b5ae7576bba58c326b923c1409014c5e272db1f5cf1cc1b40fd698c60b5de152e001bd699c5bf30ea239e4980a9ef11d2f16779813b783b2c96a3648fb1b4530e31cced74c4b3ceb929c8cefc646ddf1fa95b527caaded00940291cf26029b8067bb98821a2c477fa3132bce4482c35fbc930bfd1ce1b3e6ba13f8b11fab9bb0b768d8628150e0b21fb104c938eaa3efcc57dfc85a63b5093bf6c187d0cbd8034390f27fedcf2ede2dbb6edabe75d656b13cff369675f7d5e025e60e87070883be55d9fd1792f75647570e51f420fdaf6a9a76535d867ad26e99eff69f623d12e2b36edc030ed836c4b03c718deeb894795e26b242b8777c066d4a94d426f661488e6854b9e5d2ecaae73619f3ff67a20212bd74c03f9deb23ac0d95d90af9d277048f2e84504e6a4921e2664b948c0095bb167ed2ed3678dc7fd7fe66cc33b3d53af65601490a34c31c17f76b5f1599371d91faf80bb43644b9b2a86df14b52df33f948fdda3c673851f3d894dade44cdb751187fd447ff80278a1270b21dd3df9623ef4d92b4ab6f2ee1d6c1d8730908e3a9d78d200764c05da9f511305c637d94ffcfd09358fcf956634045e30c421fe64619f71da258e93cc1da87321bd0ad6b58feda1ab053fc62d6cf1420e567956d7ae1b90b4d5f661d84ed1ea01221f955419591ea55f212fed5f2e1fd939434bc114a25e64984a3824409d90e27e0891a8efd834d27775366fbe7adf2688ffb5e8b986fc17388e6ccca520ba3b8400ac362c18d29a7e2d6b77a3d1f9516b130693a21ba332daec918446afb6013a101740b06c940db7f899eafcf052fe6b17915ca97d9e6b3eec661b6ac7118c812a3ec69ff67e58f377f536f392b527aa437ba878e778a27a79bb4833c988e95d39fa59556658c2d560b149e9d56900d606bb31a6982065446fe140b97a1912ad0e8078ae8428a7864d17ec21598ef88cdd6a42b95f5108354695c2920a8276213067f9cf6244c4ffaece6e247da81ddef3a12a7241f33d2ce917a9e61704cd771af611d6608d11c779c88be5743bcd279548f66d8ebc6205537ebb85b2a8ac9a00d680e22ed56570510b9f99417148f86600624a6eb20832f40825bb44b4204111e5cd9f513f57bbabaf53cc1e0e3ec3e0a2321c97b32ed88c9e199bec76b88309af195c58866c36a3b764da9c3e3fec94640a8a86a938cb439998ecf82a48281e9706f0b65a752c22a271facd748cd384b0a8ceabdcb3df9a8bc32f666978b5329ae1f5a705d278fbaecece7b80a1c0d696807e0cdd1a6bf2c4e7ff23efadc33848b7ed413e82bbbbbbbbbb84102cb8bb13dc1d8226b84b8256901020b84be02dc39da0c1090ec1091e6c9e3ebf99dbe75ed2dd903377fe19feebe77b3ab56a34b5f7bbf67edfaa92ebe2287908d9ef622806dc57d27b2a4369e55dbb0fb5a706e1b035d7d366264b8d9ce34273cb80178438468e5472259c4db8cfa1203bc41473e8683f19a4b26858a177b03b916afc322199ce1eba40ae2266196e78e15b0177a9921ed93477b1c51750a03f806dcc12b65313901ba5d1d31f11988bf9e12a3abee89d99b6ca5834c442df1cc08380c2a977dddd4570dc2d3e93a36430f60b21c2b7f39e49ee91511270de297c98c82f971a21d787c20e53d44ff36d1b6305313e1a6d97fa88f6dd8a3be101b0031a0bc886db89de0d7e26c757f7e8865a0b9c9a8fd4c6eeed3044acace21925460698b3ee3e0fd6f4853480c0fb9c974115d1d8e88ac8b22ab2f5e535098a06d365bf34da680f95f6746f9754ae85cac7247e8758e773e619228148bc07a0deaca919a3e7e3f19a54df3156b972463e06128dbcc4282998f28e5dca9d6f1501c583261e28a7ef34dc52355bec790c282a06b4e4724b9174447e55b9dca8e88d74bf245b37e6a16447e66f01ce8a5f37180c0949039904437e82f6ae1f007b0d2ec00a756ede07bd2d19058d100d7be34a1507ab82d72b69d6411d1e8df919a0ea9ce8e83cf70ca7d7f6adcf343482d7b919567fa4bfb0e7276df3daed64cbda3f6147fe09dbc8fea11979d08c41230753193d3b8ef0dc978ab40e99ea4903fd0360277b40e7a43f9d95e2552b92df783b08d666b7e7ac53cbb0ad944bb24824f3160c28ddfa71ae53224610232cab75c81d30f708f8744c8e2a8a2a7883715e1f5a7dfe95462c761faa113bef0ef3e9412874f9e87e70cab65b62461483ce03ea88b4c1b71f2a97f49c8513c43ee4a54f2a9a8935eb833fcd15274c2a7bf8d6bf97cf0434e290c6c8562e0f6a0767647401c682c3adc7454b5e23fb8c848ca7b53423f8fed2b16a3c946b4f8d4838343b09310bcc0198a3be562f7ec2b76d0f403dc30423b9f7d13a4605e94b916d50ea04d3c1908273888f022af256e948651f2c00c7bf61dc6c088bbe2f49f949bd9a34d3cdf8a0eecbba6109c15d73bd1f7aad91f6af50b3773f14b5775a48e88bcf028156efb6a0a659d8e1028ed9951f6258ed60eab93b6e9de33ba012fc4cd1eb302263dc20f092dc939fb96123f3a850020443a43d81c268bd8eb0b71872f2b72fa8e08c24c1f71a1ebe0daa645f16cb8e7ed9d460733d341ff1f3b31812447318ed1adb52f634bbc33cb131f0bb1f206cd9a3f4b8d5c8d9afb6888882f1216224888acedb6e84b85dedeb8bdb39738e88807026b98fd74a2bda66f1873bea263b8a9b59d1dd10b684a1b64e6eae4fab0892bf221b97f4a1c20e9901c792a57e3d91c72a61d712259380e28754f300d42d4eb4dc9c884921496bcb47371f6c520c9c979df72feb5fbf926f784f7dfe2c061bb01d9082217d9a33bc0863ae846d0399c2f6b29da43c754d73529243e9c27092f19764e3603c94ec23ab9269e5450324533b9ff293d6e74e2edd7c860f809dbe27f1413adf79bb3a544da311e35a084b9b8734045b7d89f4d557e7f741e9d000cd20c4ca969d573fa2a04cbb8da5298405520dd49d03eace4ef6040da408c9d0e52fe767160f55f66c0e5cb9c40f034a1d3430aadc825bad0b7c75ce0350e7aabfba740eaf6d33b5d8e43a278e2022446508155e4e36cf0e5b216ff6c4480248c2e6d2d1a38b1818d2aef65cdecf21aa4bbcd986a7ca2f8029b0395349a921fd93ecd87f9b32943c14b62556cfb3027cfd26deaa2b6644159165ef18dcaca007c05e97536d0b89490b2c7bdb5d1224315d7f8b922988ba392610298accdb7c88e50bd819b72545538ec70abb405f3e7dfae8ba0caed029b7268679e5dfcd89d04548f64b8dd02d3f147674a59b373f296f7c57cc8f9cfdb9b4190f7534d207c03ef0f0108f61e5e7b693e699886b35c766fb2cfd9534157a5799251c2b665a90dd02d0fa78ccb28730b7a0e949a4177588798e7c79534dbbccb10bb5ef686aede869fc2b8de82f3c14f5a5bd8fd12d48062d755178391bb83337e4c0cac407a096a7283cd169f2bf662f6e672ebd16d6cfae817b71265229bcadb985513105df01b073a5bb66e623c5b577dc35b6142ed5fef4c16981b66f9b3a3a432f9878f6e35de4af50cb7c7d683e2ea92d2308d91650f3d2177e2714cf2387c5a5f77800ea4accd4a3723ab42d92d203466b16c64a47928c55622be5b244138b70451f470bc0ba7bb4e37bd46e395b79469d17bf32a6dd7073be95261d41f633f421ef09a1b7bf6c0f30c61f4a36cfb9983f086a1d749ca1dd19c66c8a55ca6b508cc503961a0c597fd42e875bb05aa9c856297f62fe9db1d9a4ca5aab60fed89b50c4245818c0657056bef425ea909411a5379616a79ba53f5b8c7aa981ece0db1fef971aa3877fa96c1eee87b28d2220a60774b5d4625dd7b3a21b5a15f3ed0994ec43ba1aed284ed99ce06c4a36e543b63f604eba29d6912743eca6362672f9ec61e4a6fc00f1e55d61927b3dc785d2b80cd193bc0bad03239fb10f0b14c37ca4ed26efaeec7f09db99f8a16ca3351c763b06092d1e5f9e1b64e1ca4035382f8e3f00b60c7678e0b2a4a02edc8905edd9152f545595c08b1ec1a4328bf92122252bca4a00b260ee35b9354b5fac6461be2afdcf77efbb39bb7814bafa292e8794d7ed51272b7f69b489671fba4442e2e1364e78bba86f05554b288b3d5d5d6ea7537b80b6d1f4281d95cd82cafc6058d31bcc6fc1a76c3fd6760214d77aedbce70d49fb700084ba40a5c56f2f8fbc790600c58f1398de3964e262162fd740d6ea12603c3752fc5546d2463f58daaaa6550dfd73ba7dde3d22e87a13b354efbcb66e1e40b659737b2fcc0d9c67927ff631255bb18435e78e64365a7d2d6bbb9a8bf8b96b038036488ad242682f540e5ba12b80c4fffa8dc551967b6c9a128557d669dc16d0f3cbb5c6f2ed4361f7607d1b1d9d37ae95195b4af280273c3feec4d67f00ec387fd3a52c77a806497aca0f8e0bf59b94f5610ad0cc11444dab9f094b9208a5c2008f3d0ab9589124e14de42e1fbd7d81d9a7ef3e125386baecd073782208acadb4fe8a6cfa8c872664e388062137904774244f71c06970ef949e4105c9035057700913410de2b01482a6ad6d1fcee3c54c34365c0e122dde835a173f4ef462012fa3a20cc877ded947343cc32779893a3c08df3882633d7692d88730dccd806558fdcb5d48199587c2ce875139a1df43b29f09c42f47bc28ffcc5209b5f100657fbfe29617718cfd28fbc93735809878b58e342e8b376c0dd9414ced88a27fe903e0f124eaa4091b227332c928fb3d9d0e213f0ab4e58641f5d5a0ba194dca4874f3afc8963b7fa8446ac5692b3ecb2fbf4828c3b24615425f174508497bc8c698052675f4de7603c9f9f90f19ef125407be71475e1c31b79c6fa5568139cd58c6005931b3cb2d7bc62ef1960f7b5e1dc3869367c798c6d7bb22931fbe07cc7bc78dbf245bf7eaa1b079a7e1102399f9bab1285aca6d7e1ec5d4722a3c7900ec9e3606b4bbf4c60669af1c97022d507a1e074e5ca7dde235c70a8c199da4d83012c0bccde28eeb8bb7dbc11a2f24e2151faf25da6b5e057ed99a75d218ed629b21f32bb20dfd1e5afc160a9205c4fa078bc855a55d4960bf4a48f9da153d00f56af8366e1f930cc3bbbe64160ce1741f79ef8f908909ed9cd0e291549b2c469f001bcc88091b5ad008dc706f15265c9e61b4ffe0e60e0d46d157b9849ed1d1b14f3abf428d61f950ae21d86607ab57993f7647a8bf87cfcacf10b8f3f47e403e7aa1f7d894d6c60ed1b1b3a026ab6fcc1d3c39b7dd54a75ee5dd594c540e813b0408c97b7ee685c0eceeeff53910f3d866be315bdde625b1f1173475cad946da78f32bd414660f4d470e88af232f1c811a31c2a5abdbace77241631d968a0fe0ba84e7eecef6c592acdd48b038e8d598d39851951a12ab880d39033af1a52e6e2e20cdbbb2fafc36345e04711dbb6f092051b169d9baca6a3182f33b2b928fdaf6fbe5b24ea4f550b211e2a32b3b68745a7902d50678d084237a278a141f40f6faa757908cd396623f569aa72e9c79cdf2a5323da73beca4c79ea365be872596100488691b5cec31bf959661181af078b35135b0bbe559c39280586523362a3214067e45b604e6435187d2e40a3284afe88b3c2b807956bfd305f63a607d48e39b203fc54af5696c18ae0fbd16ae7d83e43befc2d745867856db0001c8d4f7d700fa248a535db57a154597e13173cc0e5f4e734c1ef2db53e643d7fe2f672f7b5ffbff0ab502dc43510bb6a537e1e5671b4b656049c727eba9a3d2e2b33d00b5cb4c0a14fea05345bc612e0027ce35eb5995e37bbbd098d9d9a81e57346b4f0a70c5dbfba97277069a5d948a310167111b3a68868a4d6fc74386997de9615f75d4bb425e38fddf1281543b081b01a1a9c60755dc2495719e79b548bb088e17d7943778d4368a4c8f90fcd7973974892d0f5e54749e09a6598cac78c286391b3de1c7ab41b488c17b478b2d9b2a0fe066f9e407b9b5e27666fbffcc2ce48a44e70c0d04e2362b16e78a2485aa2395eb53212f92fe0f57ff75d100a1a4e366bdde49f601925b2c5d188fa8147c2625f7f8f210add4e2cc3ca3b9c6fe7fa78bebe7387cd07684bee42d3aded5d20d5f909aed0730082052810eaf5b6da4c5db17814a6d033aa51c392d18c3d83528a5db0690ccba8e01d1eb310c7052e52bfa8e16415d6bcd10f771c7d3f4e9bd29f2a286ea5da763fb3fe948f813d93f7d3394bbf125884406c57694a7cdf27322a8ab7630287393a4c075f1840a2b7829a09106106b4369c4fbc62a66a3b3bc1549542df9d525e99a03fc1d7e9183454e3139f66bbd0be485e3ffa0e36fdfeb030e000a4209f401e76fc36298972686d9c6a4a2249153417addab70c85a33f820d65200efd45871d13a3bd63278140bc15c23e31343a8de21496c9a34c1da61369e7f6748fd5bc88be4ff19f9bf0a82b4fdb7b47b4108d6c7d8a8b884e956622d0f2ab6e47ee6ed1924020601fd052d39c157ba7e91cf05542ac8a27fce9c12223cef9f8947afd4bd444b418b03d08652f6a55d032be9d69c91e7c9f14dd1360516ac4e84078678e0b922aaa6fe4d93b10fe503045409736fd77f9328b5ce6c0432e2183e87d78d7e12c836a2cbbcc2bf3ac8a8f7150d1024dc4fde74bb25683e8f3637697b2f672dac980f212fc3b8b53f2e9512626efc184d3ee7da7b738f374065d8ad71d6ea90ba485c61a537d3b2a8273976e0000039985cb5ba3d0b05082202ad4691348c85da9fa7239491616b08790693d5da03800da5e4b8a28c360d603aab2e0e07d07e2098cca8c2e07d8f59f7f56e88adf171fd953a2a6efe9e0fac7a15d50dfbb41e0b4b44a73e1d8235a33d029d573b83ca836212659fbcea07002e91939a86273337d504b786c7fda748c9f592d871fa389d02a6484b555815f97faae3df122180ed2fe8d04b7c718f0e0e3e5cb441b4215b011c8ed76f723420c4e4eebe7c0507005b5037d09d768358f4d99e1483a3993c1f24a222a6271a75379ef279bac79d0801d06fa7f1d50439834502d0ce15db76f157343558851c21de0dceab23ea8cbb4afc051d7ffdb6443008d8e6f4157a0dfbc2b93ae8c509bb5bfb954db446e0089184a08e1de39805bd4803c05bae3919ff5cdd1df335175f8282c0808d113477b3a807f928568e4d51680b6ce99f74c4feb33a6c560b28efd1614f9b62fa3de56dd65624164a848d7b3a5d9752063800e82716c553b21f79947420a548cc5a98bb32d8213dc9338f95c434a34d51121a0fc8dd3df53f27b83a8b0af4119d845a5b6b2590b70ce9e1cb41605ab35db5dade7e8c6c15832bf188ef010b4219c85e24a6a38464dfbeae1daa1affbeb7a2030e00d202c88a037d42328958bd8eb15f656dd293b74254119dd745bcc0a8a397337c0d7847bc19c5cf0d3cf2f80abb051b6c614a42836bd74f15c89deebbf91ee90319d2638028985df6dc03168fee0ea982b2c2de2b697e30200daba99186d8010e00d6d03e1c22e9e65d06e71d7006ce904aad1d647e09505b13d8641249c5e96b988603ac3f48c7124b3df8708bc6e1dabecf3dfd5eaa8207d56cd851f2c6a16bf9baeadd2db18c7f00b2fc5d877bc8782dd2d954073e4d7f288fb2064d217147b94dfc21394271b9fa6c84f62c239fe626330edd6fd782cca664ce35a7737262d9eeb3bc0d510063552ba47109565704f08e047cd68c8fa9ec4bba19733b33a055386fcd3e76f2cbc5f89fbe1c9dc0df138738cccea5ff5e6fd61f75087f1577b1f55a7e38af82f086af5331ee3d803c14bd7dee0c2bd96efb643eadeb5cb1e8d3863da622cd3320ecd0218c77ccfd7712caadc6ad4ff795632df73735abf5abb7a3c910114cfd77c964dbae463fd389a85e2c03d2f25f3a7461937cc9047a146e25d72a11f8093b0bef3cf1fc43512d8d27507bffbcd598875e3500906e8f419acd359823a529f44d3faa6751973ebc7976d6bc862059bbf233a87f08c0607e7da10bf005c91845e41044b0e115988e294d1589433540aae817ca276b3c46932fb6b07813ee45fe5ba8acc5bc1293125c16f5cac00b153bffb31fbe6010307ba91973d726f9a341848fd12658df2014035bd98b024a4cd8d333f4c480b110d05976b2db1b1da834d8e032b842909243e71646be118802df3c15d294adb9b17f547d11af08c2ba876c36a1af6b45276f5fdd35d77769505441463cb5011c002494c7b8441e960b9dd5e56746e66769042207073a6abeb1e2ee6e746663145dad04183f781f37c9451dedfa3963500561bf913d3b1f5f05a9cb961d2fad5e4cc766fe4a1d1564884879b8a3d844b818fac8be70525f971d74a346e768930e07df803720f32f64bc01e461de8002dd2f4a0c3b073abeb2234b25944c538b788964dc24a6b1224ff983677ec710116cff64cbd381368680cfc807048e96863c58533535c6ac08b19d7617bd73ef0052084e47184514984ca67ae8382e381b030e7ff6715d3c2d633b7ad1a2dec2f65f7abf7f5a6829a75d8b54d9424409d15c5ad5be7fbe451b9a037bc5abdd803b499d601d6bb6002da21edb01161f40255ed9dce1d3b6d83f4f9468c1996ed61ebf21ef0ca55201b90b9b20c891e07035b13f6ef0af5df721cee4e3f747bc825277db1d7c52ae8e4490737aa3c2244e0e6a667d9b7b89f73bde8f1430dd600d2481d3c9b069303adbc23c916e7c56ab0b5f1f7b2284f6a63bf66549d663f46fc8d6f4e49ecacc4978270a14caccaf9ef230c962654e6a5f2c3e150207001c4ff4bfd9bca32cccc735cc5c3bad7626e3cda338c07833d4ec201f0f87557902e8073abb3883fd62c38114c536f10d6f61f7a2d759b4fa46ed07350d5ab271357fb0d0fb2016c681be20d39148fe684e5641d1b629345d666417b440ec714894708593efa50ddfc8002ef9ac5ad30fa39ff08f3acbde7b24be2735a2d89547d64a552ab308757c2a125cfd28e72bacc242748f86cf49d73d4b26554eb22f0955c2e3030d52a4ec6dc10100fb49c226c913d30d32beab0c33323f0d8be5ac5cbb84c41ee4633c080def3128c05aefe089c82a83fb6b8666aa3a3c7203eb7c53622556ca5b6a90243a5f67a3e11f344c3c9086e08b0a281fcb213dd1288f38295e46becdb62cb9ceb099f8be3b4a2cf26b433a0d00f7866a1b72125ec2101b449bf57494200eb9e5f81b583a6d1ffea9ee280925d61f179b7aa030baa6ae5be73cd98be1f4b589070f87cb79a313ed7ed69d6724df2af5e1f6de1f0098d0693ca65d0ba675e7378c3bc22da85f0565a4d491b319bed6a1e60c4c0a3bbffeb59ffc0bce855a59c9ee711ecb63998ac72232a095dd4315c268f7ec21a47f051c00ac7bd879f1568caab8c7e2587d3346eccdc8b4d46af88042a26b20622f2ab9f31978317aca2e417ef4d43318dd8effd91db191d79bacaf2befbd1c7d17323a7b79acfeaa03fedb95e8479e3aedfa189c1e452ac926d3c4935832120d8ed45a87e4e3ad14e4653d3195d7005a8d246dc6997b6d105a0447d86e8b2bf9a9a4540f2adb3e5fae40f59b2587dec764a264bbf5c23d3ace174d49eafd3e595e0ca8e4d13272663617b5468241801255b44b545bcbcb12d1ec3aadf41732e6ea1c7e27b461f30ca6579f37fb8813011bc9538d21e5a4066ba34aacbac33234870b824d26f8c310cea08913c7813d5a8cc70093a6f550ba07acbe0541d8009645a10af453415065b9b970eb7b3b18047c73efb15443797df1b977b854f7306a99b776dadf9810098e078daa376796270fa08f0c8e27bb7556ad15bc99ab32a07ac11c859d09cd61cf6f596367ebbe3ce3f3a78262feb923b1fa59e57b0f23d95bc6ba48f4747f6b88504d5659575154ff8bd7ae6010a0e840b51abb3baa2c287ed01bfe1267c41a8606ed4587f09c0263723f9632e30240d9c659c4c9631f1435fc595e4c6c9be594da1ea603fa89847660876c2bf3b8e1a30ca530d915313d6426d1a81ca8db4429a39f566bc9c73002eb454b42c0202052d5bf31af150925d52eff037bec4d57403aa36dac6e893cde909f6bea372f5552c0afc34d0d224f468c1e1d748e41506635f05d458daacafadaf0a436895fe2b5f36f8d332409f98bd042ce8f2f66bae7ba31cf548c2519dd7c6b8c51640f15a804b66a20003ecfcc1ef186a04f7c0678d929d5931f9f3a43eeb5b0b2f9c5df5c13bf0d11ff20f63b0deb6d0192cceec2847bea79aa808b4815a7755e00e28249a1cad75c2f3f2df6e93840ff8a715c7b6a8a4527d7e24de017aa4ce5d8fa8fd10a9922b4df1686ddcd42583fca414958d3addeef377e4e5b85de126790aee450f8347c66460d9344028380b7ca12c41ba3ce5ee59fbfef5d63331450b19dfb795d7c6e671d247c59be988abb07a8db658039179cad7769891423be2df32fe2edf0ebc4faaf3fc9ede5e7657092d73b435e383cd24199d474698205bc62dfbe51a74e17f29310fea2bd8bc45fa0e9c6395673951388991d4d3c68f94504da44f29c43f554793150806b718eaa277f00f39b15b2523fd62f03ff4f0e0a5394760cdc63f3e9b82374a0717b90ca903b69318aa7e0ed196ff898f228fc8630c0ebd2771624d5402a1599675c8047c6c1c220f232382fa9d1ce6f84d0d5fdc5caef74123e42f3ae1ec95b8546dc845a4e6f45c147b3f56d81bd07b33970e0d69295c21bc0a95d692726d7445badd66fc8a83982bb8162563875e1a9bfb90a2f3fff2ec6b70bdba01ad99e3f96b1e027c8627fffb1ad09800e1787813337444c1f5966ea3b829cbf1b3deb9bb58e22047455067a82450b1100ae7844e2a75c5969e3020ccbc84f9708ae80b6e47e7ec98cb96054b49834248c3f16cd81072e9a154b8559ee7ad81538169658e6d23ec94799584171027607656255dc55f4ed4a008d7813a019c31417314ce4c1ce856a19111266e44db2abec36fad9b799446747e77712099eb2890bc7956bb4299fc943f56762fba65d274588a999b3e993362d58db0e30e09ccf36686314d8e0c7ae9f925caa18e464bc21144de7d5b637ccd678d4b046fcc71d373fd083882e24d1991669d3cd4be2736e34327f9d6446fe7c84fc6a42524f4f15e522c9cf1a30b3049a39cf00e2d242fdaef5bb7096627c7507398719dadd0f09aea19882cd8f596db429f615ef25ad82c4909b8b2ea77e46c30f6b70dc567a358a331d380010f6edb723e132e29a573902f115f5529e87e7054c8ffe84a2382f205b8e5c3d05608b23ec205425ec9546e8a0b93d847cd68a61f2f7034f2df73aeb12aa9fc324b23c06985437dbfa3d60b0e751481edd06b44ab43d39c1ab5e3d1ef191d6e0004010e17b9073b5aee222adf5ead5974a5c51115674fbcbf88238b89a2f469f4750015adad22845825d670449ca2493709ef5d86d6c4c1dbe8002f827021f5ff8f803bfb42bff341cbdbbb16f9e1e2d1e7173c9de1b3302b75215ee7e355de179ce9c8bbddb46243f0c073cad75742df2e8505dbd4928342f392f3bbfa9ebae4611a143e78048c432bb8b7e946516270587dce7a360c39e2e13275e51978466f6e5d2a45294ac11180494a07f12f55a20ac34a549e43b199a4602cc1954fbd8ab65331ad2c8e84547b20250ce712dd37412e61b8493ce2d924919ec7f89a877870510ab3dc29670b9f5905e3e3e470280f9b3179b7376d775dd2cfcafc563468349d9c6cf0793fa0549627304adf5300501e9081a4d1cc5038414069760ec6ed4f776e4195050d74e9ee74bf34174d3841c7f0621e2e141808908dda38df52e43a8df16c9385cede3b09a6e795bdbd17a58b337936a045d03d82c942febd510f00e36eebfea9c99a0e6679b576b7d99a249293bf129e8cec2983677ca818c7499df08ce4b1fb54a35c110daf40f8e7349047949c1b5ad13d1a12c86279f01d482e4338ea0adf554340eba851dffc09fa89f0db2ea9f314719e120fef83abbfb3bfd7f756544233c548deafa72808b873af5d7fedbd92742c9910c7207cd17a7f01f63a800b6bd3677fa6e15c78bed296dd2967a8641e456f3dc2ca162b396e6190eed38acc7649f4bc555f83db5d11ec44b43d24f51ab25f69d31ee74647bbc555c070700972fac1d7a8e9a968dabc69b9bcae1f56a55ceb1fa28c316156f2d7fe40b65d900cfbfef5f1df72e2265c707177ffe0c632650d6242f1960f97a6d7920a8634f731ff2f16c80009cfa8e302ec71a65fcb4493af39c183cd6ad65db575e10cd3dc96fbfe1f8cfe5015629e50bcd420386aaef28e0583ea9fa3152538723cceb895646e411f7e80f7b1ee52f25f39cf0efd171169d3a31665e3724686fd998e8e996e1733faeee3fca42779e28dbc77558be8948c65a00ef300fe3d7c1824ae61488ae077c91cb261a5d80487db40836b578a919b7bf3cd4302d144f161bb7ed8c6334ce4ec367530a39cac7c4c9d2bfe57e552896932e516a1b65cfe310ed79deb587e57683be050e00729fbbf852690e59aeec48de1327187d4ff6152fc7d124aee9ebec39f6d920b7009e7e494e7509a39aa9572c3f9abe657f87416f9fb69e1030709aa32e9963b16df66f5532fee1093ad069ab04a9b68b2f5a9617f6c69fa6cca0874dcbc8524297c7909d84515e5904d0f9a128e6308bd7e416ebed749a85fac33db3cb5302bbaf3284138fcc83fde7e2a33c2bd4a290cb3d3e8c5f4353f76f6567e1d834eb3998d787f5d401b7e000000f650b97eeb43fc3ae3eda8b45b82724ea7c09ba1689f55af454fcc5a252311f1a403ff6643c06f2a5f24736b7cd6fdb50ef30b7c9b225fd793f406d5362ad1ba4ac0ad66c4b7b1f295ac692a47842af205677faba1994d83c86328e189fe30b13af2f7540094047ab09f578c9cb52bbb3804f8c918ac4c1f8b40d5677fe334f9da43fa41b93d51e230f9d2ccae27b74e805a9f7d7329974b1588abecdccb37088303621000e006ccd569b31082c1a7a3c16d2bae74eb32d58a76419bde68c42020205c791d3f400abae15b9ee985be3054d7885e8fef0e949ddbc52fa487a94c60c05e9cdcb06c6df4963918c6363943bb4e53bacb509d213bea06275c72481c09738313bf1a4956b2d3ed800875acc87d77e9a9c697471474b4d3ac612be7d7ae619e68c693fc4f0a58a4b84fe30568b0f34563d994258efce37b9e4642206fbf331e4108d0354b434a94b8c4a735df2cef6300046865dbf8927104596dcdca65e3d0b3eb83c908d3f58dfb877d31320b541350b3e6ac196a0c3bc6f60125020e717929098750ecc2e67390569bd346f5368c120201dddc0d7727a3a2789eb9c7c3a5c213c6e5a1de4cc42a38125529a0d831e9a037010c00cf20f840f45533b873f504546c46c7518d5f67227d6f41973087b8410fc41c3c60369a87a8d504c290e2368c737b624c0ee9d6c86f9337bbb635234146a414535c7150950b5101ff205eb016fda635dcf6037d487d763676f3927d2fcd4c82a7f2a2763b0f54b05fe35ccc0809edeed17b685941d7fd497d12b8ae235c4b48023f22ead351804346d22846725712b871b701aa0bde72adcacc5611721c146ceeb244814a56e4a075c0a5dc74d2f55b8cea22255225eca2e8bf6bdebd0df9d882bb27da2b9fef18be000a3f6579d152494ef21d36a3181e001a184dc65be0d594f0922657326b902070671dbba27a5e11d09c3a339190cdaafd65f43c5a42720172bee91301b7f944f2b0430780fe118175cca7537e36cc5903ab52e5f1fc0b9bd7e8a67fd25cff7a53173c93f91c53d206b8f3f7db9876c176f2a76e55c6ec4280eca5ae0b5b673b7396df2041804dcf8f62e9994594f95d4a9bff70882a5273a76997deb2f7110932fadec4d21bb0eb864aecd9d51e8fa7d38a484bcdc81ff78632352c5a7dc2741285f7880f7b2d3e4af26757f5bc4f4936e19090f4a5d64bf87bc272db745c64722e97bdd2c627434e0fa66c5f1cb14c02011f5bc9eaf78920144d36e92fba28f1d54e70b63d507abf79593b169966ed74fffc275fdcd019900a035b0929ae74838cb3490c5b78e65dc09c5a4820e4f5d49a90094d5950d967e05c0c6c00b9acf370d31709b6de42bb6092bec44cd61f25ae29659591f51be5978f6f84e3a00102b0a4cbc72a391aa98ec9e5a2730567d2bf8b1ec3d744c14ea97bedcb7eb72523480474296305b83858bdd4fa3281e2c72a76b217e2c088ed25430d6fb0687a139178fbf5310a0dcb7b749fa7366aab54dd4959f665c2f2a527922a6409f3bbe11b894a5fa750e60a1c3d11d1d2666c5fe51bb2881a4825b570127a7dbf0c84d26f5a4c548828dec2fb67afef64e5d5a0e9ed0c7337fbdee8182f840c02e9dcb13fff30b08c6fe63b49287a88487ef3640ada47026ab3531a83327337b567c4c2adadcb9d42066502c7339d781c51a4df1a869b4393cdae43d8dc398bf4a83943812ee0d943d068d446dc88a88148303006b36ae8b611aacfd9955fee232e84b381ef959e6540f7568ddf3721041c49813a0c0317de730b60ff94d1cdcc44a5336903bd914a8bbf7beb07c6308ed0cb35709feb7cebe301cd520c4a985b22b113db3687cf42cdf1a5dfc795ea400c27c5eaf959a19f81c607b7b1e4e4b7cd83d1740d37bf65d238d4ac5fbb284f569e5ddb031cbcb4f5c97bfb44bff9459e7f1066de63853b2c685e8c14572f2acf05531ef267486fa75e4d75ea77ec07a03683c8f393685e57619dd44f24df4b648fbc1cce7b186ca205ef76be75321cdc34e359549fbdb7951376ea10f543cd40f9366b4553e72375bbbfc56017e09c80d6a1db195009c463880bac125821adb312319c190bd2f1c3710d4c071a024c7a25e13a4c96e1430a7f99825c1a42cb3fd7e6f417812226d90a247a49b12e6d7f3aa210e117305021c001c586f5aa8b83f852f77e3c14074d056b33891a7c6cf63ae2025be88c0e8d13207f093eacb05d37ac9faaa4d22e1acda5be7e179501560462e862908e58c10e52c1fe3969c6f34dfdf03d648d259b0b12f20b6aae72664343342313fdf59050e00fc9a2a8e584c0f0f217f629b2850f0d321fcbc79dee23a0f784299ee1a2af099ba1db01121b664bccde70a72a81a4bd2690a2f423ad82b03430b43b88a08f6713880fc8b14fddbba40f06ccb9b1c67a642b1dba6bc9f21041a7edeab321fa911aaa9115b41489dac081002d5ebf67bfad6573999ec282d1a3dd97e6f446fa074443e34304e83f2cda8e731fba29aab84ad4e0719a78bf427cc82ca8ab9c5d7cec4001749d85a7f64995d4846182af01c4175c95a45e50809281d3ba6bd075df7d5c672cdcc7b21f3c45cb766d205a8bfb2c77fabc49a5618527fe6990092cda6b3e48449c66b0b4d405682f2fdac848d3017aabd3cc03704438dc541e4c87e884c6ad9b48fd61e081a3d39b8fcf90a8422fd9122f6cb9f3f578d7b78ae8f759e95a6eb25bba77e1a6b9464cbbb0dfe61a4a617df7c8d4911295b3f73c80e48a241484f135065095e281aad3497f0c96581eba843c7f92938875dab0aa609feac7d51ffacb367c90232f774e6b651c1978e76c4bd85b76b2242df34c5df36b70506012dde47e88b750cfb1dd486eb5891e705c8a6356744348a45b2969f480e38cc924b019a6c4f51639793d781852b90ee1d0c11afb5c82df96de97173d08a02e7e85eadfe892cf20155990996ee1e32f8eef3a1b8cf4b21fec22112073f7b18aeadf761c02040ad0c6bf68cfea52c9e1b3104953b8b7a2283fe90fd9a897da23dbfe17391763fc07472f195d1c1d77775090aface90be362b95fb5143b8882392d9dfca5ea96ee0bc7b4c6adabb0dfdbc070c1f6542ee30d6496fd845a40f031da39eb660561d1c006c61e9dd62020586bd1d1fd29e493bcd13beb9b9651223981fd9429e2c1498bc00dc59958a6da08ede8c79b2d25a2e38ba6bbaaa6b349cf699e263d65b8f9e2de2fccef4cbcaf7b9b7588308c7da1fae700f8744de27406655f1c3c0079d60b543cf55cca7d600d4fcc4f98c564e10786c239efea481d237c696f4aa1ff9a53e21d349cbd50ba2bfe31306d530a43e0c9bc59157ed03df79a1a1b53f492aae486228b5aa90156505906f018d767c1b642922fb70b56d847d249443c519b15dbb61cb154e3772ada4754ad53fea410bf703db86bb8de8293ed1299c3ca266072ebcecd0a7bbee8cfe1c6d9ec87d821a734fd5bf0204ae3a3c58150b769dc594f3b05237f88811163193b4044aa2550bb43fa878ec1e35717162a975bd17702beac3330483081653f7021c5a571a2339c465693008001d1d6b541bc26212546f41824c225a09852ba41b6b6494f3911bae930743e25080e7ddd23c05dae4de32e20ee372ba0c1b99518546d4ac272617f08bdc7d3767348fda37168230bc07ec253dd927d5600f98424bbad1f5a8d62f52f39ff8c020c06ef96208ab525c4c8e31d938915cbce7eb02844baf545cbf3af1341a6fac423f20b589a681f49495492df5c4a1d7152a7360a9ceed67fd1714d96db40f8456d7df9d7fab849ebc0860c268bf09996c29ef89df8a9ef0a68e2143df0718a74f079cbc933a9a011701b5217c43e74f2114dc657673ac17d76e0f1bfb6c43f6809be2f90834d9eeefe83f27f37bef5abd2cc90fba456a6aa2d1334a508e76d2129d46b658b9a3584df1ba003e53a976deb3892f0a9930c3b44e30a0f3b212dd14ad12ed1b4afc2bea7732caf38f5287fac8d8fdb9465384265a0f65a99e4c51c049c0f565b477b719133800a06671da5df0969030e87c47cac51c9741ee6e5102d091b55213c8872d5789e9021a6e73e6b3355cd4711b2f2b2d3a890fc032364eb7bcb37bb6b315b1bdb7ab4c8f518770136bd93d60780d9ab71a4c4a0932b5b753cdf020a1f5dd892b0770006037ea8e64da3d63ef5ae612e6281f5e9faa269464c4a7903059afeedee9861a08509c54b078aa616dfa05c9750e3e8dc5e9d1668fde82de719d6e8967ac7b0a4ff1a8530510b053f78041656b29b023b1f3ff901ef615379a16c732e074050700729a98dc2fb5d830d889676902e24d942118df702d8f690ee2d5db41b8f11c8d3503a64ac789c8c80d84ed9612a1cf335c051aef483d61708e46c3d96a4246035eeefcc6f30f01004d827c06339bc2472f1b8ce719a72a6d412b0e4bd35918599fafc8b1568e863301495e2835ee94f221a3e2cf7a41b4d9e11ce534ad7aa74387c8a217cdf40cadf28fa1430ae6c7f4d77b7420282e1191ddd4057dd15e4c19da470f1b5bfcc606060153491e09c3e0136b937eb1312cabe30d92775837c58873502a1a7271735b7307808a31bc3f1ab44fef9647043d5f1d56024b165cb27d6eceb8c3759588001040fca82584b89051fa3d644fb3d119bfb35342309a7116da68eca0a76798088103801b0048611d02f8da79fc166dc1a13bd74e57f6c52a7f3f2d71d2b51cb790ef9e31344bf1e3f90ecfa7d318713171bb3fe065b195cd68c2c1e5763d94392c062a54018f9aad2a8d76d4dc43c6182e1723ce0b5df9821af041b7f458d078818e04060c4b9156d48e0eb5f109758770b20b6d7c42021d3422ce0a7554238493ebdf9109360158bf28ba2fe466f8c9576b20ee4ade69ff4ed3a2ebd8d8fea0c42ea68f307c078f09a6c34857effda33ccb131b7581cfae7126914a4694ea09c76a2a59320180238cc4ec02a72d6eb64c9e54a595666d22430a9c818d70f51bbc2d20743ccb1480107521cc0cff833eefd957416adfef0924cd1ab61f6715dc279864a03455680c251f034cf99307fa3d60ce709074b4ef59dc27b574abf5c5edaf8f322ccac12040e9e2e4c9c608b486bfd078f38be21f1c9bcf7cd8714c038bb2974c38d3a3e83a015464d4611d7bb206bddb92b377c2fc8ea4c79969f168cb0cb73634cc611830d08fb2a0c2b21f6eef21f3a8617b952909d936315bc21c1dee5e183165feea0f3ff5520865dd3dc8fb4d6103b204ee8d86e404c48eda72fab778530ba122f3f35337c0d234803e74be842001e943d98ad3fb39105b0766f637c13b35038a6b1aca739d3f9145fc33323397bb57f790315888492f363ea736b8d46c3eb25634932df596048380d1308f75d0eb5472cc90facbf1815eca4b9aaa0fe61e7788c2320bfefec18bc26dc0cb2f08dd0d6fcf650de8264763725e28491e5713c67c2cc07e7fc8694ac62314f398603a6e6490dc03b6138714488cc5f413cf2bf93c71fbaee0c47d790b1c007ce9c35267a1506b1446167217b2108c408d5031f6734a9091c787b9519fb0ab04b88b5254ab2f709fafaba9c074f83e25a2083491560519ee416f53a2ca6219d312ffce7c6cb99a034d259600c31432ef4d6e2763147ee2b8424e417709c61e26cd4c552213206c8e0885456a4dc5d499f0921368097c70acc1602e60e0e2345b5e7bc996aef13bebbee4f3d0a0b749284c7132db0c452b0eae8b5daf5033f55077761c7437b571691801e5a075e4cb627d1b1dc48d152abd28d78e57f5d23ede53bd75cc74bb5037cf029e3caa04b959e1d6381f1d3072e415d469e91f5538ff5813b5aa0d33a9d202830023dfd29c77df23337f50831c32f4132ddeccca796f6ea71274ad4bccb62f4cd802642784fab1193a6b3ddfdef50816e15f9f42088fe0ed6492e00ababfc593ebbbfdc31c373fb02d59f6a894bfd5b9839d32445ff75b3f9b0e53b4f25a15887c158338a0dec80b37250d30a78f25dce1f22aeeae401048907b28562f57d288a0ce05aab5ca70d53ba0fde5dedadffa7f33518d7ea7ac23a9fceb161b5fc35d195b960b5f93be423e609fa9c81f34f0a8805ab725bcc577f8e6904b3a98e6b71fbe228e5a2fafc5181d9c8768df25d6ba9f53ff57c41f3e2c0a005ed00f50f1d447db174b04bdd817b1765164198017c5f2b9389c2ed01053a2fd9ccd72e5ab64610e3b22734804017fc650ccd0d3b74fd5ea6857880d57028b0df73bdaf61ea045b8b334cab97a2e8cdc897305bf0f35db86fd1d666c5f04a5f02e5a150f608857d268048bee321cc30b84fb0735a348b7b4b847160c2645f8d9397abc2846f99df6eac5ec31a2344a94a24c1e432c3dd2cec6422975169ebf973964c7856358b5a118a0091edc1c222293bb1cdc62da3f9c4815961df82e863b51c1feb38850a57d57e877ee74395b5db62c9b4a2dd84ec4c40bcede99b6400a8dbfff992cbbc814ec58c29319348058ff34efb3cf131cfc82a65b695b099d81c2b0dcd2effd9749e8355b1f45259a2f6c83667b1f7a74ebbaa1cdfd73f9f9786d2632b176f7dd39355e380fd418385d75d036ffb1752512e0d5d4d05d4799e326ebbd6030abb8fb4162c684f538e57883a0917f505b00e7fa778e4f30d509d1ea7d72107f320759515b5a9af932ba46bab3492123b979c65b1876ec9610204b479e7ce255e1b1e4fb82ffd9c913c868a39c13da468b7a5bedc7a8ea344397df3a8827c0671d983ef5a9f0621803942e093745c4683d0fb1b74186eaecdd0e8f5d202e80f1dd88913d34d8d1eb32311aaf9fb74ddda149e8349b38bc7ff88f6abe4f8b0cbf7310cf742654ef9b3b99e9915b90bedc1e387b8ffdd019f27986ed05660d6b5a251e330fa03200ed246b8efc8edc08615052cf3a6cf9529ab0621553464f9678b1987e99ee772464083847aa3d3c196e4f2738292b45acd4225d7424591f817fe4b575a8751ec40c3eaeca2a222037e3e70b7748107dde7b2d1d8f52680537934d4bea560307ab7226fa3b0b81136d6753447bb189b97f85460c8afe17ed281c13094137c4b1685308f94fcf9d01b3d058251ac118d5395732cba918aff559504a6efce7a3a378820704c55cf47f1b17463ebc1661185a42f858be434b83e42a7696ae81528184a802cf7397580b3b25da12b7b60058e67e4ba350b377f86e642b841e41304ba4eb24616cc06e442e112e21f88085f4afa4f4b751fd128570656c5490fb9a5f065f224df57deda5c554804cd2065cd6253f93099208a0e88d77ca44e1d1342913cd15ff8ee530faa3abdbbc4c360766033e8ec1bc7dc1a33a37e69ff7cf36274c7128dae5509bf12cb180385aed667c68e10cc10180f644b05fe119608798c798dc0b2bf43576429dda5c5c332a8845ebddfb5a94016800e3869b70303f8d515dac2d174749215f09a3d3a93d55f68431c2c784059684f077a6d22a0a77a43fc8a2295ca9bdec5c711cc5624efacdf77e5a5e5616510d1c63346f02f43806797da30c95cb2a121440977ec8ced2ad1b06fb96b52dfe8bcf3a5cc4938fda1c5542330192bf47c7d056f5f977ad9aa6c012bb8a51da9f6dd58670fd7f38d76d21525b177dfbf7e5b9ae652c7d908822bee4e4fe5cb5f24bea6c0de7c7f6007290cbd105ada2038253ba06116252d57e093319fde52f8de0a21113884398ccc73c41433a37dffe436e08caaa929e0ab5cf82c921d6ef752fdb5bd9b22034fb48776a311440950492803d351b1ca8138b4a2bbf68c4c850febcfd7cfe784f8a1173a1bc28e951a70be4d82acfeed1c03a6813c50befc33224ffeea5e4ed29ac0f6bcb2c2b04bcc32f44ab87a4c1253b28f490758bdb6850ca8d4de324a195d9af096c0f31400254d9f3661339cf3fa409922c7a86d65db13a7f674a0c5feb899a6ecd3621d250e979d489a41a01fe7bc06e6147ab2f95d33715082c2936c5683975dd8c1fc10100a485274a9e7b2672bb1aa4f19e42dd9a584b49472208e89293a747b235ac6005e0f662a7dd45ba9718ae712dac141a17bd59dddd84a10cf8e94b27d62d0a104b7ee99afee9209d0a797e4ea2f2c0dbf5a1cd4a333545e5ebfc339cd7373f9fd457f776312e65bdd00170226117ccc770032a6489b29b8add85bc47f2059b67bf4b2c62ffac293a7013fc9df2e88602633699e68c57b352dc70bcf2152263ec275ef34a828ef500245c56d45e6f80e2c9123ca517ec74d03e055a27b90f122388e7f62843bf5411b92b2e2366e4cda3d421c279d2752f0864362ddbf01cb64f37ae1d40080b730b7372c2a84160109008b3adae74a41df0fe456efd5737cecfa8c62d1cc678c8ec339a550543f3eb50807047bac51dfd9750c2c8beb022ec854fac0b200c478b864fa42a77561bce16e31ee5e05ff09d1fde43a66c5b05c44d8a36414bb58bc9119469593a2cda070601ea1c02df56a1b8b098a13fe61c953fdb1493794f10a540e058e1949593b648a084073cef4895dc1cb5fd402521a6b1a9190ea1c19ad69e801b0c3e7bc2f1432c52fb51ba5542de6dbc0f6c6520295f2ad711275713a7b04e0091b0f7d8170c02625e4d656a744a0cccdbdf512d30b9ce7dedbebbe3f44ba915171ade5f1222e607f44e62e1cfa14764d15c29150da9abb76e95fb7217243502dd72479c9b2e77f79f3caa57d7ee73f4b8872c296f64c36cfe55fbe5f0917be0f0ce1b55e8ba1e7000c0215753ca8b3da203b723412672f5129a76ab2792d91a81eecd89fd547fd36821a0b431dae310d3e9e51d23c267de78a96288d8fa42217ec689d4b49b2b7e74b2e98f8a37f8ff54bcee0724cf7adecca339b79b5a7143e7f3277e6546ddff56f1482ea468f1d96516c9256b122282976820c6eb7aa40e7ac1486a9ebe8ed912da008fd07a242f5e09540f9f04aa9738d96526e3e472504f1a073c2caec4739bd880479d189029f926742506b6c82b216a7d4f3123ad216c6dfeceef146ffa40601020d525bad7add4473600fbfd88a8c9f4099d99d8f156d6d50d6da7ffb9bb9eb677184099c1b7671a17f646693621acc8c5d0b52a8ea56df00cdaf4602e94c1a960a4f9af7611ffd60e493c81b6b8794e25f1b10f2249e2d3a0dd2d51fa57680995dbab9d6c00ee4c2701809a772e4c46628dd9261f1195f41ad1666a9f8d4907c33e13ae28af92162753b6f91db357828902fa84d073fe4376d228ca59638351b2a4dfad798da0cd0b818e2965f608e0fda2b6fba5a5b7f8a3a14b689ec2762389d294c91bd102df0e01a4af32ef7c8c1ef5f8763aecf9bd1844913045285587967d897fd59767fb12ee1b2f7c231804f041bff0ed2618e5734b435237333dd4285b27621b5d3e2e28f36cf45770a80ab3078c9e2dce69c63040bd9a19c07e66eb83d3ccd82a8e950c6874640f7bf78a5dc8f977ca2c7b4ae2dc35655e71d1cd962a5fad747fccb91249b006a3f6706cafabd52ed517c0542dc80cf142fa99dc971abc8fcf3ae6571a0d43bae2fcd60ec0eaa68ea298cd8f92a4be0fc2fdb7e8e0aa6b301da5b40813e826fa7457dc94aee66276fb800380691e9b243ac13971a1b756762459f13433a7a8505ee3e8fcd90d3b122236458d80d28016fdb99f67ab2916fba16a6f4920242d07527a65d48f095fe5c01f21c858bff4c7ff74be7274a019b543cfbec122e5aead394cd83cf37c6a34aeac92c8da40eaadcade162aa0164bfee5703af51b30606ef58eb3e2609a879d9c85ac3514406f991d101f4ac1ff8d87dd40001a108cf333f7b8107ecea98ffdd99d25a2a9c9b501d7f2a1cfb89f2518d7be21043cd03ac5564a19bc5e31face2fddf897f2bbc57aa6c84f0f20d7d346a1c7d31705e681a02b4ab8b4cd2b382e03a15bf13bf0be6bacebeb945dbbd3e3a950c2ca170f64f2edc0b3289da7bd7884de7880c3389f738343d640fe777399cb43c7571e5541fba8d39790a541509affea986102df265d44407c2a4f17436f6b4e13690dcaf7484e207a1ad000f9b49698f6ecbfbdebed79865b0b1affae5f888075fb2179b052b9e51788ffecef1fbe6807cad35903fdedf7002dd75cfdfee11a62ff1af03be81f7e27fb87dfd7a0d674cafedb6b137ff1aeaeffb68bbf6203c3d76a12949d372a6f5316adb2b365abf70f104ffefdbf7e15afbffc5f29238350abde23fdedbfce0eae87f85ffafbd7b2397c88cdaa5529a4aa4ec6b44d731d86467e0f691952b3e3417e0b8d10a71eda0c90bb445520e350b779a16ee932279fa90e0e220be78529c8c8f5cafe3069fe0876be84640982d2fe9760a1971dff42b0a031ff2958a860a4ebbd54e7fa4f8de7b6d7dea608d34cf1cfff97054be5365cb6321f0a0af8dd6083a2c9afabcdb4fe1623b2c6abf2ff30a1187f2970c4fa5fbd0ff2770433019c72aad9ea6ea66080e3f22c3f2429274033c2dcdd1ad0e039911e27c89b32550b00527391f2a87e55a042628c6738c92b02974a14ab6df8efdd3a6a14f322e2cde45d440416ffab9aeabc48ba38aac4c1fedcf27154e24bd973186d489efe0aec803c78da46a90789d7937e13cf346808451c4358b33e8d44c60bb6676e318681ebb9cbba9049d8920fa0b78220ae03fed2bd2f51d5a94831a63296b0185f9c4b391a40ec67b77cbbe7b87309620c2cfb171853ab24263692d63b268932e5440fcd8077b52209d8d87501f59d78aa9f4cff33e541043c4655ff01a90e1edf26383ef43953d0a57c8240ebc56f359c05397b1143e299f5a2db2f26ce0df0ec901abebd19668be4d1f54fde75c0c80924e4862c61c4ab0e3ab87e1cbad8f1e9222230fdff95c84d00b599e5e17ee4753142b1b7f35d47357b1b991eba8844adeab5b1ca0c92208772c01229e75d23351622da0af2ac63426f2fb439968fedde0e8d2b4de341d0f7fcdd8be2c0c27f61f1894cc2b04ab75b3465791755e438627161dd77332e3c1a50ffd453d994e93f4cf7ff03d610d967ed4949381ea1ecc47cd05b377f73700bf5abbef29d953e0b6f887132b29f80fd9777311f4c7b5c0cabcf5e711ea1e2171fa6a58ceb37e06957edd715706fb1fd21b3ca33bfc8ec8a58117f6e06416e5574412f2529bde4a95901eb0bc28f9f424aafc43f74b44401457d8b39a695102cc9a13c18f3cacd3bc35331a010091f296d09da27c908fc84efa238f0edff57a175ec798174fc66d1c249849e0c85ecace35b5029719b7d238a543cea897510b9154041c819d2a27d46cda24018d4e6eb52d83f221a0c3562b17df403eef226df83f2779e3322b712b777eb2d4a0ece768d862518af7fb5f6b4208a22fe1b5492de223cff571380b5ce994c09b9e599f1f8cefb2ad5baf31ffdbe883d7dcee575ba6bcf95c1773bf6bf75983b8f94dcf29ccee31c460cde7ed7377fcf3af19674e3fd06374575b0e055691b1df07cf534c332e708474a1b8cf21527d22cc8f3cdfe56207fa0c9a835fb6bff8bb35fcf09fee2e42021c668f5bd6e6492890f624da97d522afa55e94fc7035b02fb0c137000503a304c18e3a73f0f99239aa4a1b3a8e166e5fea67a8ad36c1abf896b658ac4c819060dca31e9dd99e59098eb5a3293e2513447d2c80e2d82532fc9fc86fe9edba204b75e8201c38876b999fb76edaa9c9ba9cc3043b49ed7225a646d97755cd4f21f68f34b2e60e3fb41696b2c3341012b8e42014a738b79db9464d8b603ca327c38419ed7f34ee6779e9b6dc836d85a292286616a50a8fb8199b9516033c32ca03af9ab581b8a42902fa625e0a8ae008e672883b170865073cb4ba6aa53fd7cfd0ea7b22e69d6a3bf6dfa5ce251c77744141a28ef0501271304b1cf04a73925e615cea2ebfab97dbbb20a0c0246282abd22eeecf16e05a7286f0736cad5a9165c17719efa98976086e21c8e640e009a6e41630150024445b7113fad464d9e35f223277d3076b450efea16de3e2577fcad7db06a6e476bafcc98ca5303ec15586f3ab6c9eca2e3f19bbac375a4d4744b9fb78880da7371e60da40f6cc85dcde00221a468b755e0b056f359d2eedc044cd496a3ecef0401b36dd9782cf56c81d1b8391e79008548b87fcb4ede3d87b5a3841bd45ee5efc80a3c87efe99625d4b16c16fd326134b25a6e66dde5e766a65e6e6dc98a7daf97c1cca35e242ab4c07c2f045d79e7c97c80c6fc54ded3cb1890139b290e51071804ac5f0e6185cfa98bae00c76595a43b2ba6ee549b89d5646374eda69453e9729b010871f6af16e49bcf3fe7a072289d599821f110bd87f2a987c0b276f42ed1a0dec4dfa9468d783038086bfade508b29dae8082968fc34c0af134aefb6b99d701439d3321106684e4b113a343153751c034ef35de882cfba14c01e1ee4ca31fd9c42819e27b38fda311fed2bc5b847475571da19f0aac6156965e4a4f622ab3f7b0c36171c003043c92825c7d642410c96c17cb700904ba9a5e232312c4f9a535f8b7e7bf2258909a02fc48c3575c0778373212e4a38ead943df37ad527dd9fe04cb3f695408bad5e2000a0000ffffc5dd122b000000000000000000000000000000000000000000000f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000