Blob
#0x011e6855c21ce594fc45b085fc2fac251f302da412ba94fa27b025585ba2fbf3
Versioned Hash:
0x011e6855c21ce594fc45b085fc2fac251f302da412ba94fa27b025585ba2fbf3
Commitment:
0xb7da20200cb85334f21a9486ea132a08d2d0da036492a023837e70a60cfbfcabcab910d6b996e465d987ec0655f2c059
Proof:
0xa000de2c185be5c5696131869b64912f9c07fe180a4b04bf3d1f73151834deadb6f3159be73e45221c4a697126ec5e95
Size:
128 KiB
Transaction Hash:
Block:
Data:
0x31000094600078ec00514da2f3379a3f9f1826e32de5000000009448015b21a80f1a11abbbaafa04f26d0783a3a23eab557454d4873d8a18ff58c8e6105d2f2a25fe2b55133144a88e8ed1d0c88b793cbbaf9979d512eaef416a2177903bc81d3c0138e796ada707c80fc0133434672aff3f8200ce85a00d8149290c1723666736fdfcffbf344d2cb102149c60dc72ef7fe7fc37898dbd944eb51074f008b4ed09abb6e46bb0e8cbf35ff70c34c64f1270accd9cf9f7a9441662f86afff8926c24501390f6f736cb5299b89dad23008af14d276a9396860cac3190d6d06a0342300851f3d4ff99ba64ea5195b532f3ac516b84038a88930828a2b9eab7734cff3b146d39ed960c3dbb0990ca511f7076912e08b2ab8b34a9cdd9527841ea38b80cacb399c9ee15cab20052e27d905e4d6db2ab95e0f02108060f07078383411002fee1df2d3b376f4db2f2270ed4e9683ee8286a091e6c020952a8f96f7237b02000d87bb2075efd7f1fb61cdf849aab0c27cf9fc6723ffe5f8fd029fe70358220fbaffe41fbc12fe738fed9de05262d07537ec11110000501ca2c00110800781019c4ec34179ea43c80020474191004348e82a04b18027cb41a00044f89f5011008c8272210250145de450114242732a664427a11c1bc423023058244a8853c0a1400e440148433b12b46ca67cd58008866174714d7026985cb6107080100432c1050501d6a053c2f9508ff83cceaf21fbd5d895656914da8a339985d31050423c6f76ce151a2c5963952db134273600309f0a120fc424cf0e8e2d1a918f381042618c168aef158b20daa4bc508ed01de5b6a1e424e2c71bd51600a55b7395c30a1a1b662d156be8dd9cd57ec4c85b10ff93a17f4a260729ff819362eda5800358d267ead6e956c96dd8b1605022e9de303020c58d8614a1d4752ec2532b2910a2809c15e401602eb8644e67e21010c6651c3403d06a95fa4d08ef4a9c1a33d22b983083e1ef7b5cd2277e6754a2861ac1d7695093c575ae816badba1d9dc5509d07b6dbd2af0fff552982f0835be20e9d456657032bb313d01485306bf02e810fbe4e8722caae90923e2376acbee2b621694f84db81f0c8980975c365a49940033f194ab48e5f0f8e47fbf65094cd6c7a0ecd402064c791910218f23fc68a7253a910ffc091754638a91eb8968280ea8d2b3e3e5ab9355ef25d7e56ff719dc1dc1f69456d2b9ccc2e065d3c1da5489ccba8bc8da3315987bcbc730e03cb9133380426ee677fcccde887b7e7febb62570573ae2e693f78e12ae6328826d5388375bc619ffdcd37320677ef87bffb3b07249673dbe2fd2bebde5cf1b51026b0d0133d573f927b495c6f0e03439522fca9343956385b6d176132e59c74a5ad0d332a83258efaa55abff7674641d1302047befcab60dc1d153bc577feed6661cb228d881c54984f3bce17b268c24b04fa8406ff014dbf75dfd1f3312f08aa8ff730d74ac619054fbd5755a0b73b95cfbd9b2fa6f327be43a4e28fe874efdbe59e636b32c01867fb9225434d1fb652f2d12164d0e476f664ff4f32ded5b90e1335e323a2faeb26d974b7771c3bcdd68d96ee2d00914fddfbc2ce8ca9fa84d9507ba1b07e8fff5b4e84a0750bb8f5a5da088e84e9377d020582870a2a7f0296cfcf63aa637e9657a77827870a6d6db849efaa9a4a258dd632445266451ab30f4d87206aba4f28fc66d9efe3fa5a45f9c6907b1a572c4f44d3da09e6cd6579667561228b84ecbc4e89ff4446d9aa3aa90f590ba1f7b9cb6535d8ded13eead8874e4273f0d84f368cc68145f645ab2e57d585476b742e6a91a22fac99d695426b561b4253b8722caee32164a41134fb183097ee689399ad03fc0c29b52ef191ff78f7c21bf2c29aee8e03925e0f70ad85f2dad5ec92622038e2fa4bffe63fd2f5d78f021100cd3df9b5a54e44d66e736291efd1bd35120c830734ecd973354e257f9d2225d4e8bb37089b28f2c810982267cbae773b9e95c9482bb2e71297dceafa0da27191e49e8fb427300c56333d7ccd779448ba4f7270d5da9479dce95e8e3913b07a6f3734886a10b0c6f4c25ad4951471fc83369089628f79386eae0bd0f82ec1aa041353f0beb62a33445f5c06ca77a52e7cba5a1af015afc3b7e2d6c4af0423f34d5223d44c45ad6d29ee72a800fb3848fc8a37badf9a790e2852c2967a135250849044d080ef4056337852dbf4fbf32bcfcda60621c854e5793f76b52d6351eda9fcf8de2df85f122ce6d2a649591afb3cca3f58b213e0e5b2e4b494d43a70724b210c94e3e79b406476592fd8ef668aaa27b1061ab3ee7eebe98ccf9933f17dc6f6dc4ff1eb3392452a1b4e4583bc856e13980bc58b8edd5f7ae569efc4a3edb8d63eecbe2ff14f38182e3a81323eba96d48a36d05e2b040fd8b512f9859155eacfb70e5287845936ca1bf731f8f9bc08ce923250a9d45c879fe89fbc7c339857d6e8e378329edb4923e411589f80985777507c2bcb39cb53acc516b857003edeb5589abce827f9ae9f02348547c41ae2c1c2ad6b357cd0cee6c56b07b3b297ddb3dca7d4be0da93a6a3cdf065cbe629a0617230eb3449c601ad049483c7101b4019993b508e67eb1dd8a73478c4fffbff92e5b724a65f1722a444e09bd7027288eb20ebd4c589fe223c911ae44d6db7ced57363f89f4b8429258ca263c6045d4603cd794e58ca356d74681047493d821b3d94cf62784ec8bffbc8dda59229ba2de863cc77562cc1e0692c49260a0c7585da2b689c8ae13766f72f41b4412b62e3b4da8c99d6522d91415a0de08d2c63b70630392789cf9f46674d9883562d7cc7e2ff61c70ea01168c9a84198da8324152910846d5256992ecc5475a15f0efd7f1e0f3f2cd7fa8816b3d680d3c7d27bfa40fe199577b2b8bca47258f91c32f5a814b93f67b8c37db998e918f81fde1af74171cc407614309d5e5ab7603736fcdff11eb5ae1647ed5b529bd2eb4609719cd40f2e72e0329e107ef5cacdb83d254007d59d190789a401607e0aedcd1bc44621675e7d182dfc28b4a9d09d63320cc24a94fcfdc7ff1faf93cb51e667c9020c3324b4229b64c7fe4bfa1991e60eb17fd2b44646905af04a984412d33f6aaa483eb6888cd19353d19debb9ec813cc57ed9855c792cda069e05fb807cb504179e47bd54509ee652940296acfddb34dbcc062664b149c7742925c7269a6b0110fd04adabdab967b00c9f79589ab60728342199b01a3e731df3373576940c8d13642add07afb9670f29e4ae4a505a0ade948e50fedb9066ae89b58c8306f2673c2ad63214f12a73307d138991157d2e6024a8a78975944a0bda651ff462e6ef1a0e4be51c8238da6e20592f6545520d4f3315902fd1cbed07aa9c6cb9f2021eefaf9ff0025999ac3960227dab2d2b2a66e42ae5197e71260437916bcfd5ca97430feda7dc3c972975625f913ff54c1af5309754bdaffe27beae0a3f86caadcb4c35cfe104e6d96ab4aadca60c624204dd53db7e58604f8a78995a575f3bf8a7138fdf6c706a29bf439af2272e23d50c5372723281404e71b9b802a6f07abafe4a2b50e26592f2a6a2cc72276e18223ca71b00585ebae621954ba85be3924e26715b91ce2f374e3c068c5bc986e08328dffaa6aa2f81b88ddbbfd2f954c0510377c459d3f906012ba9296d5b8662620ecf13b46e9b08148e40b7132fcc07ea75d437b4604b62e023f2232427173951257dd031b19c7ea785af375d914edb2f05617974f3a06751c7fa0fcaa286aab40c8e4bb120da99195f1c3d9883505588373765939243e27264a041c5113d6bee14951a4b6f9126eef695ac0941b9b9b126c78ac4eadf6b6d9ee36fadd53215120b186e38b57c4845b8c0c2c891b31df5c450084a9bcb54f6bca8623078652dd805e5ad0d77161101581ea24f767c453f8c920a3e76e848cf927e6d3db7d61c090014954d038ea33338d8b445c149aef7e8c20d684541bad8104afdf48c3521df078679166132fa5b89ac57ab3f97f09b578c263c6d08477dbd656f2dd0388e39389c0bc39282e6189abe55946b3faa81cb88285f692ff6186bc2ae87e3b78c9f2016bd0b34125866b813b14d8b90513b01123a8fcee944c45561a0d6527977290bd94197bb98cb042707f6c95e5b91793b59a070f8e1d80964a8bba23461fb8b3a9aa2926631dcda527f6018bfa880a0ba1a5a91efae698f05166ac5bdc9eb7e34fa4ae1e0685d08847fdac76a830c956649dcde2940e9cb2b7eabe6943c5b330188fe7b13f340f5c823eddfb05ab9fe6ab1d0ac077e659e5d52110f94911c0a21d04b3fd84f0c1fc005dee65908a1d2931b50fd3be88a9c40e0e2942b2204743acd2d82e129e9fac7a146c5522fb96e485b91605d7478ca2898edffbaf587142db82464a2b38b704560978effb49f0391d0c1fe1bd01c21f5cd7d4d6270f0222e08e21604fcb6a3afb2d256c8e4b0e8bf1ccb933c1d3784b5c98ae03f330ebc3977c9533194a50ca46e9a924c136ca82593cad0244ba56a7e6827fe28a680170c17818051a3246fcbb23a7cf6c40bdd5eed7722d12a6058174995152604abe508e3425eca1fa1a7d0386775c3360b850bb16ad616b22c5161ab74cf78d3cd8b3a7a7ae768985752747f36e2aff8da60a9087ed7c2f722b38929e48fdcd8125a366d22bef7a42bf113ee6756e9b4bc99d8d5dd71bea0b959fe29c6d190168f7e0fb2784a417b9f8115e15026a4fa1780e38c36835a81e80ea9d44d2824cda66a2e8686a40faab7587655c182d9f1b1031f64e8f20f441fcec56de9735a53f20f1d1bfa8d2d7655f9aba9d644e5aaa8f8d3a7681e228972697fcd205bd057134700fab26e91903c38bc4076863b3deba6a69bdb6b4a10f6722b5839df3677239a07e8f28cc9e3bac4add1b00a872e1700b04f52db52f5e4ac377de86ef51d4038356c69a697a2d1ef7125426b83f20737395aba3a9c7d2a29b1e6c1e99cad274b3bb40cc81da717c22fd538393840c8236c21aff93f14cc7a45b1ce54b25ac21b1f1e937e157fc63162ccc9e85a35ee4a3ec71ef65f0c5b3ff00fcdb28bb74d671140812798d50c79bd1334360effc8ecdb790e6ee3e884a6dd20bda2e268a7af2d8e6acf585b77f15989f7bb20377f667c562d9385f9cefaa94d2a3a14485d55055aaa56e1e98573bc492bcdc9dad9e233d1fc70613a1ca2081bc6fb6077775b036d0d6a8c33033e2eacb0e91ff8b584a15ee22230ffbfee9460cf2311257dd31cf214e7240e42438c1fa91b6c5ac626f8422d7e915dd1d53a962068ff0a80570141d8c596aa2209ff10f56b2ee7cd6ed724c51a54c39f4ab54b5d914d3b28851098c748f5defecab111824b38bbe9d4fc32465ff658ee28975372208b91ac1b34ef52be9e93c17f6b7721194942925df753a6ee63166db1f1669744bba886323b1cf18826c4bc169e5b37bb35f29af09871728ee25654f2f768ca9e7bc875440794d401925ff1f75de9b1280c585fb1b736ef1f9f2ffe71f8d120c0ab25792b233dccfb8a5e86e252b0a9b5d070f769435800a8b3be8efbe82a4d38e627bdca3bf5c15ceba9e1adef2d42eb47bbdc2f4e449fa018325557098df7dddbf60e7814415e1c471de4e96c1cdced2c8b0ee30ca6e6231b73044bc8907bd09bb8618834168cdba924f4cbfaa65cb74e4098609de201badfc41dbca2125d1fcc33e3f830b96f1271f4c0895f9fde77fc97c4787dfaf6e58566af5150355418bf64fcc2199a5691b7a5c15c7e79b93d9422d47b75362e20474cbeb4281fad05ef20dfc83e82850d5b0b8ad91f41eed3f0194c22397c77db459b2ca44b6ad805f81d37053fdc42582f06b7ee6925ba239069f6ea494658808c746d8b9aa22f1b03e1247d1b226c81e308489f4fe25e6bb6418e47f2de8091588129e2e0c3089f3adcac6a2ec9b07382055568789357801f3a7043f59565a2337772a7dab70d4f96e15b722c62638e6828ff8b4c248a05b65ac73d77e103218ce5208397e48c8b890bbcc6323bf7fddfdf9e058c4b2e1475f4d9ea56e3532afd9335affaa87e061fb5e09101d7f28a1f2d73a5c01b44f97879bd9995206b9e51f8e37a5b876a524a2c5525297ef9359474a1d52b6f634be61cc4e94ca4f9776e36c2a4f5ea041c63813fbd1ef60f7704597f314f4d6373e5feeb1d639bef8f8d1dacaaeaeb1d515ff383e8104608cf262fd0cb5603448320b0e025d1769e845261c06033d25e7a5cf23e833d462a4c6caeba3724f2c5f0c710bc25059484524073c13a077173c05997e92e05720fe42ed28a2d66d99bede4b883b0c13fb2b56fd569022fcbb602e24026eb3646ad131799cc80743fdf047d9206cb4645ee5ccaa5e2c2ef9f7d0124cc96701ee3b4add435573cb745387b179f48955301da6cf8ea76638cf6c85dcddf544f20b730f0aba1e9189eead29d2c30131c5c16935da6b8a8d1c4accdf996139d86371de17b237370d4ab4b7eb771b1aa8523a81eb6a1aa73e591bb9e00cebabb8b22f6e1e5d02599ee7346510fbee937cd439cc6a0fbad61f222bb806247a10325149e120e06e5fd95c3d076a44f5e8e17d5cc6edaf541d72e871ec8947ae009562585c571d7a7bef972407c0205bbd78188d4af41059313ee625c13c25deae2010112837df9ec0e4fba2763a359adc7bd849556e90b7e9c0406ee98f4014a52b6042bda5f080db1fe6ce04087281ee26051f8d4e6ea6eaf75fb77920f66a7c8dc12038361ec3312f67f53cdff2abc06497d32a26d83ab17ddc33b452a2c21b52e13aa091c21f067db08226a7efadcc1de53fda2068d8fe1326b2a9f2b5403845528ea542ceeff177e1fc1f03e7c3265016163f58b5569efd2d46fdb60f1fd3bd72c3be96e751e7cf031252cee3b0f3d6a219cccb9eb3e4c10a8aec5dca84a9f8c28fbd025020892b83609b62e33c4ee97c3428b4922dbfb5a5af17d901e4e9dd63c8aefcd0c5f8b69b6ffef54ea7e381c58372db63df1b20e0988a0e94f779e22087e3211bbf89b3d83dfc4b8519391ae48099b3421a437eda1d8de898aa283e81a2aca2bbc0923816f27c8cbf9c8ea70e378bcb9f80596e28e3e9e6591abe8510dcb201472f622fea9e62f61f7da12345c9122f55290b005ad63efd12fc4c3743ac4ccb8a977325dff7bab4afe2b05bc736d16aa9a054681b6a1bab5e3b48999204673af89a2a5baa80c0e911db587be54091175132f2fc6dcd15f56ccea848d2d4e87a08fed4f5c605b1a2b8f2386a8e24e1db29dc096038cff26fdb3bc903c3fdbcef755040461ef28bbf26b1a48bb45e21ee12b5d9b9f1d0965afe1d656b030b063e4bc7b66cdc898046a17385b31f5eda2a91145f0d616a997f2f82645a811e60ba0f881916a968030736b4bb5bffd63945cb9cbcd14baa229b0d85367473f110c0857d232282eff433bbb33fecf32e045a8a339c4eba61d72c4c5cdb464323932cb345a1e3c62ac23197c1556a75465d5ce2c39238fcbdc14ada0a076c82c8124458cd2c1db0fc4c8b48dcd4a837814e1e094bb65bf12f19e5808a1559a314e6de7ef10030700dbdfa4faec5aabf3837c79c136f24c101ddee10f8079fe03afa9acb0a5f914cf9fcdf2396d414c15b2db82aa89fcf14c89d643195b5b7d362c452d8075f08f15ed2c5c2e6937163a9978681e4ea77f962123549bbd39850e7df291e0250cef357afa65a6f1e92de83b9f2a3d7a6f1ae745a2e2849b519f015b1b79ce80fa3c848d410063128edc32ac2dda223983546dca1f7b805027360cb6aae07e353179c2c83641d1324e6fdad9205546adfa0e0042c4e1c2dcf8c931fa81341482230f4d5901d1cbca86296337186e282e8690137eb6425dd05547104c451ea6b6186fda464fa074192aa88e965429418271a24d2b9cb1972f92bc36b56a4cabc91c4481aad73d3623769fbcf4879ed3ce3511a5d198fccff122e53a55d7d5fd0074dc49acf0c6eaa5fa76ede8043dd9a86ea2dedac1a11b20a3ca20c1f30aaa2f4c7fc2356b3ba7fa426670ada3c73716b4def8dd2a1a888813f01e8dbac02802410aa913a1a36f74b7304f52beff24e46621a83b8d485db23954067a26351fdbb0c0d6671bde5b72a0afd64f35102bffb488fd443c82932e37c0317f86e6ec7f8f74e81c09d2abc46eb723e5c6b14ecbc582ee685c0cdf2d10cf3481e9b28b1cc4d916e634d71bd1481fcbfe6ebabcddf02a37c5054ee2a1856d3265a469ff96cf917f01b43977d5e32e142d5cfada372b11b99cf50cf7d5f04020b893489d661ec5affdabfe50ef669e4a1259ef375b3c70fc2e19c04725fa271204e301f1d0414d517a6fe8b6c298f9e4a4eebfd46a478cf2524f65109722f526bd2fe95fe99062d4984b88d1af1c33419bc8ec054b4f996b21ea5db8e8dd21050e1926fd55217cdc78fec2ae66457ec7e14b090ad48c9332c43975987a06ed05a43968b23fe7bc0ce1a6721c261a51a21c506dd79937ffeff64a21caf6c81b255573c4c1aefb4204289c748fd531997a349f4930ba1cefae1ac0b66b7db7540babdbedae50a1cb6110ee5e3851d0050e8aef73c7264ab7205390136a47e9051f8f190d4873abb196cea8ebe251de9776e63077e56c3c28e614339cff654bac1c121721ce90305b2e1ac52420e25c5dd54840a907726448d4e44c292d2dbbfb01b72e6471204d7beed88278cabcdb9f837ff4e7d8406001e1293c5442aa8d1012ff9978ab86abda5b5e82b029a8eea41015d45bdfd0df4039fd52c29a35bbd312d087d18ddfb0490d2f42803dcf48805b1d547dd65a71b66c8aaafc6dc2229e26f28aee5b3a295e7825a77b9dd3323cda8769a384f8fbff489cb8fe5e1d25b92d51c4903ab730961eee9c18318dbbc1876d80cd5b11df1f54490e6e5c7882063a17118cde983ab3d53fd41f43c859cae7bb1b69abe139697cada6f165ebc4941fb6a613ee408a3e5ee21ed6f48b926e017e628e1c07678e1d2ce5207f90f22e1b535fa67de6b9612a26ddf7f3bd8ec04bf7abbbc0c89d86a9b9b56d7aa3417b2028c64b875f7ab1460d74677f3845afb44effa9519b2e46c6d2fd0fa29234043fcb2abddc1c6b5b8bc416b702563c971660e827137f354d30f6ee0c1b469c1004d3566dc0b21182445cb4be224737808090257ebc4422ffa7e1fb6fe0ae64c10e1aae765a407b59e1e803e90742a08a058e80a0e37f91d34692b81a06b5c9490faac2fc1d4fc5e535ebdd388933e4bb266692880a019f82f22de49de937e0a914f9911a79be5bf4e95d2ad3a90019dca9a550385ca331105335968bd1b3d4821b26ecf47ab5d1dabd1b3ad6736b2ab9053ae40531f2bd2adf5ec45fdfe603f115fb3ac3fade40b260d3eb3e503a472f35d4b618ac0f4f19e742b2e0b1bedbb528c2369c85a982c6525dc4785d938e68fdb811aca0beb11283519fcd289a1c571ab3c697bd4eea88e8a8eb299223f6cb5ccb32d630a71f4b2d8b07fdcd101d4e00e37a2e61b713e527d9a611cac3639c82f81b7d2b3e8f3e6adf9620cb6970eb1dcdb465eebf0f49c2b23f9369eb7d54954c8c5966d9dcfe5ff87a188313ff7232e186651a93ff13609e85c263a20fcaf40f24b5f082d2c218db565e4dcbac9c2f7c322b754a0514c5f2527faec99ff8fd59e9c1ebf6873da375043ed53b233e3b03a0f398b67d8987636c9efab73adaf12e640a7f4d7ccf84d36b80925629cb2c93b44a163e7d3bd38ed51fb3ccf94f41926aa1c815dd8242a2bdea5bd9f607227597b4b0f67c63ea5215eed8a607690f462438d40331df47273a43c94cac0c238f04ef75d73c78ef9cc43701d67ca101f87a651ce12bb7f5517a4150ef8e3f15e3a70b29255c92ff2ede6e7e0f1f2a5adf07f9e5b5be4d6f99d50ca95119103e44febcc63c26d18d188cceb5d9f478c68d0b424e2835c58ad768f43bb51284295f6d88dc5c3e1390b77352de4ac267c3f6b7bfcf0d3f32e81a7d80c4d0f4a00efb7e676733fbebfac5d7bbb4483f185a0cb0e77ce3fe692f54b8ced7ec4ec73fa2b89d5aff6d2fdad606b1e1c74f8002231123ae270173feeb650f6947c30a0dee22742f8d79af7c31014f053f37acee5b7403ba1fccd47dfdcb70c238ac502edcdf5bfa4b6673c1773a695a0fddb4c2c9e18df208963ae2d007d097c2d7a63558c3cc2eec6e6630f502bfef781c44c1a222a5c764f5467ed7304272a6bd1031df9171db112ecf85b90989d71f4e754d27ecc62fbe4f882abd7a7db32b16201d427f3901c91805e57c5e4d5b81c97e753ca03478d38cc0a3e1165cbf5fd1d83a40ab0ccfbc47de4c99993c4032e913a6b2b0bcce9f8bd33d1a22611ab52ca02908ad56a88a812affdde8161a998ed460c06c772b80025a501106356d7614963cff2f3505bd6f2e1b6ebd2090ea73cc7e9ab5d75322f20cbc42fa8bebddd8e420c244d424dd65e83f1c8ef7546ec682be42342d56f07db0c00a8ea636983520251e82012ade93a54c87a3a3508bcb3b87d89921f2b8878806bebe43a7705c730219a28c646f9197108f01fda3c598f4bd9c53d40433672d485288c8d7a46cfc0fbf16b6db9e5208d346964352357b50910e3275913655c569d6a77c459b50172b4b7d5eb0c644211b7923a4f431e17b785990507adcfd49f4457d51610d2e48326ce8f9aea550fcdec772ae66946e0159245459d8ea774f026ac99d0bea9a5e110b23a08bd6d64e53e0a50ba35e8e7d586ad196aaa7b52300a5ae3f848aa01920b48f4b75491dff6601608c4cb5d5ef970f9d9d373dd61ace0e5c7e7c5119041e1d744de9c90c5327367e5825d207d22480ec553e13653e5b3f0bd86b988f0635f7e3814c63304c161752b019637f099621d4039921274ddcea5914b2da42e835fb63942c628b282c112be3d9f7c7a7ab0513255ec5ee468ec908f11bb91b1039c00df46c0a29c12c4c8d76ab63be64b0d0c944696ecaf8bc8a266a4e695a773a0e938dbb50d296057c101da3939a29b042824ccf2b36373b88750c3d4741d01a253d03f5d76e0690e1af0b259c22360fbddbab92ce119e0e6b763e92741f3f174a207f2de3edeabf9cebf00f2f5b38b213d063a4388edce9a1e9744bddfd252e70c98e376602e14bce22b0b16d19320d891105e988af4fdb5e2e9fb1a3c4152f8ad0df9420619f6d50e1f4cc46cf6347032885527ea7de914460e5c43effc31edaae7fbd046c5bfd6dcffa69652f31acf8d4175d6019c291d8e0e3a2bd90bb162a31316d3aae41e67e6ff06add8e7d52863abdb418a53132552f58b096fff93f3aceda64a78ef473eaa9464844467861e7bc139afebbdb9592773ab8adc94d37b7d18c1a8ce998974261f150edf24789ac82eb2080e9f253717bf4101ad4030a7dd85ef6a846a03da3f8896b63099e748ec6f4e5e0e6f3d953046d5a39ce6b207caad527a95df650d30ac266e6ac0fc40808a59e0ebc60d8c120486094f45b07f35eca1b823cab3fa68c3aa39cfdbe8c9ccb9627733edc270274697fa6ce6c172f2b8abbd4de9b1053ccafed3198c2fe4937578e9e58534ce2d9225c0c241532514aa0f8568ff126f575e57af7c2777634b4fb8d72b1ad1f1afcb8f0bb17731072fe0bfeade7d5c5b50e7685d29265e415ed3287516508864ad6e9bdbae95b191ec2f9994fb2b30074bed99422386740fe48cb2d26585eea2dc44dd57c24ed3c2c1677517543dd4bfa12ebb73e4ff51ef44df5534b6dd8db7c6617f7c2c7742381ae2f15bbbd12eccb71f54677c3b2cf94c51ac3f52ad2bb07b1287dad1bd903e61e770f8b94f62872a88b3fecd51be3a8d1f41ad87509c22daa9430045b543b0db5747ae77b3ae58dacc10d16edda8ff2bb12ac2df5dd97087e7d655943e631be61be6b7b3a7e0a8e30368c1ddccdd4dd508f7e8c8884796cf273c10deb541d78b75c6277eee7f86bef990bfea7fa1747fc4144e1cbe3e6fcbd11aceef10e1f4ea53cf77955a779ae10766a54cd5067a5d67c52c586eab815096fd3cb90492e097ca5de932ef9461fae17cc4d11fdb76e8a07943f973e5e3256520cdacf1d09da7c6e3437d999e562d6b5f0b3c003764917ca92805f45a9860bc7f86ec0922c9dffe9a4e8359aca880851b3ca053dd46d5dd94b51c197c435b552c1ec4b0d02ba232bb914eb3a049b7bbd44f49f48fb98cf16a6f10c5d7aa6ac02aef127fd16a83a7e6dee38645791306d0ff0af080013582b185dda72bb70d3f967af3dfd2512afcd97e26f461f5e1b3b4f90eb5ead46caf4677dde252443d4b3c4b4e0f3106b25a51165c78bf1498663be9a4dbb1f1e5ae1dbb8ab7fd39505f91a259a5d16727b2cc189dcf8fff2e6b85c99ab0edc7541d70b97fe5e0231f48c3753d07500211c85d77ced9b707c929fd34810a21945a116212c9e25b529918d011d4fbf13076de7c3cbedf82ed1be9ae1fa4242954e4d7a49dfea399c291334b5ca9a8509102e0b7f775ce61065791ebef3d2fb4aeef1329f11ede81d4649fa554c670c34f52e5ca4d87d0a3008f9a058b708047e0f945f98c1d3d136fe867598abf9e50186ef0ba894232d473d773094947a64514db938257ef3fa00bca80bc2635b402a7cc241166f22b04975ed651b572e7bbcdfeb56ae53ac8012a6bfd762cf147e38716da85698a9878da72c653a36c772c50c1a90004bbe74b3a24a189a36807d1385fd82d5be9c3b5da5e5c7cbf458287368316688a51fe8f5964bf2d64f9d2c14df78a7e00b72c5dc5da1bc2041875360a3998001cd65e7fc11b8ff022e1ea50ce1a3c946f087301c7f6c327ff5b97d7d1df2f8ac3ab0db1906125e5bbf3c6109f790fb5b16c12aff1bf9ded29407324b527326a6d148804a22684ba78754480ab5924547b2eb765dcbad812d9fb152434932950b613d20cf7c3c0444a249660a03a794b6d4f266ce2bbdf8667caa2db08566a7d7852d4ac5c97b491b39de9c26201dae06dc6920b05651217852162530540be6a149ded365580ee4fbcc17e30a23de8f2a919240c98c68ba2dbd94acd4a35bcc6a02ee08f421bb401f3efd351f7a763bb659bd779390fa9fdba48b1fd48261d82b867639ad98f658231f86da04e9428ba64a59537c4738b90031caddc70baccddadbde1cec620bf1b7331f4a2ee6d94d1ddaa031e1869f983ca6ed300150e597e863e4f8c3f3b80423325d1f22b807366c35376e7e79358191b1a672f21f70b59b3dfdd7897c66660595ad901cb92cd038ff628d28616fe77196217adf9f949b6a7672cb6bb6db98ee95257616784a9bd0aebf7d50c2d231f80a68de27c6db6cac591915ffdcf2aeed3362f3374d3161cd780e37b6822a9a72a203b0b4c49da950b80b970b6d476bdb5513881d07fd824ff6ca731bbd158aa493bb2af5fe7bd0ed81255a7e22256450303e1c2e9eec2e634f476302171bc052a7ed5eb445c8d1a0c60f27ae8ddc4e1431fbe02765647e32f3298ae9bd6f03afad8b97152e106ed3b304f672e4ebdf740bfb4f135cb69b3f23c7b5daef65f8efbb5324860316414cb33919c3d73a0b959dde93333551abdd1e5787d6697813c8f07dcee260a99013fd93ae55957892f9c7ccfe10abcf43d235dc2bc478abd3d2a5bc3f01c1d46107833b08e2cebfaf8c3dbabe13213686b613da5fa3f578ddbc05b916b53799ffd10baf8e0f780b78989c84f13892d1b794dc7ddae9fc3914cc16cfad681c79dadcf901a3e20fcc8add19fdd8353243d0cb16ba302b8a5055e2c7589be50d9f1e7288b32490e700adbc0f76ec3fbd5030e1a3dc24ceff927553f0f120f463b1383a19d2f7524666aeb0e9c8f81a1371eb6996dbe3e1af3a062344dd9ae50d7c87e0ffdc14ee1e588fe6c2f8ef3be572a7ddc194ea5faa791261dcfa16fd43ae29108a905c931f71cb2eec8dec067f99366877eb4097f3224b83c76fb193919cb7fdd9507af6aaec770c46f12f23d0cb639111b61bebf188ec50b5fedc2ba61eaa91dae9ea9105b638454b639d193949f1c990ca2f93bb0c6143428d8f3aa4809c0d20c6d8b4c4daa55552e81a0b6dd0c6fd614ca4e29ed6505ecc3b9938f22b1ba3520bf4f40f82a2ebe680281e75496b2c0ab0a15250eec593f4b278ce8926c0cc6586f12e4fd73160b82b6b2ec9f8b761f4dc384d91c0cfb9afd12030f2709badfb1e5e59ef4ab7918f1dec3388086b86a49a1908004b8cc3c5eab0703ac13795d83199f87c856daf92a4aa3d5bee0447e19ff7fe8be4d21b4f0ad581dc0ea78c8887f13b56f2c2f50e5e86144f2fa8022251e8f991d87e6bf2e007a49d610b27b77e7a6df93ac61dcfc91c16656588820ed4a66d246af93b1f6458e0378b51b3f74c035d9af66d95f14d5014bcc88e592226a5f93ce88c38e14fdfe196cbc863ca157ecd413d06f09fa7011181355cee6454551227594a6664f87a0efe40f22aa1db59a295c460853cc6123c8758cbc3854c0e881e562a6f6496d498bcd6ece6a8d2edc0eaf024402d63bd1b60be8ac8df96b08a9924aa7c9a661bc9b1cd98c284a8a37a53c3cfcf876cbb112c567780ec6196b9e529be06250550c99520888f714f85475438da2163fbb52081740f22e5efbb4fc52667b0e135c01e7d46403b87aaf434b4a70900b0dd100aa18d75cdc0a1ddff8a49f34892f593ba65ce23ff659e6bb805e4b0ac954f313adf7aa38912a334fea7b1f6c6e23f53e33125e655c4a741f50cc41010b475d730cd7e39f242d43ca070a88fc670c3f265f3e14139a330e627cceeae5bc36eb205ed6a80fd59e813c01e0e5cb69a74b9311040e46ef9ed524f276b7c3630fb0402869f8480badaaaecee0752bbd75f2fbf81c3b9d0e43d19a2257d9bfc82fca708bc16dff00b11b60a593e2d3278741e5be29c8f11b87e27784afe9db3548b7e3670beeb9c9611030af7ccfeb4a89e5dd7d284506f39695f66e02bcb722bcc1d06dfe8b4cd2749b360983303f93c2c80a8770211bf11687f328aa6cc5a3ff6b2270f5c6476dc257cb933e544ae60081a7945099857fcc7313b0b9c150e2d42b6251f8715cff74dacbc0b85af9163674c1c266750c49dd33db2ac542fb8466cdf1cff4bdc50497f422809c27941d43b71e357124ac11ce9bca2951fbb448d328e25a39ede152d5279d4123288313fa26a09b7735b2c0e75ff36a8e02b10766de109fa973b968984fe6bd691b621017faf30589853c29cd6511fec972f71151c2c3c0f32c643a19eaea83141b3ef9c05cf9ce678d79e67ab8da60851d4f6b9a9bc2df0c710884fc4d52136d7fd83944fdb8b655c05b149fbe02465b1204d6bb81c1b7bbbcd4df3c79d7fc74b599d72cec025e75b437fa2c812dae4c7f497e526eb2322a0702f425bdc5458e5730f88c1fd90851f7a0e0a13de54d3ba56d12bf7a51681f010525ba48360158069be68cf773eba8f919db8d6354ea4479c9960f4db07d642c9b254e1ec6016b0757bcbc6551cc493be4da697ae5bfef353a791f98f2282070125a8c8aae1d581be4ddff9a784c61c7ae325e23ded8cc001028c703d28ad132ccba9278245b962d1a665aae99f6cd51f7137de382416012abebe10ee1077048bf6e5371a35c918bea6d57ac8d95126278fb0776faea8c498a5dc3a540c40c70af5e962068f4eca7077e230de2a147a0fab9a834d8556c3aa81c80c91244f6ed48a46a8e5e8531bfc2ccba53b7a3bdc07c8232af6d1961587a2498f6b3e309e724ed13d95eeb3d49ecf83162e955f388f5fee3f0d0921b771bfdb380f04d755d897e65804f5454ddd6ca223bcec4b6955461b0148ae7297228b7b24d524b2a764208f5eb7a5fa732d2de97c3df7ceefc58bc21ff166a1a70694bfcfb2321adbcb3fc2c2aa11ebd82e02a837c6cd7a923c7eb315f8fd259a89313b26580dc7718172f33eac6b47615ef8f961eb77a640ef1cc5e86f8516cc3b82161a9d030615967bcc8ef9aa0463e1f2b7d8f6554c46108c989e67d5bf1d5d6b7bb1352490486b9985ebe10628b897dc5867f25e61168f7ef6143de43a6e24b45fe00f1349612d7178b360b4ecce2728d3bde7d6118464c25ccd8ddee869bfdbd8277112c656fa35dd0bcb0377dbe94058953c7768e5bee97abe0431501471cdda594818f1af9614914f918a0d2de2255d4123543afb664b21d1c4f6b1fa919d77fbd90f9468d683690690d87e64af59b310ff4331e8434c83972b028e51471bec7a931952a65bf66ef35fcfd5fc39bd6913757ef0759e75e5440152b30f52f460d82f12ea7b14fe1f2a143bcfed9fcca5c667f3f79a91fe81aafc6a0bf78930fcd26b3ccf70c670a41fc63f8c309fdd319a319618b7d49278f8638163e50d7442ba2c0d1837cd6da8dfe0f1dba3cd916e71c7ffc956c5468d3145a346e15dc415b4ea18b172d63d6baf5637a1bdbfe0edc6c8adb706251ba9dcfd451e62fe9e3aa8872dec0d77389361067c07839107e67f6f2d0da4f71636ce5dcc2eb883fef5034e31d532066c399ec6d432ffb313a34f87a18fd18414dcd1393008167a7c83269915e3320451fb8d6d5f2ccc7bf166463ab713ea1e54e18ec6d70f1e86256ff1c7375ebf87a84166fe5177f90d21dc35a519671ea50a85c5bb8993916dbe0af3661943e39b0ce2ba04cbaf86eea455fec94dc3ace17df9873263ff5f738a8d313012d9a051f25221269ed628bacf684e2942e4e00344c51c8e99ff03ac31fc873320b2cf243b8f2b8308cc01a4ab34a80dbe587e890ece7c2f25a46a44856d698e1b63de2d4d84dbcbb3ef8eea30efc871d2072c432c30b7e2374466053f96ae040cc428033426e06c362d3160cf0af56bcfe77a36d99ac0e630154627dbdb0adf0ff0fe32926e1aab904275d397ca3930ad349742a7a21833ef023dc6139129ce1d9fba41a704f450f19b24abc6139a1c70231e83ddc5d6bb918cfdaa52e7edd0065ce7c64a19ef55647b08927eec39a5317637cebcaf94677e872b5608b948640468e552ef530bec4c1592e22c6f5320497b41d34b97aee534fb8416e80ba6fc203ff3d52992a0bce4c8e594b4d75da4d4b564e4edd4994c1a663fc2cfec96602940eee7c9070f3b3e11b48253ec9b4ef229d708fb3b9ebd5e632859da5fce6e3aaf8831a317d0a4b4cb9dbc1b0372d27de3c57ec1d4484d8bc3aa1be8ccc2fa1da27f8373743e90fc1cd0ab2acd2ed11bbce032d7e3d5b1cdd1c16267efc9a8174c29d4a294e09d9ac316d1759ffb664c4ce9a585f6e9dfc1b9c704536ab0fb0e0f98ae95650c4f11d7ca12efda7d04f920643ad77d69352d2220d0130975023bb1f37f00e8b7b3bff7f8fd29251314abb7f67fe112d6c6cada32b3012d42943f6a31bc3ad7977573d730b6d02f946d0d4cab3b78fe6d5ab026437697faf2293386341a005d783e61e2f793fc91d8a7c485136b6df36474a35497361dbb8eed1066828e42656dd9e0483646962cd9e9c8260d1285278ab3070b250771d1fb11196fb93cb2e5a1fde38e8dc97056bb44c1e87bff4510d865c57726874d9d7ced016d067d68f14d1e28ca8acc90f2b0c170e88ce563cf279b6c8e020a4ebe9c7a2bc940a85a3cc72ce43e4de5b36f44d83d57b6bb6c664ffb5adde643fd42e57a22c08896182fe226c0fcf1c527e463ad44e695d6cb8b1e11813ed8ead458568336700b775fb467d6f1a652a1f063e23294b4ab3e3991d42f54b86651b7e3c0861ac7fa690f9c0ce62ae9de8297ae3b8a9b4cd5508a78fb246b19d8a7699a26ef3712b337dc60e11ec3579254095234e966c0f0f0618e6cb7cb09d27a226733ad073d23c8adba15437d48b1c45eab9b75af74cd7f57cb0407fef9bdc3449c6737132631165e36838641ea4840afd5cae02d3f11021880870f3d670359d977b5f33786b63f69b6ae2006c4d38dc0608270b84e1b29f5d40955aef4c5a57352dfe23655d3f566364279ee74c1f6f5f3dbb52698064aa82382a3e97afa642a3ff75133f460a490c01d75ca690fb1de71a40483499f26ce5caf47aba2b39794efd26b13fccc7fa55e8285a26e842f7b759f75fe76a21e5d22f17ad8004efbce04f1551488b1f7a5260b1074e7b6983ae9b73ea2e6e5c5a9abfc8969c29c172c85580d345c24163d593a03b2e7925072d802db82f4e77fdc54beb490768bb286258a4c166591a2e44006c30ff096708117f38db17842e69341a1b1f0509157f7ad9b17114dbca7c27e2f4479e1bdc2a21c8b5ea6e2f016d723e86e34032f501d291287195a4c3fed789118641f496de236612599e0a90c53612db61236535e975918f5080a1a7df5367cf54088c1c3d30ce3b95c3eeadebbed3411d7644f9b5fd7eb3e15ed7474ac66d634578b6fc1cb4efe84895250bd8ea64a7073080feff0486cd21c79626ace215498f7e4678ef84947ff5fd8c926425e48801d6283fe976a109b0d7b35e5eefaf2955cbe16d9e1142c35bd4a3e63cffd7470d1167d6026b1ca191d9cebc6bf20aef89bca121deaa463e29bab8f62d27739c163477007df29e8491d8b317e7a1f2028c96c3b52e81ae78ccf68d3bfe9d87df7b95a35431d36a2782376bb84639e072454165199ba70a80edc064788a3b0beb1777f491544be2d0c27d2f98ef238c9ca34cc1c2f372cf214e043b171c066d2f3184c3f6e3c6c41f21112d168b8ff90faf48a6ecd6eb8792ca64f5a63f26ac95d681b1ffdc86550b32f1e79c2be44a965f2a45a7dbb25f17f114235c5e2b2a33c3f12a95a7b755859060e417ad11b9b5df999b0c3318d9738615a4735519a645389a31726a2ebb817192efba812d0bb12913f0fddc828173b0448c71eab6f6934a207d7e2423e9ac329366cb09263a03798e73f37b983cd429832a94157e4198de5d72e69ffd8ca091cd72bd499926ded53008b2d33633f7a3293b8d8982314464868c554bc1dadc42c0f27399d6b25bce70a970b62e922d30cf6a090474292a6493721d256eb04e014718d530a3bf3dd881a4ed2e83e4ba5094035ce01ecb48bd07a29fd29b2dbf42b80a5bdec6a62283960a14c4d5d09b169828cff8fb7364c70d609a0d6513956337717ea6af6bdb9c7d3b9b178c116370016ed4809f10b02e77b525103ecad6b14a675d9bda612a680c920c52da69a8745b6fb1a49134ccf2889ef0ab54398033d8cdd7433a484df8d16cdb20966e444cdd95781630729c027fab55e28ad46be2fe4e01e0980f967ca959ea76970ef549d5c759385600c596862ef67da414677209d2aaad935c03d80d43e5df33c1b1c51f67f77cd9af21f1de83ccc3f7bf66d387e446905d7b47ad5aa8b1af97868cd2df5b9c3f9ecbf8b0e0f831c4500cf0d01c62a8121fbcafb96ae575064853e1b210e0af04417727c0c41ead9eb4fe6261440bc65e45b0ba5ada84a615c6364ff917a565e6ff5a55d063400e4694abe962a4ed7c3bc5507894e96df6a5a511670fbafcad805c0d86dfff882f9a1eefa5523dd642a0f2e2ce945fbaf8935924ed5c9d20df5f8f2bd4dadf3bcdfc861b71c0fe33e4756715a295040bef29c936f669b681a18541549f57da70f4cfe966155354fa4885f088b71132da955152b36937ebf1b5fd8990c278c39ad8694d0754826b115c605c42386b042460e3d0cb4579e6f1adddc56fbbd243b2b5fe8d2d27a078cd85e15b42192bb1c67908e4e4a1d824dd5ab61825b5571701ef072daf9450893e65bfe52928bb38d1d6416b72293a25e3a5e6f01ab5da8c140f5ac664a6a189609e54c8f98ecf34dbfd92658e9076f2f2f0de4b08b855156476d86c0a7941bbd064e61060e39ba29cab91d6295df37275b3fe0d75a35a02be1ecbcd4da383236f5d215c2d2715fc27bffb9fa6c81f74863ea2ae2f31669f82a7236f4bedf2f54ffbeb28395a62f1dc2cf789a617928a454ff23cddd5d233456c31d0c67fc24f6e389ec0fb6e7c14648693f5bd4a68fe516581f1dea0c110563c2b82654803149670b2125af9ea40e98b4874f937da48e91fab8e5cd98bad0e3acb5b671b72c1b37ac75197f1bc23f9a980cc8f8be0232c729ef4f30f252e4a2967ce6127105b4e2a4148432bc1419423fdc674aa668c04131a0f8d8c0bd866458bdf0cb2d09d44b6aed687fcdeebdc1ce44a4f09e9d06ed11c8732e4974835464b929d1901afe664ef067a5166eb42eea737b3ea138ecbf606cb3d1bf9bffbdafc0fb13342d2e287e528a3862a7b7569c8e7bf7ac2293829ff1577789ca705bb82bf7615c310d9c9b887fba4957b8813370bf557165f11fe8a304f86f3ec23732dd3c3e3823aec84bb3ad34fd5076626222fd2de7935e079aac16caee2b5aeba2f4ff3f093b7e2d2810172a34336402a70c3ef35664e310eddfeeb75f446edf411202d08925853fd9fe15d5dbfce2ad0b342456ded9db2bbc5a40aa4b29a2e56533bd14643997a0485a5e0cf4e0e105b945d570143af2652b0b713625270ed5fcd43f25472065559f2abb62ce46c8ba01148f338a9f83152a4ce5dc9cfe903ed434106ee326b436fc93e3a9b7c1b617e49be3b08926942c8b958eb1463f8895c68dc55c2528d5fc070a06248dc4b4f8fa4a1ce32d77c2af800a4d56a8ed783c2bb8398d4505fe15b067955195b2429cb23a338753ecf763f125b42c432eca56371dd0c8023789c1e269c420adff9cd3bf0553563b4dc14e7a90e56e285b499cceb91b8efd0535d0fdb9e9a6c81ca008e67f77c2c302429eef56924a0255cfb3c72209a94a18aa28aead26917cbed2f2856e976cb9d4baf35f63effcf111069f6997c21fad0cd48dc7f068fadee29c1077e54478f3f0f696ef8900b9e461de4bdb21717943345a1201830a5833f8d76f02f266dbc41f5a6778a992f0622852fb96135dc23c0587888be3b44ea236b08b99c2963bbe69c24eafbd3ede50e9331409438cc9b30184ea392cb418e749ac8c858428dcc08e3802a92e956b544cb24803fe748a6a04ad55d810c244df3b9ade7808c6cb3c415421f502672e0474c5f942ff9d6e7f34feafc85b36ad0eba88f97f833a8a7cfb07b12d39b48bfd1f7f12b313371fb235c0d10121fe7b91bcdee0976e698a43e550af4d724d880bb7d9129249087cf53b7f9dcd0e151c071e3f530f8f67d171e66659c9d2257df0dd5b157cc808aed023fc8347b1aa5f9adaa59e4c72ae49fede90adad632cba68805433c7c600d87f2e5c36d0ea2b828caa4274a03fe9b95a3a4a10f83ec4a4b30273f3ece0e560d116f9c4b0d48f4fb5b2daff5905339f8d0cf8ccfc4b6e97fbe38f286dd20d20e035d3e55c1f3192b4b63f1e0b0a2166a3defc99ae2cc5206940ff1529ce32f8df31f89c2ae746d2ad8c57aaf42954a96a04fcf82ff2726a0b382280f58aeb209b13d9cadcd5bddd59b451f9b1bab0bf3bcde5ba5a1791d2fb3eb4b14ba28d5ee0360aa485795435d8869a1798325e364b4c3254976a002d712cc577c89ae4a83310e5a1fe3cf6890cab26aaee1ade0b50f12f4d6da448e6164b75f7b6334bce422a511b22949f8eeb0e86c4580431102995224f7f07f02b0599b5a4338500c7fb2c60c539776e4b634bcdb7d1720befc1172e6ca187dc1e1dfd4aacb253f8bf391ad17039e4556e06db5a5e50309d2b59ffd1ae0624905ac6026d0c42a39592151746775b7a71d9131ceb0e959be8d6a22cd22e937cedfed0790a81593b1dbfaa213b61ecd955b00d6178a130d2567ba6c15cb30db67a44cd265bdfa7cc1120390d24b1339ddfebb710f256107cfc84f0cc9d45db46c9a01d51e7c8044b28e5bb2f2a4ae0d0c3b816055bd643f1c3a97b7a2dbc1ab90e22b7e4c0bbabb8be99370eed30008f707eac33ee34496afea20126663217d282665f91d21086fd7a1a170918cbac36027e594feda76d778f78686553654f99706c238e28f2def98cde092103051c4678e36cbe82a17e8dd7ff32da3196ccb014633eb52fbeb5c18aff63330810a57a4768a8837c59609a83a71e119fff432451785cab926a1829311b750b52dbe8637948f13e3f0ed5e218f339120ae397f70f557b8047a0ce7626105735d6959c98501b39c58df4b1158647c0649af6b5d96eb164c04b804ff69a476317b46ac5f6233321253628c652bed0f15a985d982800cb19d6b972808f201b270ef5e5740612ff7a6ee76feb1b1d8b8eb78e0527d4de069688763bee48b954d713382849e2f0d6fd18fc4b28a114c229348ea95f0a54841d62fcd92d59df7baf0179ed6bc33e734a3f11a7cb19a7d64d2c022780f28b90c4986194186fd4ea8a2d6f4b8d7ba5e2ba91a0f356d950613edf97db3b457f46728ad64eba5a4a0c883889cb134a091f37b258e4dbce707fcf5b05d3cb011081a28f8c4bd3e4be3a6318c8d297e2649342ef6a7beffe683dfa728f0cd46a85a39e329a2c02c9cea3881a04638ef0db56b1e5afbf6ae731c88d21e5582bbb99988827c2ccccac05753238501a232f3ddce8fb7bd2aaa07111999a2d365c032a515a2fa51731d32b0ea5161c67a7b49f4421b74756ba07ec181f27b08cf081b89e3355995b6f3ca66fb22d1ef3f19bdd15b21a677bbf8b90ef4bab79c94fd96adf5adcabc629df6b15b939d2afdc8dcd00a76e2ba017cf7264643e16a7c453a352b38a59c7ebbe4d1111104edf547f6b0b2a080e8acbb1286bab0b6a27ebeb1444281ce570167833102e045b9d67e2632200762c3260cc16f636ee4bb9fcee0dc2c3a9d4f43e6f4749d02bd3585b440ab46e68159c23d5e6eab2b43a506fb8e1dd700373d9daf3f5fe541cda1d5310cc6424d27be3198155683a5001b25bf85c54116c06e5ce4724e3d60c12a3e3becd953797343680bce7c99b8bac00311fae51ebaef4dc7b158301571007eedcc2bf54428cdc9057e305c6eefba049c67d6f3a56958111d64ac29982194a5418250cb94f544f6c2e31d5617d9143251d817ece9edeeafa882c2fdeb72721d8553c896ca7fc40755ffbbafc26fa70eebb544ee1a48299a5a32fe1450c1d0ae691e06c3a1e8cc6383547d6f318f288fb91bef9d9cf61660b06f7e97089019a7d1f78b344f12052562a684af199ad1dfb110495c975c8566e33a15794c333138ef669f9ec99563347b415d046d9bf9d9856f1dc029d4d4a1c051b3073d03cb04062e1ff3a4fc1243e3bbe8191b9541f0146c8f2f884cff058edd945dc6d0d6759e969f4594a9606083bc859e4b62096c817cc31e7d63fa5bf1d9e9686321d76130d0d3d13871128f8b3a31a9aa2f10579a55bb4de3e631d115554078a870688304d1d5dfde562266cd82cf3ac2974d934b34c4306be9d2274f5d3ba0ed4296c62bbe82d9ea97b8379e8feeb434f19a3c0bbb17af58e094b35847013e98338bd01816b26a6862ded459fae7e51fa907a68b02050aa5052bd415d488bf6d93e87f944fc3ebbf440ab4d991fbafefdb9dde6f8e89c1a3fba1ab9f5bca41ff51c63113a42bd55d1c7469290ad6878dea2deb691b67bb76d5f91e5ae0a424fb91df573e1b071fe2dac88052bde7b83c553162858bee2760fefba27515502b67b3cab443ee4700ddb4d0cda0a795c81ef33eddfbab3b61618ca22cf3cb31646b7267be00486e393015368f6259c4c874be4f8b4fd1d6d7ac9f9db78988b7bd98a07777c42db0addbcf015a84d8ebd82009e3665aef1585a5a599faacb7f57c28600b0c5a9ecde14614ad514de11eebfd2776c9dd032da92a972500e0635be30c51e3e0f7219974e892868c52a2c50364cd60e458c0cabbd2c61a94c14ff3ab44739775fedd022801e34df735cacea20f8bffc98739b14f3cda48c84f2a2ff9ca8304f0e5d39c44615df8dc53dcf84382b5f69520fea465fa56d2280e447b820a90c747136d29e1daebe0978c6978ffe174f43d632ef673a63ff4031a2bd20d6d3374ccbe86ab6f3d480c41f1d3d3e8d24f4accdc43e908ca9cec6818f842b823c29dc0b73bfb538af38abd696e690ce791f1d7c7045776c52ba46e1a54e836bb43886d705a6f31f43b12efd1ed20c493d8916b41fbc8cacda5eae9fff422e526e176adee939ab57b58eddc7d35e7d152ca9f35904a2f1a0cbec5608ad8b3fde5710af3dd690bbccb476906ca242e02612094280245bd7633b5a5aeded7d0519b738f10d354fa79709a329a218a49c57fc4d9ea3044fc366b005f73f7674a6502e1c9714e93b8670c30321fa9f95c36d1b34de4bdeefc6aa4027d3c216e3ddd559069fd0338034b88dc5c47cdedb16b48a98fe1394b65507b00fce611d9498879d29f0b20e73e0296888039466a2c9463ee2b268e9e2cff023094d0d512ae60f0617983a3d520fa1295d24aa12a5e00f26f5395f2132dbb852959fbb198be0adaf1d7fb57b9f0b0ed903b87a3a2ff126eb9ffbad06d182fd3a02b2383bc9099ebe22432efb374a4702f715c665ad6525eeb517a81ad5e119c26636f7977de639ef0940a1ff6329b2e84fce5236cd15bfe7f380752b57c8ccda88e186ad81b224211d103bc0006a8ce31b36f1697c39ecfda512601d163cee64129ed9ac7269b12e3ee6b567ebcac9e8e730e5e1e0c64ccc1d7c1d77235cfe2a86e68a130ffd4cbd2fd5a2d11ea3c93e75e67f9454ce118e8f32bb0a006dc44d89723bfe262a69ab0a0d953358de581b2c8a12e1d3570ed7eb6195bfa3de498a73d4246c6146a7b800a0060ca425270d994f0d3456f0fa4848e0c438e8756176984643e7bc24b2703b7decb6c4151d3497ba9d6896f7210d15cecc4c201d073bd61f28676a7a81171891b97eaf1a5abfe170d872a1e0d1749cb0d4b92257ad4edd7bf5de6e6df6322231b0d11e4e4216d375b567d4945f5cda36dcc60df36d14ee9bdf1635fec90b2003697f8e0d4ee03d5f0f3f1015d322335615db50ba409927184f826d21912403ce2fb7b39abd57b7309e20360e00827335782106dc10bb117f9d3ecd194245193e2677f3f61fbf19814bdb597ae4a617cd820d80babf1a57daae3f11c4c86c221bccf3fa985957a2bea7ef1492b11501bc036132d717c3c6077a23a38c695d0a103801292da1c105d31d1e0a9103252a544fcaeb976efc320eaa6b585f1abd1fb9125f9e7c7092b6813fda41212e587dab40becdf7bed959d3ca1e58eef7c7378e8b461f95269b218582539b3437b0eec771f00e3cc354272810f8ebbeb93918d1cd239804bdf423eabd1c383fac8924236cd0be457c916095fc5dcab4c270278fe8468dc5b8a4fe468e9838298491e5a307f65c6aa2540e2c5865d49f74c717d16ddd196e81cd1f0edbc0e6dd0335c1b535bc5903c10e18f79fac1585a2803f2f0f99182aba287fa6430a3ef36349bfbff165add5b23b2b981e4d311edc8c19ee9ad0444039a743ae4b644c286ffa88b4c0312dd8f88a5e5ebbf0703b3b761d422cfd12b41febfe31c08298c0402d1f7edde7a200a17b8f42bab7c0fd92fa2c783bbc3fcf352cdddbf34fa9545404bb046c1418ae1dcf5f353412b4c9a65f3a411c723e4d628f9bab409a25d827479b6d5e1cd6cf49bd3fa4244fdb7f08682605cc29f85ca787c99ed651e6a8a691a3eee2a18bf0b6c884cab79ce4c0e7dc0720a664dc312eb9de3675470f265e50174e7da01678af4d07477195cea6580827a0cc6da9f5eb5d704439165c7771c52312f0be527f96600f153b4600f996bf0fef3e5311b9efd962742eb4fc4a5de85b7a6913c854738f62c8091a6ca695fc181643fbaeffa0a66f8fe9db65181305cf8c60fe8fe58f5e678104cbb3f276f307ab2503f740890567c7200a1a697d8b65c1456daaaa264b30b6d8f2a1f74d3b2b2044bfc4fe3245077add18244b7c67f93a9637f0dabb1c70461181c6003e291023a229a775be8ceca3c680656bcc2068d0594dfa29078601eb9f367cdad4e6193b4f75c78f36759195a0a0f17daee639043dc15795f228ac75846800d3a88611a5ca230516a6fe49d34f828bbd5ea329d9b4ad42298ef9f34e0714fb2393bb2f5868d83166bcbc5e7f8cd5c199f93b2df4ef86dae354c457480c8a69684dd113a25f21c129e4897bdc4e3fa4dacb61b92a92dda36c49813acd507303d1d2d53861279f4e7b0c0a5bd652ade84a940c77d8cff89015b50b2f9a4dc64df351611abd9f753a6a8da4cdec6eef1488ca64aafebdfcb430e504e87f9632c8aa7b451c042483b86b613af2d68ad18fd0e0b4833a5fbf9cf8c4e8268705f79c322dfa1e514ab820ff1971cbf2343c11d6fb1ddbdc5f1bc215140d33caaa71bc1e41be000cf787526f427c3ad198bbbf41a9c2d16986d1ffbca6de6e573f9814a7af741939541d4ba1dbd66e132bf16008930028668347038ca9d71231374cc6f3d9e312ace5562f8786fc2ba9162707931c01bed7f26d519ec94225c3c9f4cee76ba83fdd86704a8a8b32253fbcf112ec2e191f263ab5b6aa52f022e1eb97ac73760e2ea1cd741efaabef31bd804382f46b4947f074b0a3722255d50e77d9cdbdc93e21948af722d53d2c82280d0e93981122033b9d7a92783632f9bf385927d993f0129ada3fd368d23be5d63565defd82286072153ca288e49831d741bac1412ccb1621364833985aa7f0451eb9299d2a672aaba94333f2acf24354cb60704249a70944fc6c9890e56ea6b82e806a545d6e4a0cba0b7913bb8ef1762f015c4211da0bbb8af08e530b7ea0dd1999d29570f8af6e0938c972705e9fcb67b0ce7ff7523637275c490619d8d877a6200f492dd735a99cbdaff559dff5c132f55daf42953ec208ae6bf7191f927c3c4be6bf3a870a2266841bfb8e8475f64974e11588783f42c8a324999eaa7d0952eb651a675e02bcbcd4c1323e07197c770b7c446a1f138ba3fe4f1ff30d472b8f5e2c80d20d4b0fe3064b96ba2d3eedf07036bec07b260bead792db4e5ff294f3bb2764bc88dcac8aa553d0563075b23154b8a6085c1a4bdeb2b387276b4dc98c1f8bcf8a8812f96abe17950ce67e1552cab2261e463b6a925595326e33cc992b5d31b23834c0c5adce768e675b48d4215c8c89c3cf224556bdbc58e61271fa3f58fc5204e95f8a3931663c4ef4127fd81f14b935000ac0746ce4c3bc38474841b010b58c0a88e50bd224c93eb3952dbe029777502735abad1c175a1f33eaed127e249d555c1d31d10df1af6afffeebb9c90a3c2a7f396328f4a5904cea27545bf51617f8c3835811f4c7fdeb54136ee3954f2d785d14089ca5444d1fa6c550ab64c51f35180f42caf9fce4b4d08ce039e095101dad1d90a7649ee27682d770f6d1a2ee908050f841208ff65aaa103b50d1fd5c07a10af9f1c2fafb65565d42020bdcbcfb3c3ade356e73c3438d35eddf2e56d912b311ea78e908a6125111a02d147f755d73fe37686378e52b18d3b4159a87c3eca92dc7c19d3f43e049f43d3e392135081df1c1512d149e59f00f6270cb5dfb1f7b140252056e4bf38da73b9518dc4f9e7fb58cf7d4a44d79dbd42b32318e58821c3e8933799f168ef85e821db4ef8be13056d934038572655548793e05c5115bb3095db0dbad2ceabc8530b4433236fa574dbf17227b5d94004bdbed94149906b03a788dcb1a19de4c2a8dbb47cf8faed83266d05c827d68b9f2ef5b90cc2382ac1e66ef1ca1cd546bf5f955f0a6bd1d29f3b1c07e50c1768a2e6bf4c0e8a45a80397c469b6b23ceaa80e2d018d4190146ee41ae21dd19c729182fb1c3aca6656b0926c21445d781a584c944dc65dc17be490513a37fb8ec666126898fccb8cdb1075e6274ad35fcc0d5d5b258ef551386a6b45655df8be79b9376eccd808d00b3016bef55dd5266b5867eec27a4cf09c07396808611b4ed38b31cfa973898cb3718d64e95254468dc5ce6b3cd9d3955f1df9b6c16fdae3a5b5e51273e2c66840d26c63846019cf999cfd91a479776c9d64cc207eaf61f93f7c47839170fba7e3311f972a8bf058c437c1762c3d788a21b48349f96492820912160faa575ff11c31668a70eb6d342fc33b82d72f6bf52c95a2aced7d64a5003d3514775384931ab335349f68df0a748c27e23c13935cafccde50cf8c6afb2eec5c724f0afc4895931087815461971c93c4c64c1d5b93e7b8e27de5dbc0f75daf6e98c31ed742a7f1c8c99c0a1091d08b05ebbf785ecce01391312b2b5eeab9cbcf2e756d25834491b8ed82b0650ebc428e6267d1122c48d885a0e1ec3aa3e60834dc7f49b05062e2d1b73a493e8ccbea5221cd57392d577a1f58392eddfbc3f17d888d993e327cd2ef71a2e0f8984443f0e82a9593b5badd7919363b49439b252cab7c64fd048f60351826b144de6a71f1f6f19b5d447e5d9e787a48a967def6e6fe15268270f3734192b5a411628bf145afebe6c679ad3a4f1a65e1e69c8d4cbbee2c80ee242ea268945e92d435fa431eeb41a5f68d3441591b87e20cf5d833312da72a123d3ab196a147b19f6e0884a2ec769b2995b6d71bbcc5ae64abaa45296eedb550a2cd72062205b1a0decb0d921237acdf84798d7c9afd15f829305f09d5f7ffb204962049a4a4a0040ec994bec3f31925f89f092afeccb421d02192de3eaeff4bf310935b352b0225811d2cbf818d36407c9f79ab7f6351a5646e1feaf7b79778f22ca04f3d5020f4583fb1d867fa2ce5b83d18dcec062c55a86364df6b9c01f41ab3522b541e81599d7f4470353ea86e901828bccf3b117eaf79208e57558d37711cc21c09d21b16aae2addf28ee9d6baf72a87675d5ce0b947469e5fa963ae04dd371050b23d1e6dd28101f71297956cda7468bc9cc84fb488bc96c116a7dea3e38b18a9f2d1296f4f0cdd60c5da1705f94ab9b4df1b7376a41351be605b619631d7371ed892548546204e86d2476a41064246349e008087393af91e30e8e546d7231f6c8c3efa16b08877e84bf01ad0902a5b778bfe34912ded657463a0a60969033401c43f7fd2f8482c03b138ea2da5fdf4a5ac425799cd55e78c3c33a164324436b198872cdc2c0358f8f17f637dd361d16b4ce5492523cdbc0c2c6b64464a58142514401f2935d1b81de17a09dfc325dab2cfdc7f9ac678091f49d7a60e13b131b6f977441132228f1f14cf506617a97ccb12787d0d176de45868886205cbba3ffe4dbc8e0f8bf047a286448e44bfcdb57fd8b59535508233a8fc557825ddb82222056ef966ff00e5b4cd9bb2133651f7a1747bfed9d2a27d16e137e188ecf109342832f3849a1fd726b7c37c5a317c4ca1953d5fda52d749dc084d440f674b3ef7ef7f44d79a94298debf715950a3206d2f2e67e5c65b6fc83678a7c4bd4431262d047685a0aa072a93dab7d8bf58169a4a0137d16d9aa3b492c2ed6bba5730d63e229e62fc15908e2744e6a9d6a496a736e4f70953564444ad96be61921493175c80685e842541ff3d29105a115d8403effadee5d1ff6096f83291eb2c6b5063ce63ffae634cd479e0fe81a6e33e6a7919b332fb67ad9cb2d4b6248867016382d5a39b5cf8cf3d92682c8277b49d1852099ec34dd26e6d4a2853ddf12f03604c34835a23589f58cdccbc2b84295caf350d74c516052426e369c1788077786205cf40b8ad038089906a474449762188f1c1999cef3aca5252c2c93b53fd224077643807629dcce0520a1f5b7667bac3e6a29634e344a7ecbdf230c14b5aad502b0f2b4b29e20ff7d200b118497fcf3e66600000e034e0c0506f483bc0351030b80ccf4401bfbd54d3a8160bac8aba900fb12758abf11405d6dc5005b05f05c34b3fb8211d8ea022c64ab335aaa929c45751314019c91d33e3206d812b84172002d1e4b4ff2e5d5ff0e840f0881ba7b4be804826d0a1067fc7dc25f3af98e7e0360efce6d9a3551f35a48679cc96283f5c3ab06805f1c2d2fbf2b15845fc035289de19fda26c3208586b2672ccd907a112a8fd87f47ddcd0c844c35ed5d2b24225d443946d3e5fcb63fae949e6dfd86a8e308ec48bbfe33b4ee264c8efce9ae3c2ec7f09e59c8e82b4ba0fed2f56d2226663ba6ee37d92f560054af039903a72608e89585d56a88b2d3eeadae909c7e02a374885582e7743b7267d75f8b82db02f94636d2da24d9ff012cbe4c7ab10644d05465c51c105d979f000242a9da0005a255f2178d80083ca910018127fbfd04c4a2683781807045d961d411198daf1aa39f6240fa7bb245a88831ffb3f26fd609dd8ad138c18125525478414060561e00c1d67b3d0848a6f7ad3ae21a4180a31b9c87b5ceeb87e2ff3d6a4bf6270d01c77a334556892c88a2a554f86e612618d4fea982bf12ea993324af80f05ff7002a153c3944a938cc982a88dc476f26e8afb2c2a412316add42407400b59f800818d498501310dd2942080444efffc01d4111ea56cb8bc38eb4c31d77e467b225384a5d6c60146184d42c7e7955fe2d60b55c8c559d6b5acbbb4e5cd798dc712f4c4de9a6585940b1c435fe2995dede5e8c8053ac33315c577405685a54f3001999f3d00ff2a61210023259671d0296e278d92146fb1d0c7ef7e3d90be0f6f129cc1750e0bd3100805b505245373b591f52272cefdd19f81491e1bcd089ec3a073342404ceb1adb3513ace4d83c9e36a01049271750d99e41f5a068559d32e31b3942f4c6f1998acc442afb1937517353561545018ebe526ada42daed9238992fcdb4cf8059ca1ebe2d4f593814e33d7c2d435e5614f506d1409f58edeb21d525e58e5277781080ec5dee9e03925be9d0d04b207b0eb439d9913d258a19bd861ef93cf20ea6132bb90ffbf2668f72f1b4d448990ad12ad762dd716f4d8ce3a21da5aecb0b03b0d26b3ad322432a25f2593046ea05d60b4c985fa71b5f13205d25e377890f1f0c9b7449b436fb8524de8af62f680592ee34a30124262697f8760680859668f58edead33e2c19b2d36db57a8031ec0e68beb8c49c8c21bb88bd201bd66f413a81210ec24771b02c28764df09145bbdf0413d868edea6b104c98608b73adf32bdab779ffb2dca9ca78c4ec1327d80a716f4b7a41e63e93226d7a52742de69c1f884a777ca95e5b509e315f183241eecaf92ba56c07e52962c017335c02e0ec19483d7cb7db9d7b37e2ab0eb56aed391ad74b4712fbc7cdbe2a7121c2e82fa680d1f4944643104c8554c1500f2a61c102cfeb0130282d8a6d7212623818b94252f2cfe19815bd883fd4062e24881ca427890bb369e668714fd5d33185bac907fdfe74171c978e666efaca74eff22efeed7b0e64f19bf17ab1022550a83e54757c52c3c0c2f3bbe11c4fbe185810ca324e89322b65e47f2b532dcbd32ce295802769964b150ee6b2c2999a30aacebe94cecaca6506240ef9c34dae52ac5c20a0f81055899095f913b118f7090829579d6ec8c95d2e75c41bd593f03374401e82c7baaf87d83778c2d9c5dc6babc30001002ecb906ed04926538de961cd0e3c54b85e543330a1dfc350ebf2ebbde7ee4344b98e0b19fcafee710794728647e69e25c4a0c76773a6245d361a73e19acf15471d207afa26eeb494860be23aa0000b0b92b687644f34bf45b6242fbdf0e636ded83e42f0611659dd63b7b3684defe0e0b7b760531158fa86b060171afa2846374f63d4fe5f4ef6057e2e72491ac116d2718d9c330451aba33ab55273306a03e8166ab92b86916adbe77cc04cf9dfe59e8d4835e705a16d2ad3cf84b08429c53a824c50e3acb929412c28e045d23b3c81b23d437f175bc1e6f879ab979ae3fdbf83b211be85532b92fa5d22ba2457fa1a404d28a210d5a17c6056f3a5b8b0a885707728ca9f41c02dc477311ad6284674d329d85d2eb56b91282ac9bbdfcf256db11c42f460dd09f32c84a03c8cadde6e732f154f7fe40e20f488a8435e35ab16c2a2024aa4649d7ad6bce10abb344e20849e61e38e4d5a00e364f2143376d69ed3809d0e66e865063ad511ebfccc3a7bd771c173dba136ecc8af91f2b01ed8282faf98e2fbd5a3fba97a42303d0c0cba01ab45e79333a0921291d8dcccfd862140180638cf1cd06f813793a96690900e8dd7098c69fe536a5c3dd5152130c43212e28e74f1f9b3f308e353a53d65304fc3cf0370c70d2d84e910be061407e0f44270fb63ebd4a7d2e02a103f3a52ab4abed44d04a4503493b3271ab1314763a513221d9bbb2220a3d52fa362c3ea62d423253be72bcd157485b3d73fbff6ffe12729a2bf740647314d78b0acd9c6336f1e732f9434dffc5347d2e44b4f69dc40960fb50980f4ff883cc553d2bd1f5d55631d54d851c8286739d1e630cb5d6bc371f07b76858acf8768257215f7e5c547a49e3a9186a16dcd4fce28bd3ff2480a0a009b39df14a3db9669527a5df3392397ea02865d01cdb3113c53676cd49e19dc1f49fdeec5c221352a21838d5f9e15afbb88083b5d330ddad14c4b2376cc7dc269a780391db5a25d87537df61e1acf8c15f33cd739da6fac96e3be58421982839f53f3f89090c71d36402d7496210fa44ae6dd40b3e75e00e41f48933c1e056498cae57a8b7fde7c94c1be898b65d4d841e08ebd285bb3dc34aecc47440794a78867fd07e9eb422650223215a9636543410a8f79acae93792656d5b5fc748f3c2db316bdea8c6f77bb328e8c28dbc9a81ba354c0fdf7112cdd383f647864fc2fc4216e1bf466069faa234f993cb363d5abeb6a3dbbe6bd9973532604528d804bd494e68a9b8d360c4122a20000fb7317edc85f7222915036485b72925f4a1d11ec65f06897fde2708992531d297e4334a2badc7dc65e45c766f022e6a0d4c46a93b815a3991528d366736b19c5029e9563dffcdf1e50110febb43b2b6067753272b806ad1125c36b30a27daaa6f0f56522e87af10972c438540068335fa8700675d7e03061b02029692064404061c430292d98f1c1a1020a71273955ec67b7887698d68b194240c40631a234b134cc9b85338a61a752432926542f5696b13b6af663e8400a2162d31752669ac05289df4a011b600be45bc204641944b0f4d25235c9014cb139e97b37c0460e94c5a9b46dbee5d2b73ac2a256e50fb29166feae25f9aba2b8a461c7e243d1599e38479f86708ade0fd53bc7d0975a6c9a8087fc969955e56a95029a65a2d9a8eee333ed8df761e0da59c616c3922329d9398f7907351b0f125c1d52f0a17fab736f66149db3f96e71bcdd78aacec8dff53b285f8a917997d95106765cd0ad0ebdb8170ce315ed990209a6c5c6e7643a450a92da79394da2ec4464d0524330a4bebe87ca44279247859429a92cf68b8613ced86a4480bb8da2506324afe359565f79f9bef2651683375e7c5cd0026b40d12b6abf88d13dc13fd01c4c0b6100aa1f847bc63b67cd9b889714752a6556b2073034cad3810e680607555c4102bf65ac44e10523000c4d1f7d7bf00b625e51b61ce7b8722112c3ea627634a520007dab5bef36e246c3b3f59ba662d78bb6edd9aba0be0597020d8eee9a3fd7f03e2c5e323f53661ee7f0bb83569d5db597e7c78fadf94024280ac67c71d5220019855b9987f0e2c1bdb81338421e65bd4ce6abb5b56032ca17c681c01a0c39c24997578fad520d3c832695a1cebf253e34bd5e8e514af00009a77355aa381b30bc74fa0bc5b121923807a1d13c54abb6c2547880f78b8377f1e7573141aa84838cf252006be4e447e249788cc0b3ed57813310f9b4ce94317ff79f59c6609760fca565addb982722719198ff06f0a470b0b84a77f9c6ca92b2da2370b77dde4243fefc012082d10ade1119f40153bf0044af51048ad8b15f3eefbd9e83738f2134a6fe418aac72404b8e87fd423109ef7c114ade08f7683048d40ba7e931e4e149f2d0885aa29d2f56f417058562e2d033214da23c5b36257e0ef4c7e6573c9028c0089e7ad82b6259a50bb9428dbde221b7eac2a324e3dd07f0c6574ba926510d4a77feaeab8ae9b273e1f013121f4447d43de1f0234c37a0db8bc869aa5442f925bb010600be9296980cf39f3ef4a1d2b03d4a675be85dab928debcbe00c03b98efe50e6f40a8544d956e40abb3d95df9f441eff2cc2621bc67bfabc9e62c1e5e50b14fef8c371abcb5b664555d00d4f14b4794a313db5dbea6eaff34e9c21db23a1785a77eb774213e2ef4638e788b1c65de739fafaae2983a011dd94aba224640899966e61c37c4e78de9d11b235d9fa36b58fe7f2dd9b06a1a4ea31cfa19057945c691a6f66d6c81291d6a543b3b076d0f772034aa66ca37de85a14ae23df15d472e37b07e734191b8bf3b6b881cc456a44eca41867240569f24fc41c525680f6c36a9d1b86cbc358bd80a2589df88aaf81a100152ffe0854b0475851a345ec6baf307f798f5a2c418ecf9618e27107a99dc017eed3dde4163e3ceaa130ec4f517c8fb5d2640c3ad19840f3a5a4b4daa0fdd8e5cef5baef4a9c05d5bae16c8906150d714a90aba6b431f1976682ca06e5c7a9d47777c635a24fff1ad9a14ab496d743abbffa45ba19f22dc96b10fc89b4280aa4f6f323fda1e7640e0270f4d53e980d0a99a279d850c561aabbaed61223473eb2f496f1713acc448994d0849bfb24c6a1357d55f462ef32dab34772bdb46c04877b8a788e91cf0eb6f4314003b8d6dd26018cf2abff2b16d976132074d9dda22eb3f2dd8d08c0a3bed011c0925a1a233787d583738f267c619c61b2ae0ec22752f3c95b09bcbaf8018391ff5690733df6f25c7c7f3fbcf6741e402b4d5d3b6303ed3b48680f3866d37eb1a18fceb29f324a612e3e0e9249932a537a86687afe71f94b878614cdd971616348e69c097ae3a5b58ebcffcf1ca964d50602a8658325ee63134c36d6e6fc72b1458eaf410d964c82059b9afc59e514f3fc37fdc4511aa85c09090938501f0ac27ea1c973509a8851f2bda8155913218513f567a593f0090fd3571d242bbe198380dff9fa603772d0d4aee413ebec342c0860720da8cb0fdf82ddc192d0b464019ce6424a026872eeba25bc94e72ef9f02fb1b471006552be4bfdf1027c73c48381e3f6a98179d82bb9110eeb92b0cb941d82892e7afaf4f152e85972f1985151193ad866e6441a96a16d6d18e2ea1fe1a863701acba4f9a1700603f9b43f18214ecdca23373ac6ca9bb76f6c73d8a14221ddd8477f1f7f7a8d3980562e8eb0a37abeb13325792206b889dfb04178bdd41ec01cca8daeb068a991ea3c8ecccee3ec98f8cb0c708b57d68d5490b3594a46c9f1fa98781a39003eb235265a3e8313f3e010ffd4abcfc50abcd026689df95bd29c7d00696e69a00313bea5cf5e0f401ce250fa0269f31719617da89691864eac0862f7821a2b82133108d7c311d9602a499b3f00cc03562c5efcec28ec20febab9af7ff0d9daad02837297a19fefe3505e33b67c0f9cc5b62e589ac2782f60d97628e7fd4824240c6b14012b767d517e4a62ca2ca764d568b5eaa8b4398546d908f30dcdbd2098de0a25c2acd800d132e58c16972b19ada3ee390b6cd552e47f52f6468725f011e42fa7a9bd8eaa7266ecf6e0afb380f640db8be76e5991be38a023c92cd3f1db5df2ce2cd474d87322e5c26d2c1737eae10cc4705d3e172b90e28da99e7d78356091f2f97bb9cc62bdb076151b5719823e652b58644e907e030661713e651e6892b4518f43a0ecc26edea4275e44fb737413113d669ee9ac9a09961c85eda74c141f2ca063d033805b1a0b8bb507e9cf30d7365c6421358b394e1340c0baf35df4c90154a1067c4106e53d04c4c3ac18b9ae8b747a1d11fa1b580815015b1b0581d59711cf688082eec4fca57ad95683b849161766d1f19b83353a4248a95bb7c3cb0547789434f1367995f5f4778bffc202f408c7cdd44deed18b149f5671327e9377b3f9207951492ea3c210fb9b7b64ea2964913af67c3cc9b628b24b4c1f7419592443e81611ad12d5d73d8968e5bdf0ef3249a2bd371cd1dd0229304c29792be455aeb1be5285bc69a961a68af8c4d70e43f75497d8631cef0ff64bd06ee29b56fe7533e57210f4ed5460154fe1c7414a4f88ff958baafc95a747ffab5103cea52cea131e1232e6c4c6e70aa35a8089702b287d18f75a9adcbcb3d917f80f7e097ff074f0f14ae9950acdf1ffc9923a15c739c96fdab57678ea1e19a2738ae57d2ba618c200db762b862801f0abe6dd255f9df1c1877352d95c010b51d11632f911e0c31c4122fc8dff35991712cc7bd7539a3f07e8991cd6c733340ef649e61f2ecb2942e3eae4eb5ee485b5906be118273c26dc09fa501a1e7fd2c850723c31b29e72c2c0fd2c5e188824b46e7c7557e83db76f4e02f0152cbf3b358f5e6fff2772173fc37a694af41ab2708ea23e41f6e5fef0db8b2e433cdeb0d02f736ffd14c7014711a291acf0b99d631fc5de3456df40ff067a3712115916e7e54a24442a2eb327d39fb1b2df3e8a57b35bc3a2e3bdc03733dba8be657277afdb5b007007981d8220150cedbf0104e2166b95e213427f27166b7ac755494db9033dd94f59e0096a928725d631ee595bc9dbc4cfb35be734a4f1f5d2a077868c1540170a9881bb173195da67f395e370cb3abef7362f7987fc1d578bfa18bc7c8a715a5744e39cb6b38c39cef75415a85e52f4d114272fed8cf09f0d6879a1f1137a1fcbb47fb133001e3573e45c82d2704cf4169c9b233b4f72153fabbebbe5598c19ae573b571cd181de26947554bc53cc8472fb904b1f6154bf23c91d871cd004d295092de56de0fcb7d33391eb4c34d013c4d3c2fe39505a49c9288e278b378d4a6a1a2f288a7120e92f4c37de450429ceb44845954531f127221c0561fcd845a8c1ec6ff35000b9538a523b3d652975eedb1afa5b6f90e17c07a8e3d39afd3550502ac8877971c4a394f4a214b6d0d280fe8484a130ba08aec8c9f77252bdebf14db6e1332a63a45e6e51576d3102583de51cb68ae6bb9b884ae9261e5d72e98478aae9e46203af3f5111eccd235eed126780590974a4e171d913d06339a9086c34a74f9044405859abf8ab6f29f628d9ab082f9e62d4384422addc50271b4ebc0f5f6ef7cdc3e45fc5339435197c5ff0027ace0a20849f1ae7dde6fdd18beedff5adb0bae1c0d2d81abe153ba662978f3805228cec3b385aaa308db2a4f0704aca8adcdc5e02228a162677a6d4aef2bc798419f19336656f5e5f2c62fc530a5824956abd17b1663bb6eff7f991cf4c6d9e381c586f674c14095acaf98db7ea009b07f1ee7d10941eb2f3f291867ff062189cb5a3a5b0b8a873ec0501e4d5bfaef3de1ae4aa80f1fc06e6fdd78bfbd442657fef3b6a78f97bff144ddaf3c5dde7ebc3db76cfd253e986760fd7c8461b75fd169a2e7d762baeaa1f07e13f92be2ea79e4219bbb3c80f0b07c8c67cbb18133e13500dfbdaf8f6750d2c434ee0b30f2a7d18946652d8debbf97e64b9367a04ea39586a3912015cbb8769ff0ffbcb0d4c2c6e744853d109844b5e2a5c1f0c8977199c46961aa18a1f80e896214ff1bda4e8d1d7aee18ba12be42011243247a1302e4dda80d0105cfa30f585c5271c136cc9e7f6b3f151a4ce87ee622c48d1383c49e00007780b580412adc9be01ab1a0fd3ffd3b6216c188969cce38e9156a6b27ac73bc847e7a141ebaf06facd4f3a5aa4303bb4c238d2e901633c103a2029fa981b0a9fa2fef60e1005fec503b002c24f4a1a9322a4b3b6b032257bf69d14891732307c689b19114919c7bcc574650fcdb2e95501aae8c64d8e159a44d3c61e60f007358282d1ba2103d747a20f698628990de85208288a5ebc9aec0694b313343773c7a8be70973a3bd96dccee06d7f4c2be5380134a06398d9b0fd25d45258989b039de90ded0127685cdf68b9f1dd768c0f6c13c93187b652a15293fe2d2f1846c992840593636ad88e4609ea0faeb1ae3ec60685855e3105671a4191a7f8a5bf1bc2c2c50c6dc2811db16d90839df6bb12ef2091f8bb01ecf6a1068b1abafedee0d68ad0130ee4c61ea616a6c043d1fa6abd1a683741120e16c59a7cf302e7f1ca1fb97e7fe8c5f1b7b37066c712605259a32c5632e46a442d15399d004594ff8afdc44b7fd4088db0342c95d2be6170f9302089cd970c1e766c695ec43bf4dc10a3f7cb1975ce02a376e5be3e79cb2b5e7f17ba01250692ed10f6421a0a7000faca2e78c92a038c8682331676520dbed72b2f1dafe41e47c98b95cc0d5fd3bb8c35542aab712ad2dce55d0639db7acde64412dfa8accb3161cff1565e7459fdfe94f101677da05ff64c1aff68f4c2d42cb90b5f5ae58927cfe2c3d224c90d9ece0bbebe63431da9b4572dae8594b2f98c053508f8cab85854ff6819c25cbd7618ff490b69abc294a39ea9d07f418460386f2edd3d551dd9db982b118e28ec1d4f22de65e6fe6bf80959367932d1821d39ff1a5952708c4c9363ef6e0bc928be7f45b7e406c64f3ef9a7e2eec0cecb3e1e682f7836acaa5c70a46baeefc2b8b394b1baa868b6e47082c79ca2c3bc8d23245204c4743aea43430c343440f895f232a2231eaeed4ed69fa94c63e568276ad09c0217537ee93d8c68406719e1fe445a5eb67493f1ef3abe17a9cfbebc258fba75172e3787b9214c81226c076425d3af50629a6f8f49f7ff3ffcdb19e0464ed3e1317b7933d1cabaebb8f02b3dafbc9e0b94489cc7e47849ebcaac2fe3bdf14d702755a00aba8be69efc64b13e62f39c66929d42fa990f9603b04389becefbd59d14d76a6d277fd95ab835a3ac702da58c92d4e3198299bffedf30b3f879a12599384197ea5b0fbe4b27b37ac37c2969b1b276a2b1bacad8dbdc8320359987806e249e2efb0f1372c7148ebf0e6a80df1b8e792acec8e4c921082052aeb94b8eec10000dff6d369dd0605a4678ae186300bab31a027d1e9b6461f3538d833440cf131f7e859d813acbf423a83490380eeff5254bf09414253c3cb030b1f46f2a52257375cd1052ab140bb7240f999320e489f9039a10a93c1c7e3695b806842d541d467ea1f0d2f85d990aff4caab1e45a9150fa4ff297678ba6149ed9c59d3b03008f2087372ed6c3cf0e841183d4cc88af08e68bb63bf3e066a2d045fa7cf25d34934602e7e39c86f89cf783a13d67b21f14eadf1a7b2b311fbc047464844b9d152f4dd4a7ac073ecf0bb385935fddf17b2827504c549e082aa28a84a92d8fe20f0000f3880db60f0edceec095d1ff9daff47723f46375c9fafe96449a3a143a290280bb093f27583985c6970ac291daa94dae86b7691a439c69a31097b61ff00c57ede01825e5bd0123e344e3e14782debf575373a679475c60ce4c984cb1d1147fe3c5578edf063e54dfbac22f17e9531508174118489395f1a6cdc43b66e61419db41701e9412f4918abd8c40b8549d966e33a6558334af32819396b5e1781b4a5fea35ff9c757d1e61263597ed568bf1fa20f3fa39a5af3843004242806a1d0a51096f0878e93cbfe1a1ca062c86afbd450cb58038a7fab0143b25c48bda230a03e67afc6a00b90fbbdbc0a049922d35474e8b5930b3f71b09214e4043f73cd4470fcb99cab72ea971725ac6e22b9c2ceeeec6a8958f21b828c8e96bed121a8ba879e5f0cd3a9d4272e4cd541b46dcefca9a4fe9c813fa1e7addf702d0f73e53570c0eb7a3581944476023834573b244b1722a120397dadfbb060c8788fb1804da7641f4bf2f10635f4f235fd9c7ea87c67fbde8027f9c4be8f4ea8ed3961239b13c0b45d4d47fa3fcd64382a81e21e6b092613e315b2344cd454e6d2bd42b0f22436f2651a309d2355bee98bd70210b35cdca0f5e8556c12f9eb23e49322b72f53fb071bbac4e404c7c3d83fcf41e42674a8a80579e3fc98896b7bf4d540730d3f700b51b47faaee34038e6dc0d44c42cf5e6dae6e74c363ac19fd30faa09daef99323e872d78a1374a4fd6037041962036e309ead61072ac5a2150e82f19eb36bd8f961b1c17acf6f319841664b613ac048ec9dfad7ba4da2c2693502f3b5537ade85935d792ad48bf22552a13c87c8f709bfab3a315f709d0baae05d3047bc284ff7e1156fee71fe966d58806f9c1f8dbfc991bc2b17045d5a8d9d9252fec2cecabcf01cbb43e931bed164d2b26a4456fa7afe34908b7ca1208ccbd5d058bc5540fee6f642325e4dd541b5a2e5a5eb1b122670d0628ef40d55c809b5e1184403236409548786d9e157fe6e454be367f191332a4ca8b01033bd51f8a55014c7dbd807c90f1e8d28f1c074080285ca9d7757ee350a860b582b41221df63244dc1fa68b912d7389258b86a14baa0241bb755b4b36dd0c05e335aed282a382635548eac4339e041b0e82c55151dc2a3ea8a74900f4497440c58982542d9b4185fe8e47fd04ad1c5c4f12df3d2111e516592deea5a3a2dd599bb6aeab5eb3f3523b1a3d3836a86aec3a5520c8314af243654721ca798508b0cdecd508a05f43ef9e2166e61bf5a85a23c07026189ca67c3070cbb1f37ec5bd7b0783911267f2b9344291aa41901167f0e3a4a2b4463643c84d6b1ba66f7758bbdda165e5e2f1f59c6482e5acfe7c70382bd3b8cf41faaed54f8e758f19c144dfc4b0593a94c01f13a477c3e03872f2e70d72dcfa0d423d0f77a80adfcf285dec1562824acd23c7927fbd9876ff9f475076edaf435b747cf472756d5e5660e1635460a1679863113415c3729c4d1371599c5146ce35518739559b876f087ed67116855c8065817b6abba75987a9052d1c0855a424ba080b72a4f474584b3040a450b4d5467e325fbaf9f62e4377491f248237dc51733f02f80260778b8031b6df33a72c06ae138c34bce068657e0607c10ceb680f52a181930a96052b98899cd5de51a235dd32b28223d80596c4f21e3f00c731a0aa7a02e88fc38e42c6a05e119ec5dd988b41fb09f9a30925a84f273059b2a5e1f206044f45921ea0d29334eb8418b51c1762008f76deeb9e65fed5b626aaaed91dfe21d949ddbd7ca8655c5fa18f30fee193c5f40b56ec91ffe7512d688609105acbb7a217510eccc5e0b9a7becd43567b50794a6f4f0f6142e5f1352144b350816c8a2b53023e27548a868c9640b31a52804540009dc3d8dc1ea213ff4b06f70d8dcefaedc50be6ab920bf6e32c15beb470096de1763fcb4cc5eff51172f8ba5f278ff927ebef5198c528e596e5dccafe01deb852d539d22b10e5efe9c8c8748173dec70d7772879b599e66c863aa1c4fc002a9447522651fd268e0c3728a7dc17d90fa7fddb37a7176a437ef5af258e3a29377ca67d8180fe305b36ffc0449853ab0d5facd40c00f59007014fa982a6be350028d54703ec90a358f02bc12f6402bf2282bb6259a0a8e8dd2bfab1bbb158097b567c142583a1b20fc39c2deae5ef9f446940253764d2002cf0f80e55a8ca1032ef7bf048fd764cfb2584495315eff18ce060aec6c297647fdb1d8d73e2761fab14629eb0cc62bb220f2297b12e37407cf84fe019f0fd0d56e08c8543ab7916c91e92644f45947cd1c28f44bbe06f36bcd40f0fe15375473abef4bdf5a0e41fa99877c75c8b349f38a8f7c36ee32cddc19563f5a2fee2697f2a5fd8e2758d2c953f30f2ab2abd56b99a5ea8fc77b8f9ee3622724992fcf107f620f49c2a33143005be0f8ea20058a1673d5a087b6bad1183a7bbd486b69247f55101c1dfec0fce4096c2addc608ebc4e9683fba31d4340a214ee03fabd6b1519860f4806951bf720194214687419ea1db31ab15d5859d7dfed53a36fb7fc2339fcab26e0e43a972140b78b7fc059024ccd844122b0ae38f26aebdab7e48159229aea776e2522c49b32cdf60f7f48011ea898a872dd91ae893651c12061ef613a82baf198be2a9d6ec2a2bf63244d4b62a58550cb6bf89b153f40da79656ca569d42b2a5d8d27bb765e172dcf837bae0d367ed6afec23b0cb08f7ebd96f09521fe8735620bd203f2e3a546e8d7c15f7ca6383c9b9269500d643a74cf0b99f17706daf666a6d1de4516c51da47286959e6a79e0b364e407a7b6aea765ecf1586b55b2711278224fb8cc5871de50f4b46e817177685c36b519daa0fbce82c15cfc93bb14f7edd3011f868a433a815f2f401cec74c310f3d999fd380664cab3585206f00c0fd67327ac1ccc43a2cc4d23bacf68f043c7a585cfbb88d4392ad28efa4a7e408c7e2168e7e77a57aaa4e0f46816e8900ac33c4d95e964cdf31ded2780e22f5f5057124918be7cffc6421d8e11697a5fc1b934a5036209aa2f731c726d257c605101d1ce506233d9e6dc899478d1df63e88d6ba064691497b952102aa9e48976583220a6122f06a91460a4fc38b57270f134a724796032912d9e1b31b2e3abc0a58590b3d7c7f4dd0621170629017e5aa8f952350cf3a7bedc40bed6e9f8daa0841041af43c08c8707d88ad35e782020db4fd3177240c9b77d4894d3a6c3cffd3b1cc13c8ac71e5d54025efb74b98ca129b9951b71620cff5a3a3798073653586124c26b110f93138a01913872c06747063a6f164cac1d83abbbbbe54c2b28f913b7805e89a23b6749d8f9be7f5d485362f95109c1862d11cb8b2b5f7cb35eb5e9599117d4397e564d76bb0d263b91b45533498966c973813dd010db59b45e202ff8b120b68787d224b4da10c34f3d892af631ea2a411c1ff55383a2e18885fbe198438ec85fc39d0c7cb9f84e664410f32b62ff312a09b88d015a8e33e6ff88f52ac08dadfabb7a2f831f55abd910b106dae0dae56fdcb1fc0a41ec6206546ba7fcb20b6ca1f95c22a35a9e8b490febc930ba9eaff5fadf46987dd34c82cac9a004736bdef1de2a5e595a6039ecd2bde4791356fb4c6c5d206ed4d64ebf2b1c26a8212eeb1ab8e8c6dda393529dbab6fd073ff9a669638fb9ef532b3bfd93cf6cd713d568635ff982cc0a88d5c2553c3af66cbc13ee002980f033deb72b0d5a2a50113542cc9145758f1a80887c1ae5dc76a7f45b4e244e1844e866b66e73f6dbace232d137023bfbf4f581cee87380c4de56a4aedf51d512e975bbff964670e8ca204cf8714d6b37d91093760caa503dc33c3f4a0f8412e1bc285516765bd5a069b357e8626af352b8d684ff41e544993b1eff7af6274de8a58c771c027547177f23ebb311a9055dc9b961b5c3a523816c0a218760bdc65226c1fb9d8224c97d57e2c5d2dcd288d82097fe9755cce85706a326c7d9d1ca0739274335a1213cf2da738b864829dd18855c96d5e6d3dbd7fd400cc7a07618f716649989bb06bdc122c21176e06df4d2e2b50d209dc17ec2d3c3806e21334ae02ca4588ccd3de491343181d845f4977879d2a2903991a6e7b610b7be1c49f10c4426324c8538a8712ed3020378506110f8984758a45d46f0fb6cce7a6949e17d4f2a83f049cb542689612203e62db585fa0db0339c89542407ecfe661c2c79e0da74473440b0f0034442e8dcaedc85928877aa0267f976600a5b7c28245277eef52b274aff95672cc4e0d877f7a65b5f4e2103e244e613558c3cae22ac0015cef04134728a472429d7c26d8afc965906ed30056be2031ed4b33d771837fad9bd9d838ae1157856c00113252f5557eb8f8eb6a261bea6dbcefd8cde99b07da6870c2c750a05dcb83a1c92a94e4b626c48ef0039a12e26d455eb5b71250246c5c9594f1fbe2c6bfe6dd201e2d29e8f47031a61bacbb81324a6b21a068689aacac193ee971fde82b8ff3c211708ab2b3fb6b01d70dc4ccd7cf489f7aaa61e880d50b7449bf421d61845fef1a49469425361406c11c61fef5baf7b0b131efd66b6bb3ea79f373f5ff88f5233854616155dbd6932cbf81a6a6839055488aa8a0cd9a3ac105a77b1bde2763f405c58a298055908e1e572129ad8503477927d419e3580a8888aaefc3be4295ab32a47fcb44b0c3e5f7888fc5234e7d4646e1e62ee55672ae87fecde92442522c16107b637e3298b44ee5432a86280d9bb21a423853f652b1efdebda00f64c3db3f112b5f9690168f03bbbbe3f71704559956e3eeb0cb128088a9fa39d28fe6d2122b941693a0bd53ed973b33e6e8b003ea026bab5c87c71aaa93c59a1ed002d412bad6029cf06d3d2b52f7d24c245b0fa89ea2b223948a6950d5f774f5157bff0fe8e47190dcb5806ec883b3308d15c0905b91a644b927ffde3bf6efa3b4015c2fe2e139959490fa78940baecc78e0b8c0133e5243c14a9cf6f22cc3774ff9052ea5edd5da03edadfa021efe56211e9e653d68b65f1802c2544a7c789d1ff9f7340442e5f064c0cb38fb93eee9e76a23ecdb99849e259929cf7952d67ad4f868032d35b38e961cd2d9d49e7dcc87c0c9f1214c6d0848cd2cfd8f365d06b74fbc08986d57e74fea9d60263b7ab0590098bf9bb9b6f94c6c64dac8951e6ee7b6323e5392ab3d178ff169031b7ba69e776dcf4e3e2803a13b6aa9633200e86375772fe944d1bfb78f246b6d34af0b593b2f76119bfca724f7e31446ea8f678077ed3b377f09dfe0aac9cdde4c8487dd37fc9599a5cfa1b2ced4d5f9fb612831d9db38cf9c2384de63f0cdbf5b67c6ac4ce42acaf8bab52de3c929fb42cd85b9dbed0307de52dbbbf754c1c6cdeb8938af30fbd53d33876e65286882c5043582fefc02d45fe008895e3d3d75ca7c88fc0fc7db6d1b1016dab32f2748c469c5759e462561f0481ea55ea40eb95b7f42fc1b16f36b51effa5d749ff3c93f782fe2fe2011788424f9cc3db2657f7821b4e331bb156ff2f70a0faa5707214c8e0757e12829efa24f3de048ffef5b655057517fa9d79e91bc295a1f3caa8fba12e451caed04825e63f7c5beb63ae32006b0a20ef57997425146db32148f1f1cc3ca6a2b6e340ba7dd15bd2b10ed4d42551abc30f915e04785c289fe6cabd93929f0e5697c3e8e4d2a07d184e7d6df8bc1cbcab87930d02ebd9b98d2f556944d50baf1af8332c3d36cf073f88207ba20037d25518ac7b6b30938fb8581895b8ecef2171601109e9a592e294d2068f249782de95c487dbed481eef8d9847ec37f6d0b13b15829ddbd35ebb146df803efb3aa3ef5879bec42d855d1adeea84baf2c826c7a5381e42a4828f91815ee83cd008ca42e5a8f184a13b157b3e46f1f30b67e87586193514d706fc2345a98994c954b9e748d74868de128bd0e6780c928513739bbfc02d62df7b7299365e3b8ed6a6618aa5fdb711103a0969a977418e282bd2a41ea81adb54c60c2eed3c78eb76f15848ebf93d6384fb212161483f6050f0c148cf2c324fa37fff73c4d4231a50bcccc24d345024f406cbabedf1b594c28e49fd68b229656dbe962530f5cef0d6e4c8621de8ddfe02838dd77399b5ae7b847408d2d112582ea7759c000e9bbbc2122e20c0daf2da3d5fed49c3187937d967a13f65dc3c30f9186d071a46d0fcc99d4f9f103b301b6dd84e5c5ea43679fa7270b5e7d931fea5d0f1be35d0e397e7e9d774f66834af70525ba85ba8effa1a120cbec1522bf9b4f803a74ded192d098ced6dd03d8148974bc4574a415ebe7f55ec8113ff0e9fd39a2958c1b6c193e18652b195534c41c6702ef5ebc97989ef92877434be17aa8dd3f42f6a695256e38116e5f194d807d973f83bf0e63eceb8449449583300128082fa55f00b7b063b8bf4a26008dbd1610f485210e4e3f40f5bc8eb68422b3093aa531120b1a80e03a5ab806571e938bb7016f9c6a50614a7b87896cd7a117e0c8c085e314fa52e8b9a539ee929f19c48205a4fb04e544c4c78df7901353406bf966180be287a2df5b8738378fb5211e548e864b80f24bbde273bc1bb1f3a084882766baf14f9f82ea7c6daf2e3468388bbe173d530e2665215bde3f912352634f7d9bf95d02ea59abf8cce1c34adb069aaf46e7405e2ee3cebf916cb6f04d90bbb69e75704636269bccc00a94575184c3ac072ab8d429de2346de1961d2ee4a76212cbc92ce29a672b7c6debdd9a3d741efc0de1a24dfe5dbb02fe45d5112d5b079143ea59bce6c9eeb4055391d64213b6ec4090f350f559fa5ac671d2332f02fcbb1f8fee2912768a12972dbaf71fb7ed9d20ac0c537c0451a38522613f5cc16cf417f2dc1faee6b995f212d8d46c5d2068529c3e4852107f0886e96f3caf0871956f1dcdded2f09a7d3c575454543632e06168c7efe8e2adc1f13af71bf620a79d33a71f48cd59c1d91937d6eedadbc64044db6662c55a9bf037380f1a28e45bde0e3ce82554570c021c80453f3d0c8e7cd16e0a9452a4c63509607406ae41e56129ceb1f3601d6e32dbff99c40d49fe20538ef818aa8a5823dcad092fc78608c76c9ba4e55d1248e1df1673f0e8b7521c54c5632248f9010aa4d82a25ac80595d703d1a8c4a9eb693e872187aeaefb0b2c6e21fb08e8473436c77503d61e8c536f29b22d838b23e226e0ddd91bfdd8749986749d998431e4638b2f91987d0315a25bfec51e5bed2e1202dfd2b09be290916de424bb7ec6cc3406c0f1ab26a42825c68cd815be564a4dce4704f7b5ac42a564b26326257e9de9be26e16f77215b53c2f787db95ead9ec3a2090a0004f4d320448cf0ec748c7fa6d2c2118248b9f40a6a886b634b0a96acdb09875fd7a6460719f38e59e998601d6dfe081e8677c42d26255e6d1c5714d44d00a9c9e9f4d165e946571bf0e823369b003cd2330741aa163fe746a96bb5e5027c99b37d594bac59fc573123cb5ea6b3ce08b5e12751fd18f7a1fe59a7e0e707a3e363fb229bce7955f060b2f8783c11492f1f50ffbc3273ef9d36181212e9a5796904a37efb11df866f594cfc53e5712f1ecfbefdd5d765f7b45c17e9f12b1fdc1478d92a1fc89fc9bf171e5868e28dde1f685babff03fc409b157c3c6ff1293795a3ffce0fa14aee816ff85951963b0615875c2021eb1204a7b337f43271f83de584a91140fce242b76a7a45e6f064953866bcf81a6e446ca15df80e93a007bc8076e1c4316a469e30f68b88b84ec1fb068dfd700599459aae704e190812727f5380ad97ac628e9d01644f6cf92d9d483e10dae4292d8ea989396ff0c0ce77def8f0fd11d092a122ad531df34e25454e0a6847e24725904c3e4086cbc38b2e894096ef3c949254e5269510770f1b71c02fed080fe43d7d8e1e164d0a17967ec0d379c1d7776cac8521663547eab85fe839797cbea55b66c340b075b66eaf3d226ee2b961ce6b4c39ea990a8d7a8980c6242130ca6eebb49dea810374d8f166f3a76e4dde7d54aba7e517d25a55de48113b7fe53fdb2b7eb328c72645f3c9841ddbf8b9d64a04d2570ad93fec4cb25761291743d3c4b36155e501235d83a51ffdffaf91ed34eeddec6c2018212959fa163f11281466789be69eb86c3cf2e4a68e455d7e5c69a45cb74502993fc2e2af2c23f2bdf76b4a9e5c01711a5c1e2823dcd71e8cc92d1d257c06a973fc85401a5e2b32f287e36acd1a0c9d0531aff1373df7168c5f80015ed0e3656b2dffddc5761e93bb9c13a843b82eeb66ed16087ffd43793d97df60c5850e41b9db64c80fa224984ae05219ea7868c170b2689ba05a3656784248475f4485f534f4859835b835d6eaf5923b6bba0590ecccf0c6cb431a60704c7d7691902868938e04ce91493312e7489d07e8f0e41525040a84239e580a521681ba858e08f5352f3370589b1b486d575fb0928079aa459af28e240b2297dea66403e3f2cea1481b3020e76806d121c09d3cd82948a063237105514428d33a78ff267e1c55bafd0b741d35b005a8fd9f90ff8fbad8b08d7777a30ea36736837e9b66dc2c348213476cc240ab20745b8d1c3f2c706c0f075f4eb3f0d69c1f2b72465538f9fd4cc8129f8929b42a492f4879ea326d05bd5d0ae4ddd2a3555387b2423cfa41b07b8371796989e426bddfe1aef0e63a1825297f3f115bd7ac8e8cd04b595f2ec38b50d7e98a8d812e5b5c0e495eeb92269073be01477ce6ac3303c4d3a0b92d5d543eda2b2643db0e8d95c10e68c439c06d40a96e25db7131d0b39f5d4ff5bf801dc7135710365529bfb5bc45bf808dfbf9db52ffb7100555d1e40f33268d13c588acc93e0be9bf3c8d318eea6c9d5c29eadf78bbf21d3ea7a1654457512e133eaece55d7ded858075227c9f55181172e33923c6d838e0c9bd857843c3c4683cf20513c9981e3192e6bc44a31070d9e134acab4fb1abd001febe77f1dc26c487c6d8611d57417c4311bcc62ddc74ef8238a956a5984b835c5c0d85a341323b3663d2164cf3133592894af31245d66c3fffa5ff31d436ff32738e29e536ab43f9ef3fef3643baa5620b058823e2a4b2af37f32e8d980a960f30c0e08140cc1b652a61a887677f77c13f2580b57a444514cbdc0059ad392f4e04aa285075f72b3084dd68841b3f33c2501797e58b807fb220b8cd66c8c34bf3121b99958b091894bc055eb699345e412255601590f86b20fb1c1faec18fdbbb5d7ee3dc30d80553f3d4c84f4db6a8c172f9c12c0a47df0c67c8f5209dfa4c82e7ccaddc86a530d7f7a920528b8fc0939ff46dbf928e6f82d9bd84a3011717a35d1bc8445d027c8930a8c0faa40dc61112e285edca64c68a2df23a258a7bc881c7bc3fea1fff3c78d0750a8fa4ccbaa3c559ba5df7fe2f50f68f98b151073af5b41ad259580088a5bc03ba87c4008e9059004a01354cccf279afc7bf4f59710b66d02f475e9489023280e03879ff870240207f986ad563a199b4b6b892ca5d35cc12daa2c84a3a0f9e4f9994be7d2bf2f80f8d6504e55fdab70fee2ac26643ef82f44d3afd9b28457957eeaa5067cd00b12d8f8adb1749329e0eec549aba81052540844616f7e78b6f8e042a25c8bc523126cbbc335dbba78a7461136bdc7a0ae1003524c4e17a6eeed70b915e25ac33b0dbbda0f7f6e6183ce0d455030a1a9c8968a0849786745678b1c70a71d2c7f2fbce00dc2c0ca640d9de001dc40e688eeb4b826148aa63b049e10204aaa52cb35cb4f3d959429139fa4e64a0e8124f6348701994cd247d22008818d261abf132eb24e857e824c90bb29e56ebfbc18a17e6ce1c22790bc6e735290848a93a9133e06f7e982de03d5c3621ff95030a3bc0128ef487be423700f2d1ceb64efe85e203a5a87078946e12c2a275aa44ae4d385f0d3f933b52f337a339a95503cbd9e17a14ba40fb80b173788affdbad33ffa36927bd29b06fad3d150f05615ed75010e515195f9b70e549c919e61aa30971d8a369c197aa70ced2db48a8abaf6ffc23df839d6d62eb6784878555d51825b1c0c7b74d03b2f942899ef7b1b7847e6592a24c60c9e01314f5c45e9404f8c10b88e8c869f48142b29e621277addd5b74d0952931bcda2b5fef625e900ccfbe96100d28fd66978085f1e9106bd6d4b3e002b1708caaaf8ae71a03272a13fb568da3aa8024640eae1498499538142069da03b916f50a1fff73c79927356cc81f7a1036bb798cb00625b7bfe712e99da96850cf6e4bf4750ba8e6b4c01b672653fe5d1b1309f7f4516a663e50fba3cb151032beb22737b438d40c9c93dc0190c2b6a96aaecd27fa075070db4cc0868550b80393c1087beb29a2b3f2c21236a3a331e70abd71a5d561edfdc06b81e29f8e76a31f16ecd1fe771e6dfe9f2fa92c7ffeb8ed1309d026da5f404043003612184cb14cf070876b6d73b30b62df9571d02d901ac0a2a3bccf1d26edbe9f6bffaabe92aa21e0cf0bb916aedecbcfade29fe7a32403fc9b0e4820b0969c8481bd431122471abc640777ad63cacef44806ceb5bbe4b05715660aede4a994dc65e1c69ab0b7f5f9e70733e6309977504970a87f16c7281b9de51ff92ec22b0bbbf3c2ead066a100d55b9a49bb2626cee936598c81b36b935a92dba056bb0044df6497ff4023e0a77c6ccf608c677c5803121ad0d794c829bae1b4705bf7d574afb8ceb951ca9e533ccec3a7873f3845a80d2e9a12cf43ddf73cadb15157271617e63a5b6181d888c4bad2523fd1949d7dff6f8094affed8d7582922153a59a7e5e510e2104e6007947e3e092d70f4f8df8c99ac829e15b1007a07eb0603cb0e8f8ab5af51f3883ceb10d99b6f35c96e0eccd26e49cac45f8754b8c6441bdd4b27d981b3612e7cf59d9629c7bcfab1ae8805a9db7c3b578c473a79ecfe8c791213148e6ba23a80bb26462633263e56435e2e2c282e5e9c1d9d558639c5090868c01312f8c13fe0500cf31e1e312bfd3225c47d4d6ec02e7da3f135a468d6a175df1f56bf535fd256a3c3cc611ef20b0aaa1b501122ed2719ba4350ef9e1312c491e2126a62b1e435691c6976fc6e700f47dcb177c42922c569fe9fb52fd38df4331e83e2502614733b434e66c8e4cb6d2ad7f73018f60b2974b7053a5b680984a8a740d680ee15285afb41f250023a6ebc95e46f28058e8b756d9c1ef30207d63b453762e21841d53e6deb362fcca995f5a18992979dddf56f3f98f47b20ae02a5c506c7106bac2f3571542f4a791f2d9b26f697b550ef8c04c78aff316ef021d31f935a23cfbc3c12d82ac82ff5c7eb7569ce94f568424a2cee9a93306be7125b6103cec1b3f4b398a6e22a6bfdb793cbecbc14e8f8c1b313ab2702291f0d9888ddd8899208b89c38cefd0e30ef15be2f4c40c73c9d63776471e68d83683c09b9a74d7980c2f1a48c446e8a2c9053da9e4521202a9943bd3f2af9aa7d40a7b6c6a367eab093c0a3dd6382d42209d6f714978a54b3138e2ca7845915f75aa7e471eab4cbe16fd2319055843239c88bddb1063025c950089476978da559dffdc703d5b8afe00020fb13e1bbb16bf6b2ac230d6f543867e92a1f1b593ee1468213953b4d74c0681f9e03c6cc515e46c070ccdcaf01171a9334040b7efb678b9be039292ffd42723cfbb440dfb33b55f41436cdd87229b6923cbbc0b50c4d75b90136a56ca42044fbcac2bad2783273573219fa004ddea687dfb7304f1d170122d4579bb700a1bba78a0e2a66c90c4b5ff500e18770b990791c9223073d2d93a7696ca27c32832e5db897d0e5a2335c00b7ca1ec6008ba69e37380901f57859e41932c3319a42845b8f0e9d0d508883bed37e85ef1b7ce956d03fa13341424de27b01cc81a1d1b1915eb8e026a0431c8f9bdd4560868379c6e870ff4ecab268862003004c44801d8092236808e6c54b73f0817c6c1ceccc4df050e762e5666667d2e63360e2339366313664ecedfa3ca69f4ce9e85917070a35a762dab6cfb15dab0c27fa7b926b85859d8f459998d4c594c583885cc076a624f3d267b5366c0cccacac2cc5e338db8d9393858d93860f6ee59bc8b5c2d095370b2b27172946d332e634e63660b56b84f5e1bc59c28e12a00d0ff0efb31c6b5923157ef8495cd789d459a9e3022093d3936f1f751042f99b15bb7365b2d3c2924bf44e99bfbe34569d0c04b8b24969a4e74deaa38e95a032c31d977a45b6d2715e2e6adb2cf8f593094ad979110fce9246423c9c007564ab650e9d70a81a3a985442d4b909ed3cb527c66692d0f9e93cde8fd83cde25b3547655f160b844f14c1a7048555a219bd2c55f4efea3042ae9575599668519e96a52a6a9bb7f8a9ca1cea57820dfa8355dd71eed1500efa263f533dd49b0e6258ebad2eae9a200afb69c6db8fa8a75e4c43345515923022424bc43ad2e2c0a97414f1c8444e90da292256a39b76952fda2e720350431acaad2e4159e6be946796fdea8b8094b854e00386a88febcafb4c1e54a321d53b1ae837d951a7de59a05a2d931caf8682f0779a72912d45079db31f1b645c2214cb9215e91fc9d3b6e563f8a723372fb764260b0872a9228058fb5a18e4473405219d6064cb71c1f8b9ebd86ff5fb6ba14ec3a3bb0763951c7bd0594da287320bf931b4265119645d91e63e5f6fce63dce2d6c532326c4c0d2d0b8f96e81e172b9219a2e2e9b3e34e423ae8d06766d459bfa16215513d410f7220e3fe05123c3fa368f9623523891a4ff4152487f652d860e35cb24faf34ea578a2e0fa1f17605602f989be9c82daa132ce41ec2b8c145ee5c37e20c91d3ba740a195f71ec362e568d90f64ec938a620e567b7e2edae4480d60683def3dc9117f9816499616710d89d1da1a6f20156e6871fc70bb1aba7214fe6f43c62e6e83171b297c1d7b927ec09669580eebd28ab6c93e6bc8c8e3b04c4feb6f37fcc2091a4eb13655c2318f8ea51f80e864ba64eb31d58b0af98203837c6144093e13a6dc59c9394a75b08827e7a341f92edd2e8c0e62f691ad66661dffd26530ec17f9c69deef8368ab1e2a23bff5fc08ea9a1da03b682deb38345f6b16589b6156346af24d148a43fc13ecb7d65ed2f1fd2a53df3a057523654722691adf640f3d17f0efeda83530743e14a86778a8f71df22653abe8c9d30829d50589729741e8442d5c5f4bd5d1b51b63bf8eec8f311cd946f407a1576f34193e639170f8c79c13f6016c5164f87613042aae2344f412b8ac485e0938421f727aa602f77d75fbd3305c2c84f700603b4f0fcb827ca531cc92a9c87f45ef4333526c29363a3ac5ff4ef0d9df9ca3f53f3e276ceaa1eb533d49726fa0651bc09bda6abceb4bdfd448663735a111416817f1920825bf6d385c3828f094bee498b454ef30590f3985b427cedf7a7070483e683848548a50e006c226e5356c06906e0e2abb013f87de7e19964c20566e03360fcc5fd03f59c0bc067cde6d9afc067cd9623e98e053c033f434723e4d9a823e7c58c2c206fc30a07a51033e00781c84b6b801bf1da1ec98341c48b7075d92109fc56db2250a2ddf03d23e340fbd46f93169a97b9f956db2ffb84959e091731a602380bcb108c7d0bbf6720acc27d0e54747c9208e040e060b0f5168383412040d8d85c64313a1c97bac38268dd7dcb3575cdd265b837b8484fa0552a793570fe0f357aa078902ae6f936d6068f303110022404483275ed580df81803cdc0d130b1d0dfc8f5cdd80ff1f4d2230027e6b9b6c1bee812ec7a0a6017f679b6c1736427ba1fd47d804561e934ed7435ee1c50021abecf7548003213f168c77b04d1c888f9003ac6dc087ac3e26a5ae6bc0af87aad6b8ff8158e04c3d641a5c2304032eb0ff1d242802be17b1a1019f064681a7b101bfa9011f0a049677dffec826068eb61718076c6ec027863eda26a3a36c69c047a1aa3d26ad3b268d07f2f2f506014fd0bf9821a91380ad0df8d430e3c1783427246d0df84d1025c02458a5f6057cda99626047037e2210b6169a85f71a140044ba33abd271d5ce24b40df8802cc7a4e600219015380aadca7aec105a209004d8d5809f043cde2623da5b065d2f80da1bd5815c40a4d75fbf078382db5ff8fd169060e114fcd82a4cc767178b25b81125c0e51690877dd0d03b18b61c18a5f99982b69ce1c7eb8730055560010067a0fbab307bcba0057f32089a5d2f75308631554f35bb8f9bb69ddc04724f04d87be528a979709d07a0cb2d2075873013f960198f48c9519a2e1d8bbd3c350ab137aa53ee7c31a11c74f51626720937a10f5c973aa7bbf78948a7fb2489a23cfb55a1da99cb5cc33e6ec920846ba1ffa61cb8b79cab4594000bb0d03b186432bd7ae1f55b7ba33ab3fb601fb7e5c07d26a57c1d530436f14357500596dc04312f91ea7eb5072a25adf1028bbf17711bf671f7ca51827947aafdff71eebf970f08315e02361ab80bb2dc0292b2441bd8005e3b55278c34a8917abe571e72e800756c81deb7caebf5e601d88580b483ce03d0d1ad960f2f3f7640e2ea556fb80352f1720b48561e5ce4122e92d8cb2d4c049c765b0f9e53fcc229f8a62ab0f81debfd1690824182dee33d90d356f0fd5598287b4b47b044ddfb63a0abae382b302001f7607bcba0b3fbb869cb36bbd7e5c0bc6cb90524f279600378e81dcc5e3839caec4c2ab0fe6c1070652805fb621177d12285155481e585d422b2da9fd62600c0200e710699a5600d17bddc5eac80dacf0999066b1f6009e5e36527b7303ceb99b40e206b772a241498d75ce72f644115989593293a450c2e11ceb6134301c922f31835eccfe28bbd519de4d9b82ab04c49a11adbe90b16ca4e6742c974006585e1aa2036e9aa8b455ce02f0701000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000