e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x89000}, {&(0x7f0000037560)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000008000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a0000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d80100e000000000000000d80000000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000250000000000000040000000000000000060020000000000003002000000000000300200000000001126040000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00000000", 0x1a0, 0xff000}, {&(0x7f0000037700)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff1e0}, {&(0x7f0000037720)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff3e0}, {&(0x7f0000037740)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff5e0}, {&(0x7f0000037760)="000000000000000000000000000000000000000000000000000000000000080046494c453000050000000000000000000100010040000100600100000008000000000000000000000300000001000000020000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000020000000000000002000000000000000200000000000002102ff0000000000ffffffff00000000", 0x180, 0xff7e0}, {&(0x7f00000378e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xff9e0}, {&(0x7f0000037900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xffbe0}, {&(0x7f0000037920)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xffde0}, {&(0x7f0000037940)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000200010040000100600100000008000000000000000000000300000002000000020000000000000000000000000000001000000060000000000018000000000048000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180000000200520000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140010100000000ffffffff00000000", 0x180, 0xfffe0}, {&(0x7f0000037ac0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f0000037ae0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f0000037b00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f0000037b20)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e80100000008000000000000000000000600000003000000020000000000000000000000000000001000000048000000000018000000000030000000180000008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010600000000000000000000000000000030000000680000000000180000000100500000001800010005000000000005008041214b9fc6d8018041214b9fc6d8018041214b9fc6d8018041214b9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000000000000000000000200", 0x220, 0x1007e0}, {&(0x7f0000037d40)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f0000037d60)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f0000037d80)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x100fe0}, {&(0x7f0000077da0)="eb52904e5446532020202000080200000000000000f8000000000000000000000000000080008000ff030000000000000400000000000000ff00000000000000f500000001000000aa1cb4684d356101000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f0000077e80)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f0000077ea0)=ANY=[@ANYBLOB], 0x1) pwritev(r0, 0x0, 0x0, 0x0, 0xfffffffd) r1 = openat$cachefiles(0xffffffffffffff9c, &(0x7f0000005580), 0x0, 0x0) renameat2(0xffffffffffffffff, &(0x7f0000004f40)='./bus\x00', 0xffffffffffffffff, 0x0, 0x0) r2 = open(&(0x7f0000002000)='./bus\x00', 0x143142, 0x0) r3 = open(&(0x7f0000002000)='./bus\x00', 0x0, 0x0) write$binfmt_aout(r2, &(0x7f0000000340)=ANY=[], 0x220) sendfile(r2, r3, 0x0, 0x8000) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, 0xffffffffffffffff, 0x0) truncate(&(0x7f00000020c0)='./file2\x00', 0x1100000) open(&(0x7f0000002140)='./file2\x00', 0x0, 0x0) openat$dma_heap(0xffffffffffffff9c, 0x0, 0x0, 0x0) 19:30:20 executing program 1: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) 19:30:21 executing program 5: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) [ 1507.652807][T15289] usb 5-1: not running at top speed; connect to a high speed hub [ 1507.657373][T23122] loop2: detected capacity change from 0 to 4096 [ 1507.768603][T15289] usb 5-1: config 1 interface 0 altsetting 32 endpoint 0x81 has invalid maxpacket 512, setting to 64 [ 1507.794702][T23122] ntfs: volume version 3.1. [ 1507.802546][T15289] usb 5-1: config 1 interface 0 altsetting 32 has 3 endpoint descriptors, different from the interface descriptor's value: 2 [ 1507.875107][T15289] usb 5-1: config 1 interface 0 has no altsetting 0 19:30:21 executing program 3: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1000000, 0x4f, &(0x7f0000000200)=[{&(0x7f0000010000)="079b9c3b000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000001000000000001000000000000005f42485266535f4d08000000000000000060510000000000001010000000000000000000000000000000000000000000000000010000000000e000000000000006000000000000000100000000000000001000000010000000100000001000006100000005000000000000000000000000000000030000000000000045030000000000000000000000010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a54759915700"/320, 0x140, 0x10000}, {&(0x7f0000010140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x10220}, {&(0x7f0000010160)="00000000000000000000000001000000000000e4000010000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c7813300"/128, 0x80, 0x10320}, {&(0x7f00000101e0)="0000000000000000000000003050000000000005000000000000000010100000000000050000000000000000805000000000000500000000000000001050000000000005000000000000000040500000000000050000000000000000905000000000000500000000000000000000010000000000900000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000006000000000000000010100000000000050000000000000000205000000000000600000000000000001050000000000005000000000000000040500000000000050000000000000000905000000000000500000000000000000000010000000000900000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004051000000000007000000000000000010100000000000050000000000000000205100000000000700000000000000003050000000000007000000000000000050510000000000070000000000000000105100000000000700000000000000000000010000000000e00000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000006051000000000008000000000000000010100000000000050000000000000000705100000000000800000000000000003050000000000007000000000000000050510000000000070000000000000000105100000000000700000000000000000000010000000000e0000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100", 0x2a0, 0x10b20}, {&(0x7f0000010480)="fd74b0ae000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010560)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000dbe8c5919a7845b3b6331998e7c7813300001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000dbe8c5919a7845b3b6331998e7c7813300004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157e3e5847b000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157001010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/576, 0x240, 0x100ea0}, {&(0x7f00000107a0)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000dbe8c5919a7845b3b6331998e7c7813300001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000dbe8c5919a7845b3b6331998e7c7813300004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157850fbd94000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157002010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b160100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/512, 0x200, 0x101ea0}, {&(0x7f00000109a0)="000000000000000000000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000400000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157521829e6000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157003010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b160100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010ae0)="0000000000000000000000000000000003000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b16cb8b181a000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157004010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b1601000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000010b80)="5639cee0000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157005010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b1601000000000000000700000000000000", 0x60, 0x105000}, {&(0x7f0000010be0)="81289f4c000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157006010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b1601000000000000000a0000000000000002000000000000100000000000c60000400000000000930f0000080000000070100000000000c700903f0000000000930f00"/160, 0xa0, 0x106000}, {&(0x7f0000010c80)="0000000000000000000000000000000000000000000000000100000000000000cb507015000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157007010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/192, 0xc0, 0x106fe0}, {&(0x7f0000010d40)="03000000000000000001000000000000000050000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b168c356c1b000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157008010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160200000000000000030000000000000003000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/288, 0x120, 0x107fa0}, {&(0x7f0000010e60)="1900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000dbe8c5919a7845b3b6331998e7c7813300004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000590000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157e32bee0e000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157009010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16020000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000070100000000000a90000000000000000320f0000210000000080100000000000a90000000000000000110f0000210000000090100000000000a90000000000000000f00e00002100000000a0100000000000a90000000000000000cf0e0000210000000000500000000000a90000000000000000ae0e0000210000000000500000000000c00000190000000000960e0000180000000000500000000000c00000190000000000b70e0000180000000060100000000000b00a000000000000000b0f0000000000000000500000000000c00000190000000000f30e0000180000000060100000000000b00a00000000000000f30e0000000000000000500000000000c00000190000000000db0e00001800"/768, 0x300, 0x108f00}, {&(0x7f0000011160)="000000000000000000000000000000000000000000000000000000001000000000000000010000000000000500000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00a00000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000006000000000000000010000000000000200000000000000667bb055000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700a010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1602000000000000000a0000000000000006000000000000100000000000c60000400000000000930f0000080000000000100000000000c70040000000000000930f0000000000000060100000000000c70010000000000000930f00000000000000b0100000000000c700503f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000010500000000000c700f01800000000008b0f00"/544, 0x220, 0x109ee0}, {&(0x7f0000011380)="0000000000000000000000000000000001000000000000000300000000000000", 0x20, 0x10afe0}, {&(0x7f00000113a0)="1c9ebaab000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16060000000000000001000000000000000b000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b70100000a000000000000008400000000000000006f040000b7010000f7ffffffffffffff840000000000000000b8020000b70100"/384, 0x180, 0x500000}, {&(0x7f0000011520)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000b0500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x5003a0}, {&(0x7f00000115a0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x5004c0}, {&(0x7f0000011600)="0000000000000000000000000000000000000000060000000000000000000000000000000050500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x500560}, {&(0x7f0000011680)="00000000000000000000000500000000000000000000000000000000c050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x500720}, {&(0x7f00000116e0)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x500840}, {&(0x7f0000011720)="0000050000000000000000000000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x5008e0}, {&(0x7f0000011780)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f63000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5009e0}, {&(0x7f00000118a0)="0000000000000000000005000000000000000001000000000000001050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000000083846e789d15434ea40d83e72ad7f08b00"/128, 0x80, 0x500b60}, {&(0x7f0000011920)="0000000000000000000000000000000000681f1f630000000000000000681f1f6300"/64, 0x40, 0x500c00}, {&(0x7f0000011960)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500c80}, {&(0x7f00000119c0)="000000000000000000000000000000000000050000000000000000000000000000000040500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x500d20}, {&(0x7f0000011a40)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x500e40}, {&(0x7f0000011a80)="000000000000000000060000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x500ee0}, {&(0x7f0000011ae0)="9152bbdc000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157001050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x501000}, {&(0x7f0000011b80)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000998f2afc000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157002050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16060000000000000002000000000000000c000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000010500000000000a90000000000000000080f0000210000000020500000000000a90000000000000000e70e0000210000000040500000000000a90000000000000000c60e0000210000000050500000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000b0500000000000a90000000000000000630e00002100000000c0500000000000a90000000000000000420e0000210000000000690000000000c000001900000000002a0e0000180000000000690000000000c000001900000000002a0e0000180000000000690000000000c00000190000000000090e0000180000000060100000000000b00a00000000000000f30e0000000000000000500000000000c00000190000000000db0e00001800"/704, 0x2c0, 0x501f40}, {&(0x7f0000011e40)="00000000000000000000000000000000000000000000010000000000000500000000000000010000000000000005000000000000000000010000000000000500000000000000010000000000000005000000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000005000000000000000200000000000000b00500000000000000008000000000000000010000000000000500000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000006b55e197000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157003050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1607000000000000000500000000000000020000000100010000000000000100000000000000000000510000000000070000000000000002010000000000006c0000000000000000006050000000000007", 0x260, 0x502e40}, {&(0x7f00000120a0)="83606d90000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157004050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc00006900000000000b0f00003000"/192, 0xc0, 0x504000}, {&(0x7f0000012160)="0000000000000000000000000000000003000000000000000001000000000000000069000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000050000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b16f0612ba4000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157005050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1606000000000000000a000000000000000a000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000030500000000000c700100000000000008b0f0000000000000060500000000000c700300000000000008b0f00000000000000a0500000000000c700100000000000008b0f00000000000000d0500000000000c700301800000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00000000000000", 0x200, 0x504f60}, {&(0x7f0000012360)="0000000000000000010000000000000004000000000000000200000000000000a38a0043000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157006050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000005000000000000000f0000000002010000000000006c00000000000000006c0b00002f0400000301000000000000010000000000000000cc0a0000a000000003010000000000000c0101000000000000bd0a00000f00000003010000000000006c0000000000000000810a00003c0000000401000000000000010000000000000000e1090000a000000004010000000000000c0001000000000000d20900000f00000004010000000000001822a8f12600000000a30900002f000000040100000000000018d65ba13500000000740900002f00000004010000000000006c0000000000000000550900001f0000000501000000000000010000000000000000b5080000a000000005010000000000000c0001000000000000970800001e00000005010000000000006c000000000000000062080000350000000601000000000000010000000000000000c2070000a000000006010000000000000c0001000000000000af0700001300000006010000000000006c0000000000000000360700007900000000000000", 0x200, 0x505fe0}, {&(0x7f0000012560)="00000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed81000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000000030000000000000000000000100d05000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed81000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150370700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e313634333630373735392f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c99aab0c5000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157007050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1604000000000000000a0000000000000009000000000000100000000000c60000400000000000930f0000080000000010100000000000c70040000000000000930f0000000000000060100000000000c700a03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000010500000000000c700100000000000008b0f0000000000000030500000000000c700200000000000008b0f0000000000000080500000000000c700801800000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f", 0x9c0, 0x506780}, {&(0x7f0000012f20)="00000000000000000100000000000000030000000000000002000000000000001f882222000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157008050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16050000000000000002000000000000000c000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000c000001900000000004a0f0000180000000010500000000000a90000000000000000290f0000210000000030500000000000a90000000000000000080f0000210000000040500000000000a90000000000000000e70e0000210000000080500000000000a90000000000000000c60e0000210000000090500000000000a90000000000000000a50e00002100000000a0500000000000a90000000000000000840e00002100000000b0500000000000a90000000000000000630e00002100000000c0500000000000a90000000000000000420e0000210000000000690000000000c000001900000000002a0e0000180000000000690000000000c00000190000000000750e0000180000000000500000000000c00000190000000000f30e0000180000000060100000000000b00a00000000000000f30e0000000000000000500000000000c00000190000000000db0e00001800"/544, 0x220, 0x507fe0}, {&(0x7f0000013140)="000000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00500000000000000008000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000002b43ce2a000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157009050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1605000000000000000700000000000000", 0x1e0, 0x508e80}, {&(0x7f0000013320)="88ede0d1000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700a050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1605000000000000000a000000000000000a000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000000500000000000c700100000000000008b0f0000000000000020500000000000c700100000000000008b0f0000000000000050500000000000c700300000000000008b0f00000000000000d0500000000000c700301800000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00000000000000", 0x160, 0x50a000}, {&(0x7f0000013480)="00000000000000000100000000000000040000000000000002000000000000004b65b29a000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700b050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/192, 0xc0, 0x50afe0}, {&(0x7f0000013540)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f6300000000000000000000000000000000000000006033acbd000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700c050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1605000000000000000900000000000000010000000083846e789d15434efba40d83e72ad7f08b930f0000080000000000", 0x140, 0x50bf40}, {&(0x7f0000013680)="0000000000000000000000000000000000000000000000000500000000000000", 0x20, 0x50cfe0}, {&(0x7f00000136a0)="c4ae45e9000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160700000000000000050000000000000014000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c0000230000000201000000000000010000000000000000ae0b0000a000000002010000000000000c01010000000000009f0b00000f00"/608, 0x260, 0x510000}, {&(0x7f0000013900)="000000000200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed81000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503703010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503706010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f6300000000000000006a1f1f63000000001b5150376a1f1f63000000001b515037681f1f63000000000000000098451433000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157001051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000007000000000000000100000000f6ffffffffffffff8000d05000000000008f0f00000c0000000000", 0x480, 0x510c00}, {&(0x7f0000013d80)="00000000000000000000000000000000000000008941f9988941f9988941f998a5265e12000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157002051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000002000000000000000f000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000c000001900000000004a0f0000180000000030500000000000a90100000000000000290f0000210000000060500000000000a90000000000000000080f00002100000000b0500000000000a90000000000000000e70e00002100000000c0500000000000a90000000000000000c60e00002100000000d0500000000000a80030000000000000910e0000350000000000510000000000a90000000000000000700e0000210000000010510000000000a900000000000000004f0e0000210000000020510000000000a900000000000000002e0e0000210000000030510000000000a900000000000000000d0e0000210000000040510000000000a90000000000000000ec0d0000210000000050510000000000a90000000000000000cb0d0000210000000000690000000000c00000190000000000b30d00001800000000000000", 0x200, 0x511fe0}, {&(0x7f0000013f80)="00010000000000000500000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b0050000000000000000d000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000004d9993c3000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157003051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1607000000000000000a000000000000000a000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000000500000000000c700300000000000008b0f0000000000000040500000000000c700200000000000008b0f0000000000000070500000000000c700400000000000008b0f0000000000000060510000000000c700a01700000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00000000000000", 0x340, 0x512e20}, {&(0x7f00000142c0)="000000000000000001000000000000000400000000000000020000000000000029b821fe000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157004051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000001000000000000000b000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b70100000a000000000000008400000000000000006f040000b7010000f7ffffffffffffff840000000000000000b8020000b70100"/416, 0x1a0, 0x513fe0}, {&(0x7f0000014460)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000b0500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x5143a0}, {&(0x7f00000144e0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x5144c0}, {&(0x7f0000014540)="0000000000000000000000000000000000000000070000000000000000000000000000000030510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x514560}, {&(0x7f00000145c0)="00000000000000000000000500000000000000000000000000000000c050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x514720}, {&(0x7f0000014620)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x514840}, {&(0x7f0000014660)="0000070000000000000000000000000000000010510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x5148e0}, {&(0x7f00000146c0)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f63000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x5149e0}, {&(0x7f0000014800)="0000000000000000000007000000000000000001000000000000003050000000000000000000000000000030000000000000000000000000000000000000000000000100000000000000000000000000000000000000000001070000000000000083846e789d15434ea40d83e72ad7f08b000000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000006a1f1f6300000000ac597939681f1f6300"/224, 0xe0, 0x514b60}, {&(0x7f00000148e0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x514c80}, {&(0x7f0000014940)="000000000000000000000000000000000000070000000000000000000000000000000050510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x514d20}, {&(0x7f00000149c0)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x514e40}, {&(0x7f0000014a00)="000000000000000000070000000000000000000000000000000020510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x514ee0}, {&(0x7f0000014a60)="f27849a2000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157005051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160700000000000000040000000000000004000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000100000000000430f0000300000000100000000000000cc0000500000000000130f0000300000000100000000000000cc0000690000000000e30e00003000"/224, 0xe0, 0x515000}, {&(0x7f0000014b40)="000000000000000003000000000000000001000000000000000069000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000050000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b1600000000000000000000000000000000000000000000000000000000000000000000000000000000bc95f9d0000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157006051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16080000000000000001000000000000000b000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b70100000a000000000000008400000000000000006f040000b7010000f7ffffffffffffff840000000000000000b8020000b70100"/576, 0x240, 0x515f40}, {&(0x7f0000014d80)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000b0500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x5163a0}, {&(0x7f0000014e00)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x5164c0}, {&(0x7f0000014e60)="0000000000000000000000000000000000000000080000000000000000000000000000000080510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x516560}, {&(0x7f0000014ee0)="00000000000000000000000500000000000000000000000000000000c050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x516720}, {&(0x7f0000014f40)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x516840}, {&(0x7f0000014f80)="0000070000000000000000000000000000000010510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x5168e0}, {&(0x7f0000014fe0)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f63000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x5169e0}, {&(0x7f0000015120)="0000000000000000000007000000000000000001000000000000003050000000000000000000000000000030000000000000000000000000000000000000000000000100000000000000000000000000000000000000000001070000000000000083846e789d15434ea40d83e72ad7f08b000000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000006a1f1f6300000000ac597939681f1f6300"/224, 0xe0, 0x516b60}, {&(0x7f0000015200)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x516c80}, {&(0x7f0000015260)="000000000000000000000000000000000000070000000000000000000000000000000050510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x516d20}, {&(0x7f00000152e0)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x516e40}, {&(0x7f0000015320)="000000000000000000080000000000000000000000000000000070510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x516ee0}, {&(0x7f0000015380)="109c2a1e000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157007051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16080000000000000002000000000000000f000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000c000001900000000004a0f0000180000000030500000000000a90100000000000000290f0000210000000060500000000000a90000000000000000080f00002100000000b0500000000000a90000000000000000e70e00002100000000c0500000000000a90000000000000000c60e00002100000000d0500000000000a80030000000000000910e0000350000000000510000000000a90000000000000000700e0000210000000010510000000000a900000000000000004f0e0000210000000050510000000000a900000000000000002e0e0000210000000060510000000000a900000000000000000d0e0000210000000070510000000000a90000000000000000ec0d0000210000000080510000000000a90000000000000000cb0d0000210000000000690000000000c00000190000000000b30d00001800000000000000", 0x1e0, 0x517000}, {&(0x7f0000015560)="00010000000000000500000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b0050000000000000000d000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b0030000000000000000100000000000000001000000000000020000000000000013bb4a3e000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157008051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1608000000000000000a000000000000000b000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000000500000000000c700300000000000008b0f0000000000000040500000000000c700200000000000008b0f0000000000000070500000000000c700400000000000008b0f0000000000000020510000000000c700300000000000008b0f0000000000000090510000000000c700701700000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00"/864, 0x360, 0x517e20}, {&(0x7f00000158c0)="0000000000000000010000000000000005000000000000000200000000000000", 0x20, 0x518fe0}, {&(0x7f00000158e0)="5bac4b39000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000069000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000005000000000000001b000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e00002300000001010000000000000100000000000000009c0d0000a000000001010000000000000c00010000000000008d0d00000f0000000101000000000000544bae7904000000006a0d000023000000010100000000000054482d12f600000000470d0000230000000201000000000000010000000000000000a70c0000a000000002010000000000000c0101000000000000980c00000f00000002010000000000006c0000000000000000690800002f0400000301000000000000010000000000000000c9070000a000000003010000000000000c0101000000000000ba0700000f00000003010000000000006c00000000000000007e0700003c0000000401000000000000010000000000000000de060000a000000004010000000000000c0001000000000000cf0600000f00000004010000000000001822a8f12600000000a00600002f000000040100000000000018d65ba13500000000710600002f00000004010000000000006c0000000000000000520600001f0000000501000000000000010000000000000000b2050000a000000005010000000000000c0001000000000000940500001e0000000601000000000000010000000000000000f4040000a000000006010000000000000c0001000000000000e10400001300000006010000000000006c0000000000000000680400007900"/800, 0x320, 0x690000}, {&(0x7f0000015c00)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff81000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150370400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150370700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e313634333630373735392f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff81000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503703010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff41000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503704010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000", 0xb40, 0x6904c0}], 0x0, &(0x7f0000016740), 0x1) [ 1507.946410][T23135] loop5: detected capacity change from 0 to 264192 19:30:21 executing program 1: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) [ 1508.054259][T23137] loop3: detected capacity change from 0 to 32768 19:30:21 executing program 5: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) [ 1508.098247][T15289] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1508.107338][T15289] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1508.191115][T15289] usb 5-1: Product: 緭笸⥦㥣ᣥ섃㛿맹㉳ﲍ含᫘蚼඀렄㖠⟂岧줔击몝㚝ᝂ㢠ᡫ㍁鞶嶟올暞芐婠♕ꪅ䯽┏᯳괖纇ߺ뀍廆⮙ᅢ塹텆믘픎蒙ᐘ⾒ᣫ䝰붍ᕤ年ⷝ钀孵䓝犾쀩➙嫢捾柚ᆞ 䋸踀挽ⵎͥ揄竔ꞎ窻蒗ࠦ䒏 [ 1508.232595][T23141] loop5: detected capacity change from 0 to 264192 [ 1508.312461][T15289] usb 5-1: Manufacturer: ᪷㕏䪱霁ᡟ鸗婔⌂ꊣ퇳ꘂ⭢胂䵺퀏༼髱硠ᏚꙘ긣ꂻ킄崻왦㙵쀜၀䊜폮訲텞吙元鰄Ư [ 1508.376117][T15289] usb 5-1: SerialNumber: О [ 1508.408996][T23137] BTRFS info (device loop3): using crc32c (crc32c-intel) checksum algorithm [ 1508.428336][T23099] raw-gadget.0 gadget.4: fail, usb_ep_enable returned -22 [ 1508.436981][T23137] BTRFS info (device loop3): using free space tree [ 1508.644714][T23137] BTRFS info (device loop3): enabling ssd optimizations [ 1508.655773][T23137] BTRFS info (device loop3): auto enabling async discard [ 1508.718932][T15289] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 1508.734303][T15289] usb 5-1: USB disconnect, device number 22 19:30:22 executing program 0: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) 19:30:22 executing program 1: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) 19:30:22 executing program 3: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1000000, 0x4f, &(0x7f0000000200)=[{&(0x7f0000010000)="079b9c3b000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000001000000000001000000000000005f42485266535f4d08000000000000000060510000000000001010000000000000000000000000000000000000000000000000010000000000e000000000000006000000000000000100000000000000001000000010000000100000001000006100000005000000000000000000000000000000030000000000000045030000000000000000000000010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a54759915700"/320, 0x140, 0x10000}, {&(0x7f0000010140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x10220}, {&(0x7f0000010160)="00000000000000000000000001000000000000e4000010000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c7813300"/128, 0x80, 0x10320}, {&(0x7f00000101e0)="0000000000000000000000003050000000000005000000000000000010100000000000050000000000000000805000000000000500000000000000001050000000000005000000000000000040500000000000050000000000000000905000000000000500000000000000000000010000000000900000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000006000000000000000010100000000000050000000000000000205000000000000600000000000000001050000000000005000000000000000040500000000000050000000000000000905000000000000500000000000000000000010000000000900000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004051000000000007000000000000000010100000000000050000000000000000205100000000000700000000000000003050000000000007000000000000000050510000000000070000000000000000105100000000000700000000000000000000010000000000e00000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000006051000000000008000000000000000010100000000000050000000000000000705100000000000800000000000000003050000000000007000000000000000050510000000000070000000000000000105100000000000700000000000000000000010000000000e0000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100", 0x2a0, 0x10b20}, {&(0x7f0000010480)="fd74b0ae000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160300000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/224, 0xe0, 0x100000}, {&(0x7f0000010560)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000dbe8c5919a7845b3b6331998e7c7813300001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000dbe8c5919a7845b3b6331998e7c7813300004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157e3e5847b000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157001010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000030000000000000004000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e0000500000000001000000000000e40000690000000000490e00005000"/576, 0x240, 0x100ea0}, {&(0x7f00000107a0)="000000000000000000000000000000001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000690000000000dbe8c5919a7845b3b6331998e7c7813300001900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000dbe8c5919a7845b3b6331998e7c7813300004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000720000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157850fbd94000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157002010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b160100000000000000030000000000000002000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e00005000"/512, 0x200, 0x101ea0}, {&(0x7f00000109a0)="000000000000000000000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000400000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157521829e6000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157003010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b160100000000000000040000000000000001000000000100000000000000cc00001000000000006b0f0000300000000000", 0x140, 0x102f40}, {&(0x7f0000010ae0)="0000000000000000000000000000000003000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b16cb8b181a000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157004010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b1601000000000000000500000000000000", 0xa0, 0x103fc0}, {&(0x7f0000010b80)="5639cee0000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157005010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b1601000000000000000700000000000000", 0x60, 0x105000}, {&(0x7f0000010be0)="81289f4c000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157006010000000000000000000000000015b49324fe82b47a0aff317c5a4c04b1601000000000000000a0000000000000002000000000000100000000000c60000400000000000930f0000080000000070100000000000c700903f0000000000930f00"/160, 0xa0, 0x106000}, {&(0x7f0000010c80)="0000000000000000000000000000000000000000000000000100000000000000cb507015000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157007010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160200000000000000040000000000000002000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f00003000"/192, 0xc0, 0x106fe0}, {&(0x7f0000010d40)="03000000000000000001000000000000000050000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b168c356c1b000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157008010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160200000000000000030000000000000003000000000100000000000000d80100000000000000390f0000620000000001000000000000e40000100000000000e90e0000500000000001000000000000e40000500000000000990e00005000"/288, 0x120, 0x107fa0}, {&(0x7f0000010e60)="1900000000000200000000000000000001000000000005000000000000000000010000000100001000000100010001000000000000000000500000000000dbe8c5919a7845b3b6331998e7c7813300004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000dbe8c5919a7845b3b6331998e7c78133010000000000000000000001000000000000590000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000dbe8c5919a7845b3b6331998e7c781332605e9f1971748658d43d0a547599157e32bee0e000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157009010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16020000000000000002000000000000000b000000000000100000000000c00000400000000000830f0000180000000040100000000000a900000000000000006b0f0000180000000040100000000000b005000000000000006b0f0000000000000050100000000000a90000000000000000530f0000180000000050100000000000b00700000000000000530f0000000000000070100000000000a90000000000000000320f0000210000000080100000000000a90000000000000000110f0000210000000090100000000000a90000000000000000f00e00002100000000a0100000000000a90000000000000000cf0e0000210000000000500000000000a90000000000000000ae0e0000210000000000500000000000c00000190000000000960e0000180000000000500000000000c00000190000000000b70e0000180000000060100000000000b00a000000000000000b0f0000000000000000500000000000c00000190000000000f30e0000180000000060100000000000b00a00000000000000f30e0000000000000000500000000000c00000190000000000db0e00001800"/768, 0x300, 0x108f00}, {&(0x7f0000011160)="000000000000000000000000000000000000000000000000000000001000000000000000010000000000000500000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00a00000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000006000000000000000010000000000000200000000000000667bb055000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700a010000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1602000000000000000a0000000000000006000000000000100000000000c60000400000000000930f0000080000000000100000000000c70040000000000000930f0000000000000060100000000000c70010000000000000930f00000000000000b0100000000000c700503f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000010500000000000c700f01800000000008b0f00"/544, 0x220, 0x109ee0}, {&(0x7f0000011380)="0000000000000000000000000000000001000000000000000300000000000000", 0x20, 0x10afe0}, {&(0x7f00000113a0)="1c9ebaab000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16060000000000000001000000000000000b000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b70100000a000000000000008400000000000000006f040000b7010000f7ffffffffffffff840000000000000000b8020000b70100"/384, 0x180, 0x500000}, {&(0x7f0000011520)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000b0500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x5003a0}, {&(0x7f00000115a0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x5004c0}, {&(0x7f0000011600)="0000000000000000000000000000000000000000060000000000000000000000000000000050500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x500560}, {&(0x7f0000011680)="00000000000000000000000500000000000000000000000000000000c050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x500720}, {&(0x7f00000116e0)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x500840}, {&(0x7f0000011720)="0000050000000000000000000000000000000090500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x5008e0}, {&(0x7f0000011780)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f63000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5009e0}, {&(0x7f00000118a0)="0000000000000000000005000000000000000001000000000000001050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000000083846e789d15434ea40d83e72ad7f08b00"/128, 0x80, 0x500b60}, {&(0x7f0000011920)="0000000000000000000000000000000000681f1f630000000000000000681f1f6300"/64, 0x40, 0x500c00}, {&(0x7f0000011960)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x500c80}, {&(0x7f00000119c0)="000000000000000000000000000000000000050000000000000000000000000000000040500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x500d20}, {&(0x7f0000011a40)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x500e40}, {&(0x7f0000011a80)="000000000000000000060000000000000000000000000000000020500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x500ee0}, {&(0x7f0000011ae0)="9152bbdc000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157001050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000050000000000000002000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/160, 0xa0, 0x501000}, {&(0x7f0000011b80)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000998f2afc000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157002050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16060000000000000002000000000000000c000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000a90000000000000000410f0000210000000000500000000000c00000190000000000290f0000180000000010500000000000a90000000000000000080f0000210000000020500000000000a90000000000000000e70e0000210000000040500000000000a90000000000000000c60e0000210000000050500000000000a90000000000000000a50e0000210000000090500000000000a90000000000000000840e00002100000000b0500000000000a90000000000000000630e00002100000000c0500000000000a90000000000000000420e0000210000000000690000000000c000001900000000002a0e0000180000000000690000000000c000001900000000002a0e0000180000000000690000000000c00000190000000000090e0000180000000060100000000000b00a00000000000000f30e0000000000000000500000000000c00000190000000000db0e00001800"/704, 0x2c0, 0x501f40}, {&(0x7f0000011e40)="00000000000000000000000000000000000000000000010000000000000500000000000000010000000000000005000000000000000000010000000000000500000000000000010000000000000005000000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000005000000000000000200000000000000b00500000000000000008000000000000000010000000000000500000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000006b55e197000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157003050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1607000000000000000500000000000000020000000100010000000000000100000000000000000000510000000000070000000000000002010000000000006c0000000000000000006050000000000007", 0x260, 0x502e40}, {&(0x7f00000120a0)="83606d90000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157004050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000040000000000000003000000000100000000000000cc00001000000000006b0f0000300000000100000000000000cc00005000000000003b0f0000300000000100000000000000cc00006900000000000b0f00003000"/192, 0xc0, 0x504000}, {&(0x7f0000012160)="0000000000000000000000000000000003000000000000000001000000000000000069000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000050000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b16f0612ba4000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157005050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1606000000000000000a000000000000000a000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000030500000000000c700100000000000008b0f0000000000000060500000000000c700300000000000008b0f00000000000000a0500000000000c700100000000000008b0f00000000000000d0500000000000c700301800000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00000000000000", 0x200, 0x504f60}, {&(0x7f0000012360)="0000000000000000010000000000000004000000000000000200000000000000a38a0043000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157006050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000005000000000000000f0000000002010000000000006c00000000000000006c0b00002f0400000301000000000000010000000000000000cc0a0000a000000003010000000000000c0101000000000000bd0a00000f00000003010000000000006c0000000000000000810a00003c0000000401000000000000010000000000000000e1090000a000000004010000000000000c0001000000000000d20900000f00000004010000000000001822a8f12600000000a30900002f000000040100000000000018d65ba13500000000740900002f00000004010000000000006c0000000000000000550900001f0000000501000000000000010000000000000000b5080000a000000005010000000000000c0001000000000000970800001e00000005010000000000006c000000000000000062080000350000000601000000000000010000000000000000c2070000a000000006010000000000000c0001000000000000af0700001300000006010000000000006c0000000000000000360700007900000000000000", 0x200, 0x505fe0}, {&(0x7f0000012560)="00000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed81000000000000000000000000000000000000110000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000000030000000000000000000000100d05000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed81000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150370700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e313634333630373735392f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c99aab0c5000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157007050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1604000000000000000a0000000000000009000000000000100000000000c60000400000000000930f0000080000000010100000000000c70040000000000000930f0000000000000060100000000000c700a03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000010500000000000c700100000000000008b0f0000000000000030500000000000c700200000000000008b0f0000000000000080500000000000c700801800000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f", 0x9c0, 0x506780}, {&(0x7f0000012f20)="00000000000000000100000000000000030000000000000002000000000000001f882222000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157008050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16050000000000000002000000000000000c000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000c000001900000000004a0f0000180000000010500000000000a90000000000000000290f0000210000000030500000000000a90000000000000000080f0000210000000040500000000000a90000000000000000e70e0000210000000080500000000000a90000000000000000c60e0000210000000090500000000000a90000000000000000a50e00002100000000a0500000000000a90000000000000000840e00002100000000b0500000000000a90000000000000000630e00002100000000c0500000000000a90000000000000000420e0000210000000000690000000000c000001900000000002a0e0000180000000000690000000000c00000190000000000750e0000180000000000500000000000c00000190000000000f30e0000180000000060100000000000b00a00000000000000f30e0000000000000000500000000000c00000190000000000db0e00001800"/544, 0x220, 0x507fe0}, {&(0x7f0000013140)="000000000000000000000000000000000000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00200000000000000010000000000000005000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00100000000000000010000000000000005000000000000000200000000000000b00500000000000000008000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000002b43ce2a000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157009050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1605000000000000000700000000000000", 0x1e0, 0x508e80}, {&(0x7f0000013320)="88ede0d1000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700a050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1605000000000000000a000000000000000a000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000000500000000000c700100000000000008b0f0000000000000020500000000000c700100000000000008b0f0000000000000050500000000000c700300000000000008b0f00000000000000d0500000000000c700301800000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00000000000000", 0x160, 0x50a000}, {&(0x7f0000013480)="00000000000000000100000000000000040000000000000002000000000000004b65b29a000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700b050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c00"/192, 0xc0, 0x50afe0}, {&(0x7f0000013540)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f6300000000000000000000000000000000000000006033acbd000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a54759915700c050000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1605000000000000000900000000000000010000000083846e789d15434efba40d83e72ad7f08b930f0000080000000000", 0x140, 0x50bf40}, {&(0x7f0000013680)="0000000000000000000000000000000000000000000000000500000000000000", 0x20, 0x50cfe0}, {&(0x7f00000136a0)="c4ae45e9000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160700000000000000050000000000000014000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e0000230000000001000000000000600200000000000000190e0000230000000001000000000000600300000000000000f60d0000230000000001000000000000600400000000000000d30d0000230000000001000000000000600500000000000000b00d0000230000000001000000000000600600000000000000890d0000270000000101000000000000010000000000000000e90c0000a000000001010000000000000c0001000000000000da0c00000f0000000101000000000000544bae790400000000b70c000023000000010100000000000054482d12f600000000940c0000230000000101000000000000600200000000000000710c00002300000001010000000000006003000000000000004e0c0000230000000201000000000000010000000000000000ae0b0000a000000002010000000000000c01010000000000009f0b00000f00"/608, 0x260, 0x510000}, {&(0x7f0000013900)="000000000200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed81000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503703010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000150000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503706010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f6300000000000000006a1f1f63000000001b5150376a1f1f63000000001b515037681f1f63000000000000000098451433000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157001051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000007000000000000000100000000f6ffffffffffffff8000d05000000000008f0f00000c0000000000", 0x480, 0x510c00}, {&(0x7f0000013d80)="00000000000000000000000000000000000000008941f9988941f9988941f998a5265e12000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157002051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000002000000000000000f000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000c000001900000000004a0f0000180000000030500000000000a90100000000000000290f0000210000000060500000000000a90000000000000000080f00002100000000b0500000000000a90000000000000000e70e00002100000000c0500000000000a90000000000000000c60e00002100000000d0500000000000a80030000000000000910e0000350000000000510000000000a90000000000000000700e0000210000000010510000000000a900000000000000004f0e0000210000000020510000000000a900000000000000002e0e0000210000000030510000000000a900000000000000000d0e0000210000000040510000000000a90000000000000000ec0d0000210000000050510000000000a90000000000000000cb0d0000210000000000690000000000c00000190000000000b30d00001800000000000000", 0x200, 0x511fe0}, {&(0x7f0000013f80)="00010000000000000500000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b0050000000000000000d000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b003000000000000000010000000000000000100000000000002000000000000004d9993c3000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157003051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1607000000000000000a000000000000000a000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000000500000000000c700300000000000008b0f0000000000000040500000000000c700200000000000008b0f0000000000000070500000000000c700400000000000008b0f0000000000000060510000000000c700a01700000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00000000000000", 0x340, 0x512e20}, {&(0x7f00000142c0)="000000000000000001000000000000000400000000000000020000000000000029b821fe000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157004051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000001000000000000000b000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b70100000a000000000000008400000000000000006f040000b7010000f7ffffffffffffff840000000000000000b8020000b70100"/416, 0x1a0, 0x513fe0}, {&(0x7f0000014460)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000b0500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x5143a0}, {&(0x7f00000144e0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x5144c0}, {&(0x7f0000014540)="0000000000000000000000000000000000000000070000000000000000000000000000000030510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x514560}, {&(0x7f00000145c0)="00000000000000000000000500000000000000000000000000000000c050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x514720}, {&(0x7f0000014620)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x514840}, {&(0x7f0000014660)="0000070000000000000000000000000000000010510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x5148e0}, {&(0x7f00000146c0)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f63000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x5149e0}, {&(0x7f0000014800)="0000000000000000000007000000000000000001000000000000003050000000000000000000000000000030000000000000000000000000000000000000000000000100000000000000000000000000000000000000000001070000000000000083846e789d15434ea40d83e72ad7f08b000000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000006a1f1f6300000000ac597939681f1f6300"/224, 0xe0, 0x514b60}, {&(0x7f00000148e0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x514c80}, {&(0x7f0000014940)="000000000000000000000000000000000000070000000000000000000000000000000050510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x514d20}, {&(0x7f00000149c0)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x514e40}, {&(0x7f0000014a00)="000000000000000000070000000000000000000000000000000020510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x514ee0}, {&(0x7f0000014a60)="f27849a2000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157005051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b160700000000000000040000000000000004000000000000000000000000f90100000000000000730f0000280000000100000000000000cc0000100000000000430f0000300000000100000000000000cc0000500000000000130f0000300000000100000000000000cc0000690000000000e30e00003000"/224, 0xe0, 0x515000}, {&(0x7f0000014b40)="000000000000000003000000000000000001000000000000000069000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000050000000000000001900000000005b49324fe82b47a0aff317c5a4c04b1603000000000000000001000000000000000010000000000000004000000000005b49324fe82b47a0aff317c5a4c04b1600000000000000000000000000000000000000000000000000000000000000000000000000000000bc95f9d0000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157006051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16080000000000000001000000000000000b000000000200000000000000840000000000000000e40d0000b701000004000000000000008400000000000000002d0c0000b701000005000000000000000c06000000000000001c0c0000110000000500000000000000840000000000000000650a0000b70100000600000000000000010000000000000000c5090000a000000006000000000000000c0600000000000000b90900000c000000060000000000000054d2c2bf8d0000000094090000250000000700000000000000840000000000000000dd070000b7010000090000000000000084000000000000000026060000b70100000a000000000000008400000000000000006f040000b7010000f7ffffffffffffff840000000000000000b8020000b70100"/576, 0x240, 0x515f40}, {&(0x7f0000014d80)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000b0500000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x5163a0}, {&(0x7f0000014e00)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x5164c0}, {&(0x7f0000014e60)="0000000000000000000000000000000000000000080000000000000000000000000000000080510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x516560}, {&(0x7f0000014ee0)="00000000000000000000000500000000000000000000000000000000c050000000000000000000000000000010000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x516720}, {&(0x7f0000014f40)="000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x516840}, {&(0x7f0000014f80)="0000070000000000000000000000000000000010510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x5168e0}, {&(0x7f0000014fe0)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f63000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x5169e0}, {&(0x7f0000015120)="0000000000000000000007000000000000000001000000000000003050000000000000000000000000000030000000000000000000000000000000000000000000000100000000000000000000000000000000000000000001070000000000000083846e789d15434ea40d83e72ad7f08b000000000000000000000000000000000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000006a1f1f6300000000ac597939681f1f6300"/224, 0xe0, 0x516b60}, {&(0x7f0000015200)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x516c80}, {&(0x7f0000015260)="000000000000000000000000000000000000070000000000000000000000000000000050510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x516d20}, {&(0x7f00000152e0)="00000000000000000001000000000000000000000000000000030000000000000000100000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x516e40}, {&(0x7f0000015320)="000000000000000000080000000000000000000000000000000070510000000000000000000000000000100000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x516ee0}, {&(0x7f0000015380)="109c2a1e000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157007051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16080000000000000002000000000000000f000000000000100000000000c00000400000000000830f0000180000000010100000000000a90000000000000000620f0000210000000000500000000000c000001900000000004a0f0000180000000030500000000000a90100000000000000290f0000210000000060500000000000a90000000000000000080f00002100000000b0500000000000a90000000000000000e70e00002100000000c0500000000000a90000000000000000c60e00002100000000d0500000000000a80030000000000000910e0000350000000000510000000000a90000000000000000700e0000210000000010510000000000a900000000000000004f0e0000210000000050510000000000a900000000000000002e0e0000210000000060510000000000a900000000000000000d0e0000210000000070510000000000a90000000000000000ec0d0000210000000080510000000000a90000000000000000cb0d0000210000000000690000000000c00000190000000000b30d00001800000000000000", 0x1e0, 0x517000}, {&(0x7f0000015560)="00010000000000000500000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00500000000000000010000000000000007000000000000000200000000000000b0050000000000000000d000000000000000010000000000000500000000000000010000000000000005000000000000000200000000000000b0030000000000000000100000000000000001000000000000020000000000000013bb4a3e000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157008051000000000001000000000000015b49324fe82b47a0aff317c5a4c04b1608000000000000000a000000000000000b000000000000100000000000c60000400000000000930f0000080000000000100000000000c70010000000000000930f0000000000000020100000000000c700e03f0000000000930f0000000000000000500000000000c600001900000000008b0f0000080000000000500000000000c700300000000000008b0f0000000000000040500000000000c700200000000000008b0f0000000000000070500000000000c700400000000000008b0f0000000000000020510000000000c700300000000000008b0f0000000000000090510000000000c700701700000000008b0f0000000000000000690000000000c60000190000000000830f0000080000000000690000000000c70000190000000000830f00"/864, 0x360, 0x517e20}, {&(0x7f00000158c0)="0000000000000000010000000000000005000000000000000200000000000000", 0x20, 0x518fe0}, {&(0x7f00000158e0)="5bac4b39000000000000000000000000000000000000000000000000000000002605e9f1971748658d43d0a547599157000069000000000001000000000000015b49324fe82b47a0aff317c5a4c04b16070000000000000005000000000000001b000000000001000000000000010000000000000000fb0e0000a000000000010000000000000c0001000000000000ef0e00000c0000000001000000000000544bae790400000000cc0e0000230000000001000000000000546b826b1100000000a50e000027000000000100000000000054bf5d291700000000820e000023000000000100000000000054bcde42e5000000005f0e000023000000000100000000000054482d12f6000000003c0e00002300000001010000000000000100000000000000009c0d0000a000000001010000000000000c00010000000000008d0d00000f0000000101000000000000544bae7904000000006a0d000023000000010100000000000054482d12f600000000470d0000230000000201000000000000010000000000000000a70c0000a000000002010000000000000c0101000000000000980c00000f00000002010000000000006c0000000000000000690800002f0400000301000000000000010000000000000000c9070000a000000003010000000000000c0101000000000000ba0700000f00000003010000000000006c00000000000000007e0700003c0000000401000000000000010000000000000000de060000a000000004010000000000000c0001000000000000cf0600000f00000004010000000000001822a8f12600000000a00600002f000000040100000000000018d65ba13500000000710600002f00000004010000000000006c0000000000000000520600001f0000000501000000000000010000000000000000b2050000a000000005010000000000000c0001000000000000940500001e0000000601000000000000010000000000000000f4040000a000000006010000000000000c0001000000000000e10400001300000006010000000000006c0000000000000000680400007900"/800, 0x320, 0x690000}, {&(0x7f0000015c00)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff81000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150370400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150370700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e313634333630373735392f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503707000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff81000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503703010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff41000000000000000000000000000000000000130000000000000000000000000000000000000000000000000000000000000000000000000000006a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b5150376a1f1f63000000001b51503704010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000100000000000000000000000000000010000000000000000000000ed4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000681f1f630000000000000000", 0xb40, 0x6904c0}], 0x0, &(0x7f0000016740), 0x1) 19:30:22 executing program 5: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) 19:30:22 executing program 2: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) 19:30:22 executing program 4: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000006c0)='/proc/stat\x00', 0x0, 0x0) connect$pppl2tp(0xffffffffffffffff, &(0x7f00000000c0)=@pppol2tpv3in6={0x18, 0x1, {0x0, r0, 0x0, 0x0, 0x0, 0x0, {0xa, 0x4e23, 0x2, @loopback}}}, 0x3a) ioctl$KVM_GET_API_VERSION(r0, 0xae00, 0x0) syz_usb_connect$cdc_ecm(0x2, 0x59, &(0x7f0000000000)={{0x12, 0x1, 0x201, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x47, 0x1, 0x1, 0x2, 0x10, 0x58, [{{0x9, 0x4, 0x0, 0x20, 0x2, 0x2, 0x6, 0x0, 0x7f, {{0x8, 0x24, 0x6, 0x0, 0x0, '5p}'}, {0x5, 0x24, 0x0, 0x80}, {0xd, 0x24, 0xf, 0x1, 0x67e, 0x7, 0x1000}}, {[{{0x9, 0x5, 0x81, 0x3, 0x200, 0x20, 0x80}}], {{0x9, 0x5, 0x82, 0x2, 0x20, 0x6, 0x4e}}, {{0x9, 0x5, 0x3, 0x2, 0x20, 0x0, 0x4, 0x5}}}}}]}}]}}, &(0x7f0000000600)={0x0, 0x0, 0x16c, &(0x7f0000000700)=ANY=[@ANYBLOB="050f6c010520100a000501000000f0c9050000ff00f0c000000000ff000f0000000000000042100b71b55665de1b0b0a6432d7aa49b16a8809c1e620ad5cbe70c06e6f803f2b5842eb7758d92e82ea221020ff28c16c3f83d918ee718ce8caef80d39e0879c6d207100200b900000a100300080008090010f4100bdda1527b9d3d53a835380970541798c502f73e72804a227754e2ca4a8bba0bca0e50d9358e67eb28d89d579d973796edb1a326f13f6050ccd7aa5c"], 0x8, [{0x5d, &(0x7f0000000180)=@string={0x5d, 0x3, "aa77cf68efe92b50ab6b574d1e07536b1373a77e656989de85c4ce2dbe93be33d9fa419da471303503450596523c2e0b09aa16451ff9a8d91e3e3f207865131416407da4f2e4b52573b050839dd4f2af4e393dc8ac8acc15cc3a72"}}, {0x54, &(0x7f0000000280)=@string={0x54, 0x3, "b71a4f35b14a01975f18179e81ec545a0223a3a2f3d102a6622bc2807a4d0fd03c0ff19a6078da1358a623aeabedbba084d035e33b5d66c653f475361cc040109c42eed3328a5ed119544351049c08e8af01"}}, {0xbb, &(0x7f0000000380)=@string={0xbb, 0x3, "ed7d387b66296339e51803c1a4e217e5ff36f9b973328dfc2b54b9f0d81abc86800d04b8a035c227a75c14c9fb519dba9d364217a0386b184133b6979f5d2cc69e669082605a5526bbf685aafd4b0f25f31b16ad877e74d8fa07d2ec0db0c65e992bc3ff795846d1d8bb0ed599841814922feb1814e370478dbd6ae050e96415745edd2d8094755bdd44be7229c09927e25a7e63da6765f49e110c00f842008e3d6316ed4e2de0da65038dfad47a8ea7bb7a978426088f44ec"}}, {0x4, &(0x7f0000000480)=@lang_id={0x4, 0x3, 0x41e}}, {0x14, &(0x7f00000004c0)=@string={0x14, 0x3, "07b2f93a401e4ba078309609ef268178c678"}}, {0x2, &(0x7f0000000500)=@string={0x2}}, {0x4, &(0x7f0000000580)=@lang_id={0x4}}, {0x4, &(0x7f00000005c0)=@lang_id={0x4, 0x3, 0x827}}]}) 19:30:22 executing program 1: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) 19:30:22 executing program 0: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) [ 1509.216295][T23165] loop5: detected capacity change from 0 to 264192 [ 1509.228358][T23166] loop3: detected capacity change from 0 to 32768 [ 1509.228777][T23168] loop2: detected capacity change from 0 to 264192 [ 1509.290088][T23166] BTRFS info (device loop3): using crc32c (crc32c-intel) checksum algorithm 19:30:22 executing program 5: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) 19:30:22 executing program 2: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) [ 1509.336852][T23166] BTRFS info (device loop3): using free space tree 19:30:22 executing program 0: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) 19:30:22 executing program 1: mkdir(&(0x7f0000000180)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000000)='devpts\x00', 0x0, 0x0) r0 = open$dir(&(0x7f0000000040)='./file0\x00', 0x0, 0x0) getdents64(r0, &(0x7f0000000080)=""/182, 0x18) getdents(r0, &(0x7f0000000200)=""/33, 0x21) r1 = dup2(r0, r0) getdents64(r1, &(0x7f0000000240)=""/4096, 0x1000) 19:30:22 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000006c0)='/proc/stat\x00', 0x0, 0x0) connect$pppl2tp(0xffffffffffffffff, &(0x7f00000000c0)=@pppol2tpv3in6={0x18, 0x1, {0x0, r0, 0x0, 0x0, 0x0, 0x0, {0xa, 0x4e23, 0x2, @loopback}}}, 0x3a) ioctl$KVM_GET_API_VERSION(r0, 0xae00, 0x0) syz_usb_connect$cdc_ecm(0x2, 0x59, &(0x7f0000000000)={{0x12, 0x1, 0x201, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x47, 0x1, 0x1, 0x2, 0x10, 0x58, [{{0x9, 0x4, 0x0, 0x20, 0x2, 0x2, 0x6, 0x0, 0x7f, {{0x8, 0x24, 0x6, 0x0, 0x0, '5p}'}, {0x5, 0x24, 0x0, 0x80}, {0xd, 0x24, 0xf, 0x1, 0x67e, 0x7, 0x1000}}, {[{{0x9, 0x5, 0x81, 0x3, 0x200, 0x20, 0x80}}], {{0x9, 0x5, 0x82, 0x2, 0x20, 0x6, 0x4e}}, {{0x9, 0x5, 0x3, 0x2, 0x20, 0x0, 0x4, 0x5}}}}}]}}]}}, &(0x7f0000000600)={0x0, 0x0, 0x16c, &(0x7f0000000700)=ANY=[@ANYBLOB="050f6c010520100a000501000000f0c9050000ff00f0c000000000ff000f0000000000000042100b71b55665de1b0b0a6432d7aa49b16a8809c1e620ad5cbe70c06e6f803f2b5842eb7758d92e82ea221020ff28c16c3f83d918ee718ce8caef80d39e0879c6d207100200b900000a100300080008090010f4100bdda1527b9d3d53a835380970541798c502f73e72804a227754e2ca4a8bba0bca0e50d9358e67eb28d89d579d973796edb1a326f13f6050ccd7aa5c"], 0x8, [{0x5d, &(0x7f0000000180)=@string={0x5d, 0x3, "aa77cf68efe92b50ab6b574d1e07536b1373a77e656989de85c4ce2dbe93be33d9fa419da471303503450596523c2e0b09aa16451ff9a8d91e3e3f207865131416407da4f2e4b52573b050839dd4f2af4e393dc8ac8acc15cc3a72"}}, {0x54, &(0x7f0000000280)=@string={0x54, 0x3, "b71a4f35b14a01975f18179e81ec545a0223a3a2f3d102a6622bc2807a4d0fd03c0ff19a6078da1358a623aeabedbba084d035e33b5d66c653f475361cc040109c42eed3328a5ed119544351049c08e8af01"}}, {0xbb, &(0x7f0000000380)=@string={0xbb, 0x3, "ed7d387b66296339e51803c1a4e217e5ff36f9b973328dfc2b54b9f0d81abc86800d04b8a035c227a75c14c9fb519dba9d364217a0386b184133b6979f5d2cc69e669082605a5526bbf685aafd4b0f25f31b16ad877e74d8fa07d2ec0db0c65e992bc3ff795846d1d8bb0ed599841814922feb1814e370478dbd6ae050e96415745edd2d8094755bdd44be7229c09927e25a7e63da6765f49e110c00f842008e3d6316ed4e2de0da65038dfad47a8ea7bb7a978426088f44ec"}}, {0x4, &(0x7f0000000480)=@lang_id={0x4, 0x3, 0x41e}}, {0x14, &(0x7f00000004c0)=@string={0x14, 0x3, "07b2f93a401e4ba078309609ef268178c678"}}, {0x2, &(0x7f0000000500)=@string={0x2}}, {0x4, &(0x7f0000000580)=@lang_id={0x4}}, {0x4, &(0x7f00000005c0)=@lang_id={0x4, 0x3, 0x827}}]}) [ 1509.491773][T23182] loop5: detected capacity change from 0 to 264192 [ 1509.528130][ T5303] usb 5-1: new full-speed USB device number 23 using dummy_hcd 19:30:23 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x2) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) [ 1509.551453][T23189] loop2: detected capacity change from 0 to 264192 [ 1509.625289][T23166] BTRFS info (device loop3): enabling ssd optimizations [ 1509.650664][T23166] BTRFS info (device loop3): auto enabling async discard 19:30:23 executing program 5: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) 19:30:23 executing program 2: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f00000000c0)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10004}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x1210010, &(0x7f0000013b00)=ANY=[], 0x1) r0 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000180)='.log\x00', 0x40441, 0x0) ioctl$EXT4_IOC_GROUP_ADD(r0, 0xc0185879, &(0x7f0000000080)={0x0, 0xffffffff}) [ 1509.828261][T15289] usb 1-1: new full-speed USB device number 22 using dummy_hcd [ 1509.921450][T23211] loop5: detected capacity change from 0 to 264192 [ 1509.938237][ T5303] usb 5-1: not running at top speed; connect to a high speed hub [ 1510.018540][ T5303] usb 5-1: config 1 interface 0 altsetting 32 endpoint 0x81 has invalid maxpacket 512, setting to 64 [ 1510.032800][ T5303] usb 5-1: config 1 interface 0 altsetting 32 has 3 endpoint descriptors, different from the interface descriptor's value: 2 [ 1510.069744][ T5303] usb 5-1: config 1 interface 0 has no altsetting 0 19:30:23 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000180)) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001780), 0x0, 0x40cc1) socket$nl_route(0x10, 0x3, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) r4 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000000280)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000023000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020e0e4a9446c7670568982b4e420f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa15a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1beeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0ebbcfca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000459ff4b40000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b98008006c4a00000000ff435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb48ba96e1010000000000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff0158929646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969ced595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30fa94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7dfa2e5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9022ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca378e676c3e08c1ed43ca8d3d10994c0b58645ac518a75fde7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d34b5457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464b635197351a5ef0a0fb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8d06000000000000001737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d060000000000000062eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa370ac891e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101293373750d1a8fe64680b0a3fc22dd704e4214de5944912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466a000000003bc13c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c786800007eaa69eb7f7f80772fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e89fc745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d72331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebe660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569ed7aa287378c697f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f8370541be9f2c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9b24accfecb0f477db1034632f2847e6ade5b9e065ec0d0ba58fedae5f08818fea475b169469f9efd131925d98c34b3b47e5c46d121ad5087e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929d210bf5858e2a4ff8e8d1e8adcceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e7c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f463457a1a5ac233932449c9344c5ad4a700bbded86258206046f556589f5627ab2751eb34d940519f009412098398ad822a8509d2d32da656ac5935e4c7f9503ce4daf13300dfd611528049310544d3e8613926fbe2647e258932592c9123f1c74023144442d09ef90c64950176c666da6b658108ac54beb2379aa70501c42bd9c4e4f426ab5ff2a33767b408ed19e399c33b52abc4ac24da0d4cf07d93029583591c33f0f80513c541581977f2e9735e1edb66fdb2722eb4b0b670ba74fdee2f1a3cf85777af5d8267acaa9d83c23a4b40d0f53dce003c03c5959e405fc4f2c05d3394f014a39caabbeff7c7cadbdc57def7f5f758aa46b6e2fddc779770d7e395c4ac2a136a30e7c0a301dffc5565d7244fb29cd302c36e76221a3c4e21559216c078f06b01885a83da16bf8548776a0ae88dfeccc9ad64d2fe3cfdeb9684b7b7e5c00f7323f8214ed01950f6dde258b872042c82ddbd6a75c1adbedef4d5d69b246a5a36ab802b0161908e748ed9891678c228413bf51b18a25bf776b9d1f1ffdf97cf5e7de4455ea359e5796bd60cc415066fc271a2bdb7db13e72d1a99b375ff874037faf6a1d1aacf46a57346d000000000000000085c1b64dd5178485ad0f8557ccae7c06a40e8bd2ce76927bb0923dc380fd153cd2ce1242bc0a6e0fff9cfb70d41b02414730f572ca2a4898426eb6d416ff14aaefebd84bd4000000000000000000dbd064fe868ff4929d489badcf5072c61231bec614423bbf7df2989db587bf49abc6ff4d842309a1fa7f268e2c453cd8b9a746d5c6e820453a377fb09f5799b43c1951f56c211170bc102a3437778676928a1b4bd8ddc8db197d6b63913e6dccc20ccb26bc231f142c502b3279d0aace2caf8c8f5edbfeffe6d5b3b34ad0f1a4cad44c5237a2fff1e8f8e0521313c30a9fb5fc54ae85d19599bb1c2283e3f7bb01a11a1845db6b8eba64b45f1c000000c0c4bef4bf3e1d9b0e1b4e4147d5eb0f9b9bfe80984650dce289524659d70fc7ab8485c054e51ad1bef44c5d6cfaaf7efb61be7c38820a4279d69ff337b0f3f9c2c55de05d1c3682c41f624e735c3ce0a7b0f3d784c96cc57c83e78b336cb4022c19917284534ea9efccef28374885759f39c444d78a3f78ec3bafb4af2e7a64c967c494264c3b36591eb2049ede272a00dc74628a45de9fd219c63f1f0e2e187071f9468f1f4b880ae18459f3790010aff9f89be79e7b81ed89139dd8152e5009fa164f36bce90c661b35022c1cbbdfc9aba07ebed92b94ff9f0e1dbc0a29d5799e3ecc8eb35f791a4fc7db9e97be3f944b2360e3c9a0d2b0ab83db2fc1c3d28efd06000000000000009082394c111ec071cdbd8556d7cf7c11236d699da109de535f64e008a175d11e80f96e10d8527d13e0e1f2b85ee7e542da3c7f32b5efd8422a000000004f340e690ff8575ae64142f5fe6482451c3671140d509a330ea366b4dcc95956629cafce32df51455f9cd7c343ba46790c0b3bc92271f2a55ddab15f1e2413656f1eadc8b70ca24073e310f9cb31c34bdfaca566ecf78cfad77533f3ee7f08765bb586eda50ffe21dce8d98bc9140f19108a7202aab27863f1181faad242296b46dbb9813b5e0cbaae9b1c76cfbae00a4cca32f34fe59dc907023f4da2db6896c27d23e2dff9363bbd910ed7bf88320ff36d3958606ee96ccc1bf272a84bfdc665010d48f6f20ab05f5fc2e9e401ef5d7126795caefaf6eb0a2553daf28412f13724c3e622ed49ee586c60b70c56d3bdec7c15e264c7581f739ac30fc5a84095bab5b7c5c642a552cfc214989cd325178aab229a57912d906f50f87855be6a025758f1402b03e04b5b1e28c6fda461e60cc168dca09392f2c5522c1eaea3f4639bd98a8e07665b7fcba6f34efc58a5d22f99a8a2060084ce18a4a2c51a44ca82644b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) socket$inet6(0xa, 0x6, 0x0) fallocate(0xffffffffffffffff, 0x3, 0x3000, 0x0) [ 1510.255263][ T5303] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1510.264471][ T5303] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1510.272932][ T5303] usb 5-1: Product: 緭笸⥦㥣ᣥ섃㛿맹㉳ﲍ含᫘蚼඀렄㖠⟂岧줔击몝㚝ᝂ㢠ᡫ㍁鞶嶟올暞芐婠♕ꪅ䯽┏᯳괖纇ߺ뀍廆⮙ᅢ塹텆믘픎蒙ᐘ⾒ᣫ䝰붍ᕤ年ⷝ钀孵䓝犾쀩➙嫢捾柚ᆞ 䋸踀挽ⵎͥ揄竔ꞎ窻蒗ࠦ䒏 [ 1510.300795][ T5303] usb 5-1: Manufacturer: ᪷㕏䪱霁ᡟ鸗婔⌂ꊣ퇳ꘂ⭢胂䵺퀏༼髱硠ᏚꙘ긣ꂻ킄崻왦㙵쀜၀䊜폮訲텞吙元鰄Ư [ 1510.308237][T15289] usb 1-1: not running at top speed; connect to a high speed hub [ 1510.316239][ T5303] usb 5-1: SerialNumber: О [ 1510.358626][T23171] raw-gadget.0 gadget.4: fail, usb_ep_enable returned -22 [ 1510.451329][T15289] usb 1-1: config 1 interface 0 altsetting 32 endpoint 0x81 has invalid maxpacket 512, setting to 64 [ 1510.471432][T15289] usb 1-1: config 1 interface 0 altsetting 32 has 3 endpoint descriptors, different from the interface descriptor's value: 2 [ 1510.495364][T15289] usb 1-1: config 1 interface 0 has no altsetting 0 [ 1510.844315][ T5303] cdc_ether: probe of 5-1:1.0 failed with error -22 [ 1511.064903][ T5303] usb 5-1: USB disconnect, device number 23 [ 1511.518388][T15289] usb 1-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1511.527468][T15289] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1511.540241][T15289] usb 1-1: Product: 緭笸⥦㥣ᣥ섃㛿맹㉳ﲍ含᫘蚼඀렄㖠⟂岧줔击몝㚝ᝂ㢠ᡫ㍁鞶嶟올暞芐婠♕ꪅ䯽┏᯳괖纇ߺ뀍廆⮙ᅢ塹텆믘픎蒙ᐘ⾒ᣫ䝰붍ᕤ年ⷝ钀孵䓝犾쀩➙嫢捾柚ᆞ 䋸踀挽ⵎͥ揄竔ꞎ窻蒗ࠦ䒏 [ 1511.575031][T15289] usb 1-1: Manufacturer: ᪷㕏䪱霁ᡟ鸗婔⌂ꊣ퇳ꘂ⭢胂䵺퀏༼髱硠ᏚꙘ긣ꂻ킄崻왦㙵쀜၀䊜폮訲텞吙元鰄Ư [ 1511.594793][T15289] usb 1-1: SerialNumber: О [ 1511.619165][T23190] raw-gadget.1 gadget.0: fail, usb_ep_enable returned -22 19:30:25 executing program 5: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) 19:30:25 executing program 2: r0 = syz_io_uring_setup(0x187, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000540)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000140), 0x0, 0x18}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_FADVISE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_EPOLL_CTL=@mod={0x1d, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x6eaa, 0x0, 0x0, 0x0, 0x0) 19:30:25 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x2) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) 19:30:25 executing program 4: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000006c0)='/proc/stat\x00', 0x0, 0x0) connect$pppl2tp(0xffffffffffffffff, &(0x7f00000000c0)=@pppol2tpv3in6={0x18, 0x1, {0x0, r0, 0x0, 0x0, 0x0, 0x0, {0xa, 0x4e23, 0x2, @loopback}}}, 0x3a) ioctl$KVM_GET_API_VERSION(r0, 0xae00, 0x0) syz_usb_connect$cdc_ecm(0x2, 0x59, &(0x7f0000000000)={{0x12, 0x1, 0x201, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x47, 0x1, 0x1, 0x2, 0x10, 0x58, [{{0x9, 0x4, 0x0, 0x20, 0x2, 0x2, 0x6, 0x0, 0x7f, {{0x8, 0x24, 0x6, 0x0, 0x0, '5p}'}, {0x5, 0x24, 0x0, 0x80}, {0xd, 0x24, 0xf, 0x1, 0x67e, 0x7, 0x1000}}, {[{{0x9, 0x5, 0x81, 0x3, 0x200, 0x20, 0x80}}], {{0x9, 0x5, 0x82, 0x2, 0x20, 0x6, 0x4e}}, {{0x9, 0x5, 0x3, 0x2, 0x20, 0x0, 0x4, 0x5}}}}}]}}]}}, &(0x7f0000000600)={0x0, 0x0, 0x16c, &(0x7f0000000700)=ANY=[@ANYBLOB="050f6c010520100a000501000000f0c9050000ff00f0c000000000ff000f0000000000000042100b71b55665de1b0b0a6432d7aa49b16a8809c1e620ad5cbe70c06e6f803f2b5842eb7758d92e82ea221020ff28c16c3f83d918ee718ce8caef80d39e0879c6d207100200b900000a100300080008090010f4100bdda1527b9d3d53a835380970541798c502f73e72804a227754e2ca4a8bba0bca0e50d9358e67eb28d89d579d973796edb1a326f13f6050ccd7aa5c"], 0x8, [{0x5d, &(0x7f0000000180)=@string={0x5d, 0x3, "aa77cf68efe92b50ab6b574d1e07536b1373a77e656989de85c4ce2dbe93be33d9fa419da471303503450596523c2e0b09aa16451ff9a8d91e3e3f207865131416407da4f2e4b52573b050839dd4f2af4e393dc8ac8acc15cc3a72"}}, {0x54, &(0x7f0000000280)=@string={0x54, 0x3, "b71a4f35b14a01975f18179e81ec545a0223a3a2f3d102a6622bc2807a4d0fd03c0ff19a6078da1358a623aeabedbba084d035e33b5d66c653f475361cc040109c42eed3328a5ed119544351049c08e8af01"}}, {0xbb, &(0x7f0000000380)=@string={0xbb, 0x3, "ed7d387b66296339e51803c1a4e217e5ff36f9b973328dfc2b54b9f0d81abc86800d04b8a035c227a75c14c9fb519dba9d364217a0386b184133b6979f5d2cc69e669082605a5526bbf685aafd4b0f25f31b16ad877e74d8fa07d2ec0db0c65e992bc3ff795846d1d8bb0ed599841814922feb1814e370478dbd6ae050e96415745edd2d8094755bdd44be7229c09927e25a7e63da6765f49e110c00f842008e3d6316ed4e2de0da65038dfad47a8ea7bb7a978426088f44ec"}}, {0x4, &(0x7f0000000480)=@lang_id={0x4, 0x3, 0x41e}}, {0x14, &(0x7f00000004c0)=@string={0x14, 0x3, "07b2f93a401e4ba078309609ef268178c678"}}, {0x2, &(0x7f0000000500)=@string={0x2}}, {0x4, &(0x7f0000000580)=@lang_id={0x4}}, {0x4, &(0x7f00000005c0)=@lang_id={0x4, 0x3, 0x827}}]}) 19:30:25 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000180)) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001780), 0x0, 0x40cc1) socket$nl_route(0x10, 0x3, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) r4 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000000280)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000023000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020e0e4a9446c7670568982b4e420f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa15a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1beeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0ebbcfca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000459ff4b40000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b98008006c4a00000000ff435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb48ba96e1010000000000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff0158929646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969ced595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30fa94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7dfa2e5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9022ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca378e676c3e08c1ed43ca8d3d10994c0b58645ac518a75fde7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d34b5457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464b635197351a5ef0a0fb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8d06000000000000001737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d060000000000000062eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa370ac891e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101293373750d1a8fe64680b0a3fc22dd704e4214de5944912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466a000000003bc13c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c786800007eaa69eb7f7f80772fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e89fc745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d72331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebe660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569ed7aa287378c697f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f8370541be9f2c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9b24accfecb0f477db1034632f2847e6ade5b9e065ec0d0ba58fedae5f08818fea475b169469f9efd131925d98c34b3b47e5c46d121ad5087e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929d210bf5858e2a4ff8e8d1e8adcceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e7c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f463457a1a5ac233932449c9344c5ad4a700bbded86258206046f556589f5627ab2751eb34d940519f009412098398ad822a8509d2d32da656ac5935e4c7f9503ce4daf13300dfd611528049310544d3e8613926fbe2647e258932592c9123f1c74023144442d09ef90c64950176c666da6b658108ac54beb2379aa70501c42bd9c4e4f426ab5ff2a33767b408ed19e399c33b52abc4ac24da0d4cf07d93029583591c33f0f80513c541581977f2e9735e1edb66fdb2722eb4b0b670ba74fdee2f1a3cf85777af5d8267acaa9d83c23a4b40d0f53dce003c03c5959e405fc4f2c05d3394f014a39caabbeff7c7cadbdc57def7f5f758aa46b6e2fddc779770d7e395c4ac2a136a30e7c0a301dffc5565d7244fb29cd302c36e76221a3c4e21559216c078f06b01885a83da16bf8548776a0ae88dfeccc9ad64d2fe3cfdeb9684b7b7e5c00f7323f8214ed01950f6dde258b872042c82ddbd6a75c1adbedef4d5d69b246a5a36ab802b0161908e748ed9891678c228413bf51b18a25bf776b9d1f1ffdf97cf5e7de4455ea359e5796bd60cc415066fc271a2bdb7db13e72d1a99b375ff874037faf6a1d1aacf46a57346d000000000000000085c1b64dd5178485ad0f8557ccae7c06a40e8bd2ce76927bb0923dc380fd153cd2ce1242bc0a6e0fff9cfb70d41b02414730f572ca2a4898426eb6d416ff14aaefebd84bd4000000000000000000dbd064fe868ff4929d489badcf5072c61231bec614423bbf7df2989db587bf49abc6ff4d842309a1fa7f268e2c453cd8b9a746d5c6e820453a377fb09f5799b43c1951f56c211170bc102a3437778676928a1b4bd8ddc8db197d6b63913e6dccc20ccb26bc231f142c502b3279d0aace2caf8c8f5edbfeffe6d5b3b34ad0f1a4cad44c5237a2fff1e8f8e0521313c30a9fb5fc54ae85d19599bb1c2283e3f7bb01a11a1845db6b8eba64b45f1c000000c0c4bef4bf3e1d9b0e1b4e4147d5eb0f9b9bfe80984650dce289524659d70fc7ab8485c054e51ad1bef44c5d6cfaaf7efb61be7c38820a4279d69ff337b0f3f9c2c55de05d1c3682c41f624e735c3ce0a7b0f3d784c96cc57c83e78b336cb4022c19917284534ea9efccef28374885759f39c444d78a3f78ec3bafb4af2e7a64c967c494264c3b36591eb2049ede272a00dc74628a45de9fd219c63f1f0e2e187071f9468f1f4b880ae18459f3790010aff9f89be79e7b81ed89139dd8152e5009fa164f36bce90c661b35022c1cbbdfc9aba07ebed92b94ff9f0e1dbc0a29d5799e3ecc8eb35f791a4fc7db9e97be3f944b2360e3c9a0d2b0ab83db2fc1c3d28efd06000000000000009082394c111ec071cdbd8556d7cf7c11236d699da109de535f64e008a175d11e80f96e10d8527d13e0e1f2b85ee7e542da3c7f32b5efd8422a000000004f340e690ff8575ae64142f5fe6482451c3671140d509a330ea366b4dcc95956629cafce32df51455f9cd7c343ba46790c0b3bc92271f2a55ddab15f1e2413656f1eadc8b70ca24073e310f9cb31c34bdfaca566ecf78cfad77533f3ee7f08765bb586eda50ffe21dce8d98bc9140f19108a7202aab27863f1181faad242296b46dbb9813b5e0cbaae9b1c76cfbae00a4cca32f34fe59dc907023f4da2db6896c27d23e2dff9363bbd910ed7bf88320ff36d3958606ee96ccc1bf272a84bfdc665010d48f6f20ab05f5fc2e9e401ef5d7126795caefaf6eb0a2553daf28412f13724c3e622ed49ee586c60b70c56d3bdec7c15e264c7581f739ac30fc5a84095bab5b7c5c642a552cfc214989cd325178aab229a57912d906f50f87855be6a025758f1402b03e04b5b1e28c6fda461e60cc168dca09392f2c5522c1eaea3f4639bd98a8e07665b7fcba6f34efc58a5d22f99a8a2060084ce18a4a2c51a44ca82644b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) socket$inet6(0xa, 0x6, 0x0) fallocate(0xffffffffffffffff, 0x3, 0x3000, 0x0) [ 1511.710936][ T26] kauditd_printk_skb: 12 callbacks suppressed [ 1511.710953][ T26] audit: type=1800 audit(1668195025.187:782): pid=23224 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=1212 res=0 errno=0 19:30:26 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000180)) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001780), 0x0, 0x40cc1) socket$nl_route(0x10, 0x3, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) r4 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000000280)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000023000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020e0e4a9446c7670568982b4e420f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa15a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1beeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0ebbcfca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000459ff4b40000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b98008006c4a00000000ff435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb48ba96e1010000000000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff0158929646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969ced595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30fa94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7dfa2e5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9022ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca378e676c3e08c1ed43ca8d3d10994c0b58645ac518a75fde7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d34b5457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464b635197351a5ef0a0fb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8d06000000000000001737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d060000000000000062eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa370ac891e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101293373750d1a8fe64680b0a3fc22dd704e4214de5944912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466a000000003bc13c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c786800007eaa69eb7f7f80772fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e89fc745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d72331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebe660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569ed7aa287378c697f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f8370541be9f2c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9b24accfecb0f477db1034632f2847e6ade5b9e065ec0d0ba58fedae5f08818fea475b169469f9efd131925d98c34b3b47e5c46d121ad5087e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929d210bf5858e2a4ff8e8d1e8adcceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e7c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f463457a1a5ac233932449c9344c5ad4a700bbded86258206046f556589f5627ab2751eb34d940519f009412098398ad822a8509d2d32da656ac5935e4c7f9503ce4daf13300dfd611528049310544d3e8613926fbe2647e258932592c9123f1c74023144442d09ef90c64950176c666da6b658108ac54beb2379aa70501c42bd9c4e4f426ab5ff2a33767b408ed19e399c33b52abc4ac24da0d4cf07d93029583591c33f0f80513c541581977f2e9735e1edb66fdb2722eb4b0b670ba74fdee2f1a3cf85777af5d8267acaa9d83c23a4b40d0f53dce003c03c5959e405fc4f2c05d3394f014a39caabbeff7c7cadbdc57def7f5f758aa46b6e2fddc779770d7e395c4ac2a136a30e7c0a301dffc5565d7244fb29cd302c36e76221a3c4e21559216c078f06b01885a83da16bf8548776a0ae88dfeccc9ad64d2fe3cfdeb9684b7b7e5c00f7323f8214ed01950f6dde258b872042c82ddbd6a75c1adbedef4d5d69b246a5a36ab802b0161908e748ed9891678c228413bf51b18a25bf776b9d1f1ffdf97cf5e7de4455ea359e5796bd60cc415066fc271a2bdb7db13e72d1a99b375ff874037faf6a1d1aacf46a57346d000000000000000085c1b64dd5178485ad0f8557ccae7c06a40e8bd2ce76927bb0923dc380fd153cd2ce1242bc0a6e0fff9cfb70d41b02414730f572ca2a4898426eb6d416ff14aaefebd84bd4000000000000000000dbd064fe868ff4929d489badcf5072c61231bec614423bbf7df2989db587bf49abc6ff4d842309a1fa7f268e2c453cd8b9a746d5c6e820453a377fb09f5799b43c1951f56c211170bc102a3437778676928a1b4bd8ddc8db197d6b63913e6dccc20ccb26bc231f142c502b3279d0aace2caf8c8f5edbfeffe6d5b3b34ad0f1a4cad44c5237a2fff1e8f8e0521313c30a9fb5fc54ae85d19599bb1c2283e3f7bb01a11a1845db6b8eba64b45f1c000000c0c4bef4bf3e1d9b0e1b4e4147d5eb0f9b9bfe80984650dce289524659d70fc7ab8485c054e51ad1bef44c5d6cfaaf7efb61be7c38820a4279d69ff337b0f3f9c2c55de05d1c3682c41f624e735c3ce0a7b0f3d784c96cc57c83e78b336cb4022c19917284534ea9efccef28374885759f39c444d78a3f78ec3bafb4af2e7a64c967c494264c3b36591eb2049ede272a00dc74628a45de9fd219c63f1f0e2e187071f9468f1f4b880ae18459f3790010aff9f89be79e7b81ed89139dd8152e5009fa164f36bce90c661b35022c1cbbdfc9aba07ebed92b94ff9f0e1dbc0a29d5799e3ecc8eb35f791a4fc7db9e97be3f944b2360e3c9a0d2b0ab83db2fc1c3d28efd06000000000000009082394c111ec071cdbd8556d7cf7c11236d699da109de535f64e008a175d11e80f96e10d8527d13e0e1f2b85ee7e542da3c7f32b5efd8422a000000004f340e690ff8575ae64142f5fe6482451c3671140d509a330ea366b4dcc95956629cafce32df51455f9cd7c343ba46790c0b3bc92271f2a55ddab15f1e2413656f1eadc8b70ca24073e310f9cb31c34bdfaca566ecf78cfad77533f3ee7f08765bb586eda50ffe21dce8d98bc9140f19108a7202aab27863f1181faad242296b46dbb9813b5e0cbaae9b1c76cfbae00a4cca32f34fe59dc907023f4da2db6896c27d23e2dff9363bbd910ed7bf88320ff36d3958606ee96ccc1bf272a84bfdc665010d48f6f20ab05f5fc2e9e401ef5d7126795caefaf6eb0a2553daf28412f13724c3e622ed49ee586c60b70c56d3bdec7c15e264c7581f739ac30fc5a84095bab5b7c5c642a552cfc214989cd325178aab229a57912d906f50f87855be6a025758f1402b03e04b5b1e28c6fda461e60cc168dca09392f2c5522c1eaea3f4639bd98a8e07665b7fcba6f34efc58a5d22f99a8a2060084ce18a4a2c51a44ca82644b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) socket$inet6(0xa, 0x6, 0x0) fallocate(0xffffffffffffffff, 0x3, 0x3000, 0x0) 19:30:26 executing program 5: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) [ 1512.638471][T23226] syz-executor.2: epoll_ctl support in io_uring is deprecated and will be removed in a future Linux kernel version. 19:30:26 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000006c0)='/proc/stat\x00', 0x0, 0x0) connect$pppl2tp(0xffffffffffffffff, &(0x7f00000000c0)=@pppol2tpv3in6={0x18, 0x1, {0x0, r0, 0x0, 0x0, 0x0, 0x0, {0xa, 0x4e23, 0x2, @loopback}}}, 0x3a) ioctl$KVM_GET_API_VERSION(r0, 0xae00, 0x0) syz_usb_connect$cdc_ecm(0x2, 0x59, &(0x7f0000000000)={{0x12, 0x1, 0x201, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x47, 0x1, 0x1, 0x2, 0x10, 0x58, [{{0x9, 0x4, 0x0, 0x20, 0x2, 0x2, 0x6, 0x0, 0x7f, {{0x8, 0x24, 0x6, 0x0, 0x0, '5p}'}, {0x5, 0x24, 0x0, 0x80}, {0xd, 0x24, 0xf, 0x1, 0x67e, 0x7, 0x1000}}, {[{{0x9, 0x5, 0x81, 0x3, 0x200, 0x20, 0x80}}], {{0x9, 0x5, 0x82, 0x2, 0x20, 0x6, 0x4e}}, {{0x9, 0x5, 0x3, 0x2, 0x20, 0x0, 0x4, 0x5}}}}}]}}]}}, &(0x7f0000000600)={0x0, 0x0, 0x16c, &(0x7f0000000700)=ANY=[@ANYBLOB="050f6c010520100a000501000000f0c9050000ff00f0c000000000ff000f0000000000000042100b71b55665de1b0b0a6432d7aa49b16a8809c1e620ad5cbe70c06e6f803f2b5842eb7758d92e82ea221020ff28c16c3f83d918ee718ce8caef80d39e0879c6d207100200b900000a100300080008090010f4100bdda1527b9d3d53a835380970541798c502f73e72804a227754e2ca4a8bba0bca0e50d9358e67eb28d89d579d973796edb1a326f13f6050ccd7aa5c"], 0x8, [{0x5d, &(0x7f0000000180)=@string={0x5d, 0x3, "aa77cf68efe92b50ab6b574d1e07536b1373a77e656989de85c4ce2dbe93be33d9fa419da471303503450596523c2e0b09aa16451ff9a8d91e3e3f207865131416407da4f2e4b52573b050839dd4f2af4e393dc8ac8acc15cc3a72"}}, {0x54, &(0x7f0000000280)=@string={0x54, 0x3, "b71a4f35b14a01975f18179e81ec545a0223a3a2f3d102a6622bc2807a4d0fd03c0ff19a6078da1358a623aeabedbba084d035e33b5d66c653f475361cc040109c42eed3328a5ed119544351049c08e8af01"}}, {0xbb, &(0x7f0000000380)=@string={0xbb, 0x3, "ed7d387b66296339e51803c1a4e217e5ff36f9b973328dfc2b54b9f0d81abc86800d04b8a035c227a75c14c9fb519dba9d364217a0386b184133b6979f5d2cc69e669082605a5526bbf685aafd4b0f25f31b16ad877e74d8fa07d2ec0db0c65e992bc3ff795846d1d8bb0ed599841814922feb1814e370478dbd6ae050e96415745edd2d8094755bdd44be7229c09927e25a7e63da6765f49e110c00f842008e3d6316ed4e2de0da65038dfad47a8ea7bb7a978426088f44ec"}}, {0x4, &(0x7f0000000480)=@lang_id={0x4, 0x3, 0x41e}}, {0x14, &(0x7f00000004c0)=@string={0x14, 0x3, "07b2f93a401e4ba078309609ef268178c678"}}, {0x2, &(0x7f0000000500)=@string={0x2}}, {0x4, &(0x7f0000000580)=@lang_id={0x4}}, {0x4, &(0x7f00000005c0)=@lang_id={0x4, 0x3, 0x827}}]}) 19:30:26 executing program 2: r0 = syz_io_uring_setup(0x187, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000540)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000140), 0x0, 0x18}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_FADVISE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_EPOLL_CTL=@mod={0x1d, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x6eaa, 0x0, 0x0, 0x0, 0x0) [ 1512.789284][T15289] cdc_ether: probe of 1-1:1.0 failed with error -22 19:30:26 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x2) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) [ 1513.238608][ T26] audit: type=1800 audit(1668195026.667:783): pid=23243 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=1180 res=0 errno=0 [ 1513.692381][T15289] usb 1-1: USB disconnect, device number 22 19:30:27 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000180)) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001780), 0x0, 0x40cc1) socket$nl_route(0x10, 0x3, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) r4 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000000280)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000023000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020e0e4a9446c7670568982b4e420f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa15a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1beeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0ebbcfca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000459ff4b40000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b98008006c4a00000000ff435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb48ba96e1010000000000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff0158929646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969ced595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30fa94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7dfa2e5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9022ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca378e676c3e08c1ed43ca8d3d10994c0b58645ac518a75fde7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d34b5457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464b635197351a5ef0a0fb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8d06000000000000001737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d060000000000000062eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa370ac891e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101293373750d1a8fe64680b0a3fc22dd704e4214de5944912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466a000000003bc13c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c786800007eaa69eb7f7f80772fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e89fc745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d72331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebe660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569ed7aa287378c697f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f8370541be9f2c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9b24accfecb0f477db1034632f2847e6ade5b9e065ec0d0ba58fedae5f08818fea475b169469f9efd131925d98c34b3b47e5c46d121ad5087e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929d210bf5858e2a4ff8e8d1e8adcceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e7c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f463457a1a5ac233932449c9344c5ad4a700bbded86258206046f556589f5627ab2751eb34d940519f009412098398ad822a8509d2d32da656ac5935e4c7f9503ce4daf13300dfd611528049310544d3e8613926fbe2647e258932592c9123f1c74023144442d09ef90c64950176c666da6b658108ac54beb2379aa70501c42bd9c4e4f426ab5ff2a33767b408ed19e399c33b52abc4ac24da0d4cf07d93029583591c33f0f80513c541581977f2e9735e1edb66fdb2722eb4b0b670ba74fdee2f1a3cf85777af5d8267acaa9d83c23a4b40d0f53dce003c03c5959e405fc4f2c05d3394f014a39caabbeff7c7cadbdc57def7f5f758aa46b6e2fddc779770d7e395c4ac2a136a30e7c0a301dffc5565d7244fb29cd302c36e76221a3c4e21559216c078f06b01885a83da16bf8548776a0ae88dfeccc9ad64d2fe3cfdeb9684b7b7e5c00f7323f8214ed01950f6dde258b872042c82ddbd6a75c1adbedef4d5d69b246a5a36ab802b0161908e748ed9891678c228413bf51b18a25bf776b9d1f1ffdf97cf5e7de4455ea359e5796bd60cc415066fc271a2bdb7db13e72d1a99b375ff874037faf6a1d1aacf46a57346d000000000000000085c1b64dd5178485ad0f8557ccae7c06a40e8bd2ce76927bb0923dc380fd153cd2ce1242bc0a6e0fff9cfb70d41b02414730f572ca2a4898426eb6d416ff14aaefebd84bd4000000000000000000dbd064fe868ff4929d489badcf5072c61231bec614423bbf7df2989db587bf49abc6ff4d842309a1fa7f268e2c453cd8b9a746d5c6e820453a377fb09f5799b43c1951f56c211170bc102a3437778676928a1b4bd8ddc8db197d6b63913e6dccc20ccb26bc231f142c502b3279d0aace2caf8c8f5edbfeffe6d5b3b34ad0f1a4cad44c5237a2fff1e8f8e0521313c30a9fb5fc54ae85d19599bb1c2283e3f7bb01a11a1845db6b8eba64b45f1c000000c0c4bef4bf3e1d9b0e1b4e4147d5eb0f9b9bfe80984650dce289524659d70fc7ab8485c054e51ad1bef44c5d6cfaaf7efb61be7c38820a4279d69ff337b0f3f9c2c55de05d1c3682c41f624e735c3ce0a7b0f3d784c96cc57c83e78b336cb4022c19917284534ea9efccef28374885759f39c444d78a3f78ec3bafb4af2e7a64c967c494264c3b36591eb2049ede272a00dc74628a45de9fd219c63f1f0e2e187071f9468f1f4b880ae18459f3790010aff9f89be79e7b81ed89139dd8152e5009fa164f36bce90c661b35022c1cbbdfc9aba07ebed92b94ff9f0e1dbc0a29d5799e3ecc8eb35f791a4fc7db9e97be3f944b2360e3c9a0d2b0ab83db2fc1c3d28efd06000000000000009082394c111ec071cdbd8556d7cf7c11236d699da109de535f64e008a175d11e80f96e10d8527d13e0e1f2b85ee7e542da3c7f32b5efd8422a000000004f340e690ff8575ae64142f5fe6482451c3671140d509a330ea366b4dcc95956629cafce32df51455f9cd7c343ba46790c0b3bc92271f2a55ddab15f1e2413656f1eadc8b70ca24073e310f9cb31c34bdfaca566ecf78cfad77533f3ee7f08765bb586eda50ffe21dce8d98bc9140f19108a7202aab27863f1181faad242296b46dbb9813b5e0cbaae9b1c76cfbae00a4cca32f34fe59dc907023f4da2db6896c27d23e2dff9363bbd910ed7bf88320ff36d3958606ee96ccc1bf272a84bfdc665010d48f6f20ab05f5fc2e9e401ef5d7126795caefaf6eb0a2553daf28412f13724c3e622ed49ee586c60b70c56d3bdec7c15e264c7581f739ac30fc5a84095bab5b7c5c642a552cfc214989cd325178aab229a57912d906f50f87855be6a025758f1402b03e04b5b1e28c6fda461e60cc168dca09392f2c5522c1eaea3f4639bd98a8e07665b7fcba6f34efc58a5d22f99a8a2060084ce18a4a2c51a44ca82644b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) socket$inet6(0xa, 0x6, 0x0) fallocate(0xffffffffffffffff, 0x3, 0x3000, 0x0) [ 1513.754621][T21883] udevd[21883]: inotify_add_watch(7, /dev/loop0, 10) failed: No such file or directory 19:30:27 executing program 2: r0 = syz_io_uring_setup(0x187, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000540)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000140), 0x0, 0x18}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_FADVISE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_EPOLL_CTL=@mod={0x1d, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x6eaa, 0x0, 0x0, 0x0, 0x0) [ 1514.019223][T15287] usb 5-1: new full-speed USB device number 24 using dummy_hcd [ 1514.333557][T21884] udevd[21884]: inotify_add_watch(7, /dev/loop0, 10) failed: No such file or directory 19:30:28 executing program 2: r0 = syz_io_uring_setup(0x187, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000540)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000140), 0x0, 0x18}, 0x10001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x6, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r2, &(0x7f0000000400)=@IORING_OP_FADVISE, 0x0) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_PROVIDE_BUFFERS={0x1f, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_EPOLL_CTL=@mod={0x1d, 0x0, 0x0, 0xffffffffffffffff, 0x0}, 0x0) io_uring_enter(r0, 0x6eaa, 0x0, 0x0, 0x0, 0x0) 19:30:28 executing program 5: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) 19:30:28 executing program 3: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) [ 1514.798046][ T26] audit: type=1800 audit(1668195028.257:784): pid=23246 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed comm="syz-executor.5" name="bus" dev="sda1" ino=1180 res=0 errno=0 [ 1514.872686][ T26] audit: type=1800 audit(1668195028.347:785): pid=23264 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="bus" dev="sda1" ino=1198 res=0 errno=0 [ 1514.899604][T15289] usb 1-1: new full-speed USB device number 23 using dummy_hcd [ 1514.938256][ T26] audit: type=1800 audit(1668195028.407:786): pid=23266 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=1202 res=0 errno=0 19:30:28 executing program 4: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000006c0)='/proc/stat\x00', 0x0, 0x0) connect$pppl2tp(0xffffffffffffffff, &(0x7f00000000c0)=@pppol2tpv3in6={0x18, 0x1, {0x0, r0, 0x0, 0x0, 0x0, 0x0, {0xa, 0x4e23, 0x2, @loopback}}}, 0x3a) ioctl$KVM_GET_API_VERSION(r0, 0xae00, 0x0) syz_usb_connect$cdc_ecm(0x2, 0x59, &(0x7f0000000000)={{0x12, 0x1, 0x201, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x47, 0x1, 0x1, 0x2, 0x10, 0x58, [{{0x9, 0x4, 0x0, 0x20, 0x2, 0x2, 0x6, 0x0, 0x7f, {{0x8, 0x24, 0x6, 0x0, 0x0, '5p}'}, {0x5, 0x24, 0x0, 0x80}, {0xd, 0x24, 0xf, 0x1, 0x67e, 0x7, 0x1000}}, {[{{0x9, 0x5, 0x81, 0x3, 0x200, 0x20, 0x80}}], {{0x9, 0x5, 0x82, 0x2, 0x20, 0x6, 0x4e}}, {{0x9, 0x5, 0x3, 0x2, 0x20, 0x0, 0x4, 0x5}}}}}]}}]}}, &(0x7f0000000600)={0x0, 0x0, 0x16c, &(0x7f0000000700)=ANY=[@ANYBLOB="050f6c010520100a000501000000f0c9050000ff00f0c000000000ff000f0000000000000042100b71b55665de1b0b0a6432d7aa49b16a8809c1e620ad5cbe70c06e6f803f2b5842eb7758d92e82ea221020ff28c16c3f83d918ee718ce8caef80d39e0879c6d207100200b900000a100300080008090010f4100bdda1527b9d3d53a835380970541798c502f73e72804a227754e2ca4a8bba0bca0e50d9358e67eb28d89d579d973796edb1a326f13f6050ccd7aa5c"], 0x8, [{0x5d, &(0x7f0000000180)=@string={0x5d, 0x3, "aa77cf68efe92b50ab6b574d1e07536b1373a77e656989de85c4ce2dbe93be33d9fa419da471303503450596523c2e0b09aa16451ff9a8d91e3e3f207865131416407da4f2e4b52573b050839dd4f2af4e393dc8ac8acc15cc3a72"}}, {0x54, &(0x7f0000000280)=@string={0x54, 0x3, "b71a4f35b14a01975f18179e81ec545a0223a3a2f3d102a6622bc2807a4d0fd03c0ff19a6078da1358a623aeabedbba084d035e33b5d66c653f475361cc040109c42eed3328a5ed119544351049c08e8af01"}}, {0xbb, &(0x7f0000000380)=@string={0xbb, 0x3, "ed7d387b66296339e51803c1a4e217e5ff36f9b973328dfc2b54b9f0d81abc86800d04b8a035c227a75c14c9fb519dba9d364217a0386b184133b6979f5d2cc69e669082605a5526bbf685aafd4b0f25f31b16ad877e74d8fa07d2ec0db0c65e992bc3ff795846d1d8bb0ed599841814922feb1814e370478dbd6ae050e96415745edd2d8094755bdd44be7229c09927e25a7e63da6765f49e110c00f842008e3d6316ed4e2de0da65038dfad47a8ea7bb7a978426088f44ec"}}, {0x4, &(0x7f0000000480)=@lang_id={0x4, 0x3, 0x41e}}, {0x14, &(0x7f00000004c0)=@string={0x14, 0x3, "07b2f93a401e4ba078309609ef268178c678"}}, {0x2, &(0x7f0000000500)=@string={0x2}}, {0x4, &(0x7f0000000580)=@lang_id={0x4}}, {0x4, &(0x7f00000005c0)=@lang_id={0x4, 0x3, 0x827}}]}) 19:30:28 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x2) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) 19:30:28 executing program 2: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) [ 1515.129089][T15287] usb 5-1: not running at top speed; connect to a high speed hub [ 1515.196257][ T26] audit: type=1800 audit(1668195028.667:787): pid=23273 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=1218 res=0 errno=0 [ 1515.268297][T15287] usb 5-1: unable to read config index 0 descriptor/start: -71 [ 1515.277878][T15287] usb 5-1: can't read configurations, error -71 19:30:28 executing program 5: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) [ 1515.418290][T15289] usb 1-1: not running at top speed; connect to a high speed hub [ 1515.467835][ T26] audit: type=1800 audit(1668195028.937:788): pid=23282 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=1183 res=0 errno=0 [ 1515.538397][T15289] usb 1-1: config 1 interface 0 altsetting 32 endpoint 0x81 has invalid maxpacket 512, setting to 64 [ 1515.561323][T15289] usb 1-1: config 1 interface 0 altsetting 32 has 3 endpoint descriptors, different from the interface descriptor's value: 2 [ 1515.588399][T15289] usb 1-1: config 1 interface 0 has no altsetting 0 [ 1515.658293][T15287] usb 5-1: new full-speed USB device number 25 using dummy_hcd 19:30:29 executing program 0: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f00000006c0)='/proc/stat\x00', 0x0, 0x0) connect$pppl2tp(0xffffffffffffffff, &(0x7f00000000c0)=@pppol2tpv3in6={0x18, 0x1, {0x0, r0, 0x0, 0x0, 0x0, 0x0, {0xa, 0x4e23, 0x2, @loopback}}}, 0x3a) ioctl$KVM_GET_API_VERSION(r0, 0xae00, 0x0) syz_usb_connect$cdc_ecm(0x2, 0x59, &(0x7f0000000000)={{0x12, 0x1, 0x201, 0x2, 0x0, 0x0, 0x20, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x47, 0x1, 0x1, 0x2, 0x10, 0x58, [{{0x9, 0x4, 0x0, 0x20, 0x2, 0x2, 0x6, 0x0, 0x7f, {{0x8, 0x24, 0x6, 0x0, 0x0, '5p}'}, {0x5, 0x24, 0x0, 0x80}, {0xd, 0x24, 0xf, 0x1, 0x67e, 0x7, 0x1000}}, {[{{0x9, 0x5, 0x81, 0x3, 0x200, 0x20, 0x80}}], {{0x9, 0x5, 0x82, 0x2, 0x20, 0x6, 0x4e}}, {{0x9, 0x5, 0x3, 0x2, 0x20, 0x0, 0x4, 0x5}}}}}]}}]}}, &(0x7f0000000600)={0x0, 0x0, 0x16c, &(0x7f0000000700)=ANY=[@ANYBLOB="050f6c010520100a000501000000f0c9050000ff00f0c000000000ff000f0000000000000042100b71b55665de1b0b0a6432d7aa49b16a8809c1e620ad5cbe70c06e6f803f2b5842eb7758d92e82ea221020ff28c16c3f83d918ee718ce8caef80d39e0879c6d207100200b900000a100300080008090010f4100bdda1527b9d3d53a835380970541798c502f73e72804a227754e2ca4a8bba0bca0e50d9358e67eb28d89d579d973796edb1a326f13f6050ccd7aa5c"], 0x8, [{0x5d, &(0x7f0000000180)=@string={0x5d, 0x3, "aa77cf68efe92b50ab6b574d1e07536b1373a77e656989de85c4ce2dbe93be33d9fa419da471303503450596523c2e0b09aa16451ff9a8d91e3e3f207865131416407da4f2e4b52573b050839dd4f2af4e393dc8ac8acc15cc3a72"}}, {0x54, &(0x7f0000000280)=@string={0x54, 0x3, "b71a4f35b14a01975f18179e81ec545a0223a3a2f3d102a6622bc2807a4d0fd03c0ff19a6078da1358a623aeabedbba084d035e33b5d66c653f475361cc040109c42eed3328a5ed119544351049c08e8af01"}}, {0xbb, &(0x7f0000000380)=@string={0xbb, 0x3, "ed7d387b66296339e51803c1a4e217e5ff36f9b973328dfc2b54b9f0d81abc86800d04b8a035c227a75c14c9fb519dba9d364217a0386b184133b6979f5d2cc69e669082605a5526bbf685aafd4b0f25f31b16ad877e74d8fa07d2ec0db0c65e992bc3ff795846d1d8bb0ed599841814922feb1814e370478dbd6ae050e96415745edd2d8094755bdd44be7229c09927e25a7e63da6765f49e110c00f842008e3d6316ed4e2de0da65038dfad47a8ea7bb7a978426088f44ec"}}, {0x4, &(0x7f0000000480)=@lang_id={0x4, 0x3, 0x41e}}, {0x14, &(0x7f00000004c0)=@string={0x14, 0x3, "07b2f93a401e4ba078309609ef268178c678"}}, {0x2, &(0x7f0000000500)=@string={0x2}}, {0x4, &(0x7f0000000580)=@lang_id={0x4}}, {0x4, &(0x7f00000005c0)=@lang_id={0x4, 0x3, 0x827}}]}) 19:30:29 executing program 3: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) 19:30:29 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000180)) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001780), 0x0, 0x40cc1) socket$nl_route(0x10, 0x3, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) r4 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000000280)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000023000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020e0e4a9446c7670568982b4e420f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa15a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1beeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0ebbcfca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000459ff4b40000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b98008006c4a00000000ff435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb48ba96e1010000000000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff0158929646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969ced595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30fa94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7dfa2e5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9022ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca378e676c3e08c1ed43ca8d3d10994c0b58645ac518a75fde7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d34b5457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464b635197351a5ef0a0fb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8d06000000000000001737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d060000000000000062eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa370ac891e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101293373750d1a8fe64680b0a3fc22dd704e4214de5944912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466a000000003bc13c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c786800007eaa69eb7f7f80772fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e89fc745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d72331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebe660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569ed7aa287378c697f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f8370541be9f2c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9b24accfecb0f477db1034632f2847e6ade5b9e065ec0d0ba58fedae5f08818fea475b169469f9efd131925d98c34b3b47e5c46d121ad5087e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929d210bf5858e2a4ff8e8d1e8adcceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e7c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f463457a1a5ac233932449c9344c5ad4a700bbded86258206046f556589f5627ab2751eb34d940519f009412098398ad822a8509d2d32da656ac5935e4c7f9503ce4daf13300dfd611528049310544d3e8613926fbe2647e258932592c9123f1c74023144442d09ef90c64950176c666da6b658108ac54beb2379aa70501c42bd9c4e4f426ab5ff2a33767b408ed19e399c33b52abc4ac24da0d4cf07d93029583591c33f0f80513c541581977f2e9735e1edb66fdb2722eb4b0b670ba74fdee2f1a3cf85777af5d8267acaa9d83c23a4b40d0f53dce003c03c5959e405fc4f2c05d3394f014a39caabbeff7c7cadbdc57def7f5f758aa46b6e2fddc779770d7e395c4ac2a136a30e7c0a301dffc5565d7244fb29cd302c36e76221a3c4e21559216c078f06b01885a83da16bf8548776a0ae88dfeccc9ad64d2fe3cfdeb9684b7b7e5c00f7323f8214ed01950f6dde258b872042c82ddbd6a75c1adbedef4d5d69b246a5a36ab802b0161908e748ed9891678c228413bf51b18a25bf776b9d1f1ffdf97cf5e7de4455ea359e5796bd60cc415066fc271a2bdb7db13e72d1a99b375ff874037faf6a1d1aacf46a57346d000000000000000085c1b64dd5178485ad0f8557ccae7c06a40e8bd2ce76927bb0923dc380fd153cd2ce1242bc0a6e0fff9cfb70d41b02414730f572ca2a4898426eb6d416ff14aaefebd84bd4000000000000000000dbd064fe868ff4929d489badcf5072c61231bec614423bbf7df2989db587bf49abc6ff4d842309a1fa7f268e2c453cd8b9a746d5c6e820453a377fb09f5799b43c1951f56c211170bc102a3437778676928a1b4bd8ddc8db197d6b63913e6dccc20ccb26bc231f142c502b3279d0aace2caf8c8f5edbfeffe6d5b3b34ad0f1a4cad44c5237a2fff1e8f8e0521313c30a9fb5fc54ae85d19599bb1c2283e3f7bb01a11a1845db6b8eba64b45f1c000000c0c4bef4bf3e1d9b0e1b4e4147d5eb0f9b9bfe80984650dce289524659d70fc7ab8485c054e51ad1bef44c5d6cfaaf7efb61be7c38820a4279d69ff337b0f3f9c2c55de05d1c3682c41f624e735c3ce0a7b0f3d784c96cc57c83e78b336cb4022c19917284534ea9efccef28374885759f39c444d78a3f78ec3bafb4af2e7a64c967c494264c3b36591eb2049ede272a00dc74628a45de9fd219c63f1f0e2e187071f9468f1f4b880ae18459f3790010aff9f89be79e7b81ed89139dd8152e5009fa164f36bce90c661b35022c1cbbdfc9aba07ebed92b94ff9f0e1dbc0a29d5799e3ecc8eb35f791a4fc7db9e97be3f944b2360e3c9a0d2b0ab83db2fc1c3d28efd06000000000000009082394c111ec071cdbd8556d7cf7c11236d699da109de535f64e008a175d11e80f96e10d8527d13e0e1f2b85ee7e542da3c7f32b5efd8422a000000004f340e690ff8575ae64142f5fe6482451c3671140d509a330ea366b4dcc95956629cafce32df51455f9cd7c343ba46790c0b3bc92271f2a55ddab15f1e2413656f1eadc8b70ca24073e310f9cb31c34bdfaca566ecf78cfad77533f3ee7f08765bb586eda50ffe21dce8d98bc9140f19108a7202aab27863f1181faad242296b46dbb9813b5e0cbaae9b1c76cfbae00a4cca32f34fe59dc907023f4da2db6896c27d23e2dff9363bbd910ed7bf88320ff36d3958606ee96ccc1bf272a84bfdc665010d48f6f20ab05f5fc2e9e401ef5d7126795caefaf6eb0a2553daf28412f13724c3e622ed49ee586c60b70c56d3bdec7c15e264c7581f739ac30fc5a84095bab5b7c5c642a552cfc214989cd325178aab229a57912d906f50f87855be6a025758f1402b03e04b5b1e28c6fda461e60cc168dca09392f2c5522c1eaea3f4639bd98a8e07665b7fcba6f34efc58a5d22f99a8a2060084ce18a4a2c51a44ca82644b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) socket$inet6(0xa, 0x6, 0x0) fallocate(0xffffffffffffffff, 0x3, 0x3000, 0x0) 19:30:29 executing program 2: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) [ 1515.798191][T15289] usb 1-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1515.815611][ T26] audit: type=1800 audit(1668195029.287:789): pid=23290 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=1205 res=0 errno=0 19:30:29 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x2) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) [ 1515.846208][T15289] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1515.886198][T15289] usb 1-1: Product: 緭笸⥦㥣ᣥ섃㛿맹㉳ﲍ含᫘蚼඀렄㖠⟂岧줔击몝㚝ᝂ㢠ᡫ㍁鞶嶟올暞芐婠♕ꪅ䯽┏᯳괖纇ߺ뀍廆⮙ᅢ塹텆믘픎蒙ᐘ⾒ᣫ䝰붍ᕤ年ⷝ钀孵䓝犾쀩➙嫢捾柚ᆞ 䋸踀挽ⵎͥ揄竔ꞎ窻蒗ࠦ䒏 [ 1515.905211][ T26] audit: type=1800 audit(1668195029.287:790): pid=23288 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="bus" dev="sda1" ino=1207 res=0 errno=0 [ 1515.924714][T15289] usb 1-1: Manufacturer: ᪷㕏䪱霁ᡟ鸗婔⌂ꊣ퇳ꘂ⭢胂䵺퀏༼髱硠ᏚꙘ긣ꂻ킄崻왦㙵쀜၀䊜폮訲텞吙元鰄Ư [ 1516.487116][T22218] udevd[22218]: inotify_add_watch(7, /dev/loop0, 10) failed: No such file or directory 19:30:30 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000180)) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001780), 0x0, 0x40cc1) socket$nl_route(0x10, 0x3, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) r4 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000000280)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000023000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020e0e4a9446c7670568982b4e420f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa15a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1beeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0ebbcfca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000459ff4b40000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b98008006c4a00000000ff435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb48ba96e1010000000000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff0158929646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969ced595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30fa94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7dfa2e5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9022ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca378e676c3e08c1ed43ca8d3d10994c0b58645ac518a75fde7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d34b5457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464b635197351a5ef0a0fb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8d06000000000000001737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d060000000000000062eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa370ac891e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101293373750d1a8fe64680b0a3fc22dd704e4214de5944912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466a000000003bc13c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c786800007eaa69eb7f7f80772fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e89fc745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d72331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebe660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569ed7aa287378c697f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f8370541be9f2c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9b24accfecb0f477db1034632f2847e6ade5b9e065ec0d0ba58fedae5f08818fea475b169469f9efd131925d98c34b3b47e5c46d121ad5087e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929d210bf5858e2a4ff8e8d1e8adcceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e7c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f463457a1a5ac233932449c9344c5ad4a700bbded86258206046f556589f5627ab2751eb34d940519f009412098398ad822a8509d2d32da656ac5935e4c7f9503ce4daf13300dfd611528049310544d3e8613926fbe2647e258932592c9123f1c74023144442d09ef90c64950176c666da6b658108ac54beb2379aa70501c42bd9c4e4f426ab5ff2a33767b408ed19e399c33b52abc4ac24da0d4cf07d93029583591c33f0f80513c541581977f2e9735e1edb66fdb2722eb4b0b670ba74fdee2f1a3cf85777af5d8267acaa9d83c23a4b40d0f53dce003c03c5959e405fc4f2c05d3394f014a39caabbeff7c7cadbdc57def7f5f758aa46b6e2fddc779770d7e395c4ac2a136a30e7c0a301dffc5565d7244fb29cd302c36e76221a3c4e21559216c078f06b01885a83da16bf8548776a0ae88dfeccc9ad64d2fe3cfdeb9684b7b7e5c00f7323f8214ed01950f6dde258b872042c82ddbd6a75c1adbedef4d5d69b246a5a36ab802b0161908e748ed9891678c228413bf51b18a25bf776b9d1f1ffdf97cf5e7de4455ea359e5796bd60cc415066fc271a2bdb7db13e72d1a99b375ff874037faf6a1d1aacf46a57346d000000000000000085c1b64dd5178485ad0f8557ccae7c06a40e8bd2ce76927bb0923dc380fd153cd2ce1242bc0a6e0fff9cfb70d41b02414730f572ca2a4898426eb6d416ff14aaefebd84bd4000000000000000000dbd064fe868ff4929d489badcf5072c61231bec614423bbf7df2989db587bf49abc6ff4d842309a1fa7f268e2c453cd8b9a746d5c6e820453a377fb09f5799b43c1951f56c211170bc102a3437778676928a1b4bd8ddc8db197d6b63913e6dccc20ccb26bc231f142c502b3279d0aace2caf8c8f5edbfeffe6d5b3b34ad0f1a4cad44c5237a2fff1e8f8e0521313c30a9fb5fc54ae85d19599bb1c2283e3f7bb01a11a1845db6b8eba64b45f1c000000c0c4bef4bf3e1d9b0e1b4e4147d5eb0f9b9bfe80984650dce289524659d70fc7ab8485c054e51ad1bef44c5d6cfaaf7efb61be7c38820a4279d69ff337b0f3f9c2c55de05d1c3682c41f624e735c3ce0a7b0f3d784c96cc57c83e78b336cb4022c19917284534ea9efccef28374885759f39c444d78a3f78ec3bafb4af2e7a64c967c494264c3b36591eb2049ede272a00dc74628a45de9fd219c63f1f0e2e187071f9468f1f4b880ae18459f3790010aff9f89be79e7b81ed89139dd8152e5009fa164f36bce90c661b35022c1cbbdfc9aba07ebed92b94ff9f0e1dbc0a29d5799e3ecc8eb35f791a4fc7db9e97be3f944b2360e3c9a0d2b0ab83db2fc1c3d28efd06000000000000009082394c111ec071cdbd8556d7cf7c11236d699da109de535f64e008a175d11e80f96e10d8527d13e0e1f2b85ee7e542da3c7f32b5efd8422a000000004f340e690ff8575ae64142f5fe6482451c3671140d509a330ea366b4dcc95956629cafce32df51455f9cd7c343ba46790c0b3bc92271f2a55ddab15f1e2413656f1eadc8b70ca24073e310f9cb31c34bdfaca566ecf78cfad77533f3ee7f08765bb586eda50ffe21dce8d98bc9140f19108a7202aab27863f1181faad242296b46dbb9813b5e0cbaae9b1c76cfbae00a4cca32f34fe59dc907023f4da2db6896c27d23e2dff9363bbd910ed7bf88320ff36d3958606ee96ccc1bf272a84bfdc665010d48f6f20ab05f5fc2e9e401ef5d7126795caefaf6eb0a2553daf28412f13724c3e622ed49ee586c60b70c56d3bdec7c15e264c7581f739ac30fc5a84095bab5b7c5c642a552cfc214989cd325178aab229a57912d906f50f87855be6a025758f1402b03e04b5b1e28c6fda461e60cc168dca09392f2c5522c1eaea3f4639bd98a8e07665b7fcba6f34efc58a5d22f99a8a2060084ce18a4a2c51a44ca82644b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) socket$inet6(0xa, 0x6, 0x0) fallocate(0xffffffffffffffff, 0x3, 0x3000, 0x0) [ 1516.858813][T15289] usb 1-1: can't set config #1, error -71 [ 1516.866127][T15289] usb 1-1: USB disconnect, device number 23 [ 1516.894030][ T26] audit: type=1800 audit(1668195030.367:792): pid=23295 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed comm="syz-executor.2" name="bus" dev="sda1" ino=1205 res=0 errno=0 19:30:30 executing program 2: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) [ 1516.932317][ T26] audit: type=1800 audit(1668195030.367:791): pid=23292 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed comm="syz-executor.3" name="bus" dev="sda1" ino=1207 res=0 errno=0 [ 1517.127876][T15287] usb 5-1: not running at top speed; connect to a high speed hub 19:30:31 executing program 3: r0 = open(&(0x7f0000000080)='./bus\x00', 0x14d842, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000500)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x80000044) r2 = open(&(0x7f00000009c0)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x8200) [ 1517.890497][ T26] audit: type=1800 audit(1668195031.367:793): pid=23311 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.2" name="bus" dev="sda1" ino=1198 res=0 errno=0 [ 1517.938698][T15287] usb 5-1: config 1 interface 0 altsetting 32 endpoint 0x81 has invalid maxpacket 512, setting to 64 [ 1517.970221][T15287] usb 5-1: config 1 interface 0 altsetting 32 has 3 endpoint descriptors, different from the interface descriptor's value: 2 [ 1518.003174][ T26] audit: type=1800 audit(1668195031.477:794): pid=23314 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="bus" dev="sda1" ino=1180 res=0 errno=0 [ 1518.055965][T15287] usb 5-1: config 1 interface 0 has no altsetting 0 [ 1518.078052][T15289] usb 1-1: new full-speed USB device number 24 using dummy_hcd 19:30:31 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) prlimit64(0x0, 0x3, 0x0, &(0x7f0000000180)) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001780), 0x0, 0x40cc1) socket$nl_route(0x10, 0x3, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) ioctl$LOOP_CTL_REMOVE(0xffffffffffffffff, 0x4c81, 0x0) r4 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f0000000280)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000023000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e2c49e8020e0e4a9446c7670568982b4e420f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c29184ff7f0000cef809606056fe5c34664c0af9360a1f7a5e6b607130c89f18c0c1089d8b8588d72ec29c48b45ef4adf634be763289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa15a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8e942c89112f4ab87b1beeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0faf60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c9b081d6a08000000ea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d605ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae616b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0ebbcfca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000459ff4b40000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b98008006c4a00000000ff435ac15fc0288d9b2a169cdcacc413b48dafb7a2c8cb48ba96e1010000000000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4a00fca0493cf29b33dcc9ffffffffffffffd39fec2271ff0158929646efd1cf870cd7bb2366fde41f94290c2a5ff870ce5dfd3467decb05cfd9fcb32c8ed1dbd9d10a64c108285e71b5565b1768ee58969ced595229df17bcad70fb4021428ce970275d13b78249788f11f761038b75d4fe32b561d46ea3abe0fa4d30fa94ef241875f3b4b6ab7929a57affe7d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ecbbc55bf404e4e1f74b7eed82571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feaf3dd95f6ef2acd1fe582786105c7dfa2e5877050c91301bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9022ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca378e676c3e08c1ed43ca8d3d10994c0b58645ac518a75fde7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af403269b4a39ce40293947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d34b5457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464b635197351a5ef0a0fb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd452277c3887d6116c6cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8d06000000000000001737390cbf3a74cb2003016f1514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d060000000000000062eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa370ac891e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101293373750d1a8fe64680b0a3fc22dd704e4214de5944912d6c98cd1a9fbe1e7d58c08acaf30235b928a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466a000000003bc13c334b47f067bbab40743b2a428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12ca3c3431ee97471c786800007eaa69eb7f7f80772fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e89fc745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d72331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83186c1526af6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebe660309e1e245b0fdf9743af930cd6db49a47613808bad959719c0000000000378a921c7f7f8433c2e24c7e800003c9e8095e02985f28e678f66422436f949e2ab8f162d7e3f855e378f4a1f40b0c6fb2d4b205aa00b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569ed7aa287378c697f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f8370541be9f2c66ee7e30393cd7a4d67ff2a49c4f9360984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb5002512bcbf9b24accfecb0f477db1034632f2847e6ade5b9e065ec0d0ba58fedae5f08818fea475b169469f9efd131925d98c34b3b47e5c46d121ad5087e1cdee39f5cf21d2e80a64ac97e71cafc29bfb78db090dd12225efeda2e93bf7f6ba7865e9c375a780929d210bf5858e2a4ff8e8d1e8adcceed07c6312b734c72510d335acc94f76e7078ce4066f1e0ac9429f8013683301277a11e25b248b61180cb6207a0e26757f3f1bfc6c27f3720d1fb74afb17f3b5239bc2243853d5234afb05ed6024e94dee34666c5b5522b54cb433efa54b4e9022533e7c89bdee957dfa9ded9f16fdcd1b681e4c72f32fa3334313e334cc140daec7dcb22f463457a1a5ac233932449c9344c5ad4a700bbded86258206046f556589f5627ab2751eb34d940519f009412098398ad822a8509d2d32da656ac5935e4c7f9503ce4daf13300dfd611528049310544d3e8613926fbe2647e258932592c9123f1c74023144442d09ef90c64950176c666da6b658108ac54beb2379aa70501c42bd9c4e4f426ab5ff2a33767b408ed19e399c33b52abc4ac24da0d4cf07d93029583591c33f0f80513c541581977f2e9735e1edb66fdb2722eb4b0b670ba74fdee2f1a3cf85777af5d8267acaa9d83c23a4b40d0f53dce003c03c5959e405fc4f2c05d3394f014a39caabbeff7c7cadbdc57def7f5f758aa46b6e2fddc779770d7e395c4ac2a136a30e7c0a301dffc5565d7244fb29cd302c36e76221a3c4e21559216c078f06b01885a83da16bf8548776a0ae88dfeccc9ad64d2fe3cfdeb9684b7b7e5c00f7323f8214ed01950f6dde258b872042c82ddbd6a75c1adbedef4d5d69b246a5a36ab802b0161908e748ed9891678c228413bf51b18a25bf776b9d1f1ffdf97cf5e7de4455ea359e5796bd60cc415066fc271a2bdb7db13e72d1a99b375ff874037faf6a1d1aacf46a57346d000000000000000085c1b64dd5178485ad0f8557ccae7c06a40e8bd2ce76927bb0923dc380fd153cd2ce1242bc0a6e0fff9cfb70d41b02414730f572ca2a4898426eb6d416ff14aaefebd84bd4000000000000000000dbd064fe868ff4929d489badcf5072c61231bec614423bbf7df2989db587bf49abc6ff4d842309a1fa7f268e2c453cd8b9a746d5c6e820453a377fb09f5799b43c1951f56c211170bc102a3437778676928a1b4bd8ddc8db197d6b63913e6dccc20ccb26bc231f142c502b3279d0aace2caf8c8f5edbfeffe6d5b3b34ad0f1a4cad44c5237a2fff1e8f8e0521313c30a9fb5fc54ae85d19599bb1c2283e3f7bb01a11a1845db6b8eba64b45f1c000000c0c4bef4bf3e1d9b0e1b4e4147d5eb0f9b9bfe80984650dce289524659d70fc7ab8485c054e51ad1bef44c5d6cfaaf7efb61be7c38820a4279d69ff337b0f3f9c2c55de05d1c3682c41f624e735c3ce0a7b0f3d784c96cc57c83e78b336cb4022c19917284534ea9efccef28374885759f39c444d78a3f78ec3bafb4af2e7a64c967c494264c3b36591eb2049ede272a00dc74628a45de9fd219c63f1f0e2e187071f9468f1f4b880ae18459f3790010aff9f89be79e7b81ed89139dd8152e5009fa164f36bce90c661b35022c1cbbdfc9aba07ebed92b94ff9f0e1dbc0a29d5799e3ecc8eb35f791a4fc7db9e97be3f944b2360e3c9a0d2b0ab83db2fc1c3d28efd06000000000000009082394c111ec071cdbd8556d7cf7c11236d699da109de535f64e008a175d11e80f96e10d8527d13e0e1f2b85ee7e542da3c7f32b5efd8422a000000004f340e690ff8575ae64142f5fe6482451c3671140d509a330ea366b4dcc95956629cafce32df51455f9cd7c343ba46790c0b3bc92271f2a55ddab15f1e2413656f1eadc8b70ca24073e310f9cb31c34bdfaca566ecf78cfad77533f3ee7f08765bb586eda50ffe21dce8d98bc9140f19108a7202aab27863f1181faad242296b46dbb9813b5e0cbaae9b1c76cfbae00a4cca32f34fe59dc907023f4da2db6896c27d23e2dff9363bbd910ed7bf88320ff36d3958606ee96ccc1bf272a84bfdc665010d48f6f20ab05f5fc2e9e401ef5d7126795caefaf6eb0a2553daf28412f13724c3e622ed49ee586c60b70c56d3bdec7c15e264c7581f739ac30fc5a84095bab5b7c5c642a552cfc214989cd325178aab229a57912d906f50f87855be6a025758f1402b03e04b5b1e28c6fda461e60cc168dca09392f2c5522c1eaea3f4639bd98a8e07665b7fcba6f34efc58a5d22f99a8a2060084ce18a4a2c51a44ca82644b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000000)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) socket$inet6(0xa, 0x6, 0x0) fallocate(0xffffffffffffffff, 0x3, 0x3000, 0x0) 19:30:31 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x2) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) 19:30:31 executing program 4: prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000000)={0x1, &(0x7f0000000180)=[{0x200000000006, 0x0, 0x0, 0x7ffc0001}]}) r0 = syz_io_uring_setup(0x884, &(0x7f0000000200), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000), &(0x7f0000000040)) io_uring_enter(r0, 0x0, 0x0, 0x0, 0x0, 0xfc00) 19:30:31 executing program 2: clock_gettime(0x0, &(0x7f00000001c0)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000040), 0x0, &(0x7f0000000180)={0x401}, &(0x7f0000000200)={0x0, r0+10000000}, &(0x7f0000000280)={&(0x7f0000000240)={[0x10000]}, 0x8}) [ 1518.318341][T15287] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1518.351653][T15287] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1518.387377][T15287] usb 5-1: Product: 緭笸⥦㥣ᣥ섃㛿맹㉳ﲍ含᫘蚼඀렄㖠⟂岧줔击몝㚝ᝂ㢠ᡫ㍁鞶嶟올暞芐婠♕ꪅ䯽┏᯳괖纇ߺ뀍廆⮙ᅢ塹텆믘픎蒙ᐘ⾒ᣫ䝰붍ᕤ年ⷝ钀孵䓝犾쀩➙嫢捾柚ᆞ 䋸踀挽ⵎͥ揄竔ꞎ窻蒗ࠦ䒏 [ 1518.415824][ T26] audit: type=1326 audit(1668195031.887:795): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=23321 comm="syz-executor.4" exe="/root/syz-executor.4" sig=0 arch=c000003e syscall=202 compat=0 ip=0x7f8b3708b639 code=0x7ffc0000 [ 1518.956937][ T26] audit: type=1326 audit(1668195032.137:796): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=23321 comm="syz-executor.4" exe="/root/syz-executor.4" sig=0 arch=c000003e syscall=425 compat=0 ip=0x7f8b3708b639 code=0x7ffc0000 19:30:32 executing program 0: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:32 executing program 3: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$SW_SYNC_IOC_INC(r0, 0x40045701, &(0x7f0000000180)=0xfffffffc) [ 1519.294563][T15287] usb 5-1: Manufacturer: ᪷㕏䪱霁ᡟ鸗婔⌂ꊣ퇳ꘂ⭢胂䵺퀏༼髱硠ᏚꙘ긣ꂻ킄崻왦㙵쀜၀䊜폮訲텞吙元鰄Ư 19:30:32 executing program 2: clock_gettime(0x0, &(0x7f00000001c0)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000040), 0x0, &(0x7f0000000180)={0x401}, &(0x7f0000000200)={0x0, r0+10000000}, &(0x7f0000000280)={&(0x7f0000000240)={[0x10000]}, 0x8}) 19:30:32 executing program 4: prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000000)={0x1, &(0x7f0000000180)=[{0x200000000006, 0x0, 0x0, 0x7ffc0001}]}) r0 = syz_io_uring_setup(0x884, &(0x7f0000000200), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000), &(0x7f0000000040)) io_uring_enter(r0, 0x0, 0x0, 0x0, 0x0, 0xfc00) [ 1519.363289][T15287] usb 5-1: can't set config #1, error -71 [ 1519.376715][T21538] udevd[21538]: inotify_add_watch(7, /dev/loop0, 10) failed: No such file or directory 19:30:32 executing program 3: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$SW_SYNC_IOC_INC(r0, 0x40045701, &(0x7f0000000180)=0xfffffffc) [ 1519.400415][ T26] audit: type=1326 audit(1668195032.207:797): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=23321 comm="syz-executor.4" exe="/root/syz-executor.4" sig=0 arch=c000003e syscall=9 compat=0 ip=0x7f8b3708b682 code=0x7ffc0000 [ 1519.417001][T15287] usb 5-1: USB disconnect, device number 25 [ 1519.429881][T15289] usb 1-1: unable to get BOS descriptor or descriptor too short 19:30:32 executing program 1: keyctl$unlink(0x9, 0x0, 0xfffffffffffffffe) 19:30:33 executing program 2: clock_gettime(0x0, &(0x7f00000001c0)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000040), 0x0, &(0x7f0000000180)={0x401}, &(0x7f0000000200)={0x0, r0+10000000}, &(0x7f0000000280)={&(0x7f0000000240)={[0x10000]}, 0x8}) 19:30:33 executing program 1: keyctl$unlink(0x9, 0x0, 0xfffffffffffffffe) [ 1519.551276][ T26] audit: type=1326 audit(1668195032.357:798): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=23321 comm="syz-executor.4" exe="/root/syz-executor.4" sig=0 arch=c000003e syscall=9 compat=0 ip=0x7f8b3708b682 code=0x7ffc0000 19:30:33 executing program 0: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) [ 1519.598314][T15289] usb 1-1: unable to read config index 0 descriptor/start: -71 [ 1519.607216][T15289] usb 1-1: can't read configurations, error -71 19:30:33 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x2) ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x1) 19:30:33 executing program 4: prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000000)={0x1, &(0x7f0000000180)=[{0x200000000006, 0x0, 0x0, 0x7ffc0001}]}) r0 = syz_io_uring_setup(0x884, &(0x7f0000000200), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000), &(0x7f0000000040)) io_uring_enter(r0, 0x0, 0x0, 0x0, 0x0, 0xfc00) 19:30:33 executing program 3: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$SW_SYNC_IOC_INC(r0, 0x40045701, &(0x7f0000000180)=0xfffffffc) [ 1519.653823][ T26] audit: type=1326 audit(1668195032.617:799): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=23321 comm="syz-executor.4" exe="/root/syz-executor.4" sig=0 arch=c000003e syscall=202 compat=0 ip=0x7f8b3708b639 code=0x7ffc0000 19:30:33 executing program 2: clock_gettime(0x0, &(0x7f00000001c0)={0x0, 0x0}) pselect6(0x40, &(0x7f0000000040), 0x0, &(0x7f0000000180)={0x401}, &(0x7f0000000200)={0x0, r0+10000000}, &(0x7f0000000280)={&(0x7f0000000240)={[0x10000]}, 0x8}) 19:30:33 executing program 1: keyctl$unlink(0x9, 0x0, 0xfffffffffffffffe) 19:30:33 executing program 3: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) ioctl$SW_SYNC_IOC_INC(r0, 0x40045701, &(0x7f0000000180)=0xfffffffc) 19:30:33 executing program 0: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:33 executing program 4: prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f0000000000)={0x1, &(0x7f0000000180)=[{0x200000000006, 0x0, 0x0, 0x7ffc0001}]}) r0 = syz_io_uring_setup(0x884, &(0x7f0000000200), &(0x7f0000ee7000/0x2000)=nil, &(0x7f00006d3000/0x4000)=nil, &(0x7f0000000000), &(0x7f0000000040)) io_uring_enter(r0, 0x0, 0x0, 0x0, 0x0, 0xfc00) [ 1519.803586][ T26] audit: type=1326 audit(1668195033.007:800): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=23339 comm="syz-executor.4" exe="/root/syz-executor.4" sig=0 arch=c000003e syscall=202 compat=0 ip=0x7f8b3708b639 code=0x7ffc0000 19:30:33 executing program 1: keyctl$unlink(0x9, 0x0, 0xfffffffffffffffe) 19:30:33 executing program 0: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:33 executing program 2: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:33 executing program 3: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:33 executing program 2: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:33 executing program 1: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x9e, &(0x7f0000000200)=[{&(0x7f0000010000)="94bc70481314043d583ea00fa5e94b4bef2368e791807ae8eedf7948442a78f5b2b94d3011914a028a38d3571753d4e1000001000000000001000000000000005f42485266535f4d080000000000000000c0d301000000000040500100000000000000000000000000000000000000000000000800000000007002000000000006000000000000000100000000000000001000000040000000400000001000008100000006000000000000000000000000000000030000000000000041030000000000000200000000010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e100"/320, 0x140, 0x10000}, {&(0x7f0000010140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x10220}, {&(0x7f0000010160)="00000000000000000000000001000000000000e4000050010000000000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000"/256, 0x100, 0x10320}, {&(0x7f0000010260)="00000000000000000000000080d001000000000500000000000000000050010000000005000000000000000000d1010000000005000000000000000040d00100000000050000000000000000c0d0010000000005000000000000000040d10100000000050000000000000000000008000000000040020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000006000000000000000000d0010000000006000000000000000040d0010000000005000000000000000040d2010000000006000000000000000040d1010000000005000000000000000000000800000000004002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000006000000000000000080d10100000000070000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d10100000000070000000000000000000008000000000070020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d301000000000800000000000000004050010000000006000000000000000000d40100000000080000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d101000000000700000000000000000000080000000000700200000000000100"/640, 0x280, 0x10b20}, {&(0x7f00000104e0)="1e39119b749759d9e10cdea4aa74a3dfda550dc49f410b0f1b003c5e6bc4a653b2b94d3011914a028a38d3571753d4e100001000000000000100000000000001e22904309f604c68847534627b2223c90300000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e00005000"/224, 0xe0, 0x100000}, {&(0x7f00000105c0)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400100000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e11657d6e6670958ad2475bedcf6fafbfb78fdeacfda3579564fa8ab0243474825b2b94d3011914a028a38d3571753d4e100401000000000000100000000000001e22904309f604c68847534627b2223c90400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x260, 0x103ea0}, {&(0x7f0000010820)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e148109a8a16415d80b674b222e82204bffa72d930ebb53ad41e68435a15aafcc4b2b94d3011914a028a38d3571753d4e100801000000000000000000000000001e22904309f604c68847534627b2223c90100000000000000030000000000000002000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e00005000"/736, 0x2e0, 0x107dc0}, {&(0x7f0000010b00)="000000000000000000000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e18f4a7856316e520f60d688d023ac42ea32ab193291e46db4a04b581680f454d5b2b94d3011914a028a38d3571753d4e100c01000000000000000000000000001e22904309f604c68847534627b2223c90100000000000000040000000000000001000000000100000000000000cc00001000000000006b3f0000300000000000", 0x140, 0x10bf40}, {&(0x7f0000010c40)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c900982a805c43b619e544dcbf8da631ff415071ba104545813cf41514c3f9fb11b2b94d3011914a028a38d3571753d4e100001100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000500000000000000", 0xa0, 0x10ffc0}, {&(0x7f0000010ce0)="a83250ca2909be9b9638e1e2400f5f55fe9da3053c902ef80ed40e4b144dfa21b2b94d3011914a028a38d3571753d4e100401100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000700000000000000", 0x60, 0x114000}, {&(0x7f0000010d40)="0b3533358e088571fe6f7a0cf256b95e2268baef315b764223532507fe5dcb5db2b94d3011914a028a38d3571753d4e100801100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000a0000000000000002000000000000100000000000c60000400000000000933f00000800000000c0110000000000c700403e0000000000933f00"/160, 0xa0, 0x118000}, {&(0x7f0000010de0)="0000000000000000000000000000000000000000000000000100000000000000f60274f2838503ccea11b71a7431a5085c5d0d327b303c01e0fe66ab8f709de9b2b94d3011914a028a38d3571753d4e100c01100000000000100000000000001e22904309f604c68847534627b2223c90200000000000000040000000000000002000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f00003000"/192, 0xc0, 0x11bfe0}, {&(0x7f0000010ea0)="0300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c928b8f5dde3e3967571b40674f1ac78184e431015230892719539bf0639362521b2b94d3011914a028a38d3571753d4e100001200000000000100000000000001e22904309f604c68847534627b2223c90200000000000000030000000000000003000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e00005000"/288, 0x120, 0x11ffa0}, {&(0x7f0000010fc0)="8000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000c00000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bd62b46a55071702ffa696d7c654bebfcd2c96ceff45dee8edcfcc36b045a492b2b94d3011914a028a38d3571753d4e100401200000000000100000000000001e22904309f604c68847534627b2223c9020000000000000002000000000000000b000000000000100000000000c00000400000000000833f0000180000000000110000000000a900000000000000006b3f0000180000000000110000000000b005000000000000006b3f0000000000000040110000000000a90000000000000000533f0000180000000040110000000000b00700000000000000533f00000000000000c0110000000000a90000000000000000323f0000210000000000120000000000a90000000000000000113f0000210000000040120000000000a90000000000000000f03e0000210000000080120000000000a90000000000000000cf3e0000210000000000500000000000a90000000000000000ae3e0000210000000000500000000000c00000800000000000963e0000180000000000500000000000c00000800000000000b73e0000180000000080110000000000b00a000000000000000b3f0000000000000000500000000000c00000800000000000f33e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/768, 0x300, 0x123f00}, {&(0x7f00000112c0)="000000000000000000000000000000000000000000000000000000004000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00a00000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000008001000000000000010000000000000200000000000000a0d5139edb0fabf11e5bb8832bded702bac6141ed2370b3d96ec9dde63860236b2b94d3011914a028a38d3571753d4e100801200000000000100000000000001e22904309f604c68847534627b2223c902000000000000000a0000000000000006000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000010000000000933f0000000000000080110000000000c70040000000000000933f00000000000000c0120000000000c700403d0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000040500000000000c700c07f00000000008b3f00"/544, 0x220, 0x127ee0}, {&(0x7f00000114e0)="0000000000000000000000000000000001000000000000000300000000000000", 0x20, 0x12bfe0}, {&(0x7f0000011500)="7dad4e336dde096cf4b80f6a9bb84c93a24bea4054914cf16ff5c90fe16d8f12b2b94d3011914a028a38d3571753d4e100005000000000000100000000000001e22904309f604c68847534627b2223c90400000000000000040000000000000007000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f0000300000000100000000000000cc0000500100000000db3e0000300000000100000000000000cc0000d00100000000ab3e0000300000000100000000000000cc00005002000000007b3e0000300000000100000000000000cc00005004000000004b3e00003000"/288, 0x120, 0x500000}, {&(0x7f0000011620)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c9d86835b8f2ba6d3fc6f1bdb5ae284f5359a85ba7e85385fe953237cfd23e6fffb2b94d3011914a028a38d3571753d4e100405000000000000100000000000001e22904309f604c68847534627b2223c90300000000000000040000000000000003000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f00003000"/544, 0x220, 0x503ea0}, {&(0x7f0000011840)="00000000000000000000000000000000030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c96a7dfd29e61cfb36a6f551fc7f1d14c89cc9d3e5124f23a7847ccced8e811563b2b94d3011914a028a38d3571753d4e100805000000000000100000000000001e22904309f604c68847534627b2223c9030000000000000002000000000000000b000000000000100000000000a900000000000000007a3f0000210000000000100000000000c00000400000000000623f0000180000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000c00000800000000000323f0000180000000040500000000000a90000000000000000113f0000210000000080500000000000a90000000000000000f03e00002100000000c0500000000000a90000000000000000cf3e0000210000000000510000000000a90000000000000000ae3e0000210000000040510000000000a900000000000000008d3e0000210000000000d00000000000c00000800000000000753e0000180000000000500000000000c000008000000000008d3e0000180000000000d00000000000c00000800000000000753e0000180000000000500000000000c00000800000000000f33e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/672, 0x2a0, 0x507f60}, {&(0x7f0000011ae0)="0000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00a00000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000004001000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000008000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000e7ec86669eac1cf14b22a16fc355caf46154b6bb90cd924d31000a398f4ad68cb2b94d3011914a028a38d3571753d4e100c05000000000000100000000000001e22904309f604c68847534627b2223c903000000000000000a0000000000000008000000000000100000000000c60000400000000000933f0000080000000040100000000000c70000010000000000933f0000000000000080110000000000c700803e0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700400000000000008b3f0000000000000080510000000000c700807e00000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f00"/640, 0x280, 0x50bec0}, {&(0x7f0000011d60)="00000000000000000100000000000000020000000000000002000000000000003eaa9c668716741e4cbc68c7221073a2c3a933a072fcd9dd0629a3215cfab787b2b94d3011914a028a38d3571753d4e100005100000000000100000000000001e22904309f604c68847534627b2223c90300000000000000010000000000000009000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b70100000a0000000000000084000000000000000026360000b70100"/384, 0x180, 0x50ffe0}, {&(0x7f0000011ee0)="000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x513680}, {&(0x7f0000011f40)="00000000000000000000000300000000000000000000000000000000c050000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000030000000000", 0x60, 0x513720}, {&(0x7f0000011fa0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x513840}, {&(0x7f0000011fe0)="00000100000000000000000000000000000000401100000000000000000000000000004000000000000000000000000000000000000000000000010000000000", 0x40, 0x5138e0}, {&(0x7f0000012020)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5139e0}, {&(0x7f0000012140)="000000000000000000000300000000000000000100000000000000405100000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000003000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x513b60}, {&(0x7f00000121c0)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x513c00}, {&(0x7f0000012200)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x513c80}, {&(0x7f0000012260)="000000000000000000000000000000000000030000000000000000000000000000000040500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x513d20}, {&(0x7f00000122e0)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x513e40}, {&(0x7f0000012320)="000000000000000000030000000000000000000000000000000080500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x513ee0}, {&(0x7f0000012380)="fa10cde63756809bdea6dac62ada53115cfb9e07889d5a3394a441c6d4e491acb2b94d3011914a028a38d3571753d4e100405100000000000100000000000001e22904309f604c68847534627b2223c90300000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x514000}, {&(0x7f0000012420)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000030d31825843146eb7524694ae5b017bc72bea89cff0b05358e37e6310c69e995b2b94d3011914a028a38d3571753d4e100805100000000000100000000000001e22904309f604c68847534627b2223c9040000000000000002000000000000000d000000000000100000000000c00000400000000000833f0000180000000040100000000000a90000000000000000623f0000210000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000a90000000000000000293f0000210000000000500000000000c00000800000000000113f0000180000000040510000000000a90000000000000000f03e0000210000000080510000000000a90000000000000000cf3e00002100000000c0510000000000a90000000000000000ae3e0000210000000000d00000000000c00000800000000000963e0000180000000000500100000000c000008000000000007e3e0000180000000000d00100000000a900000000000000005d3e0000210000000000d00100000000c00000000200000000453e0000180000000000d00100000000c00000000200000000453e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/704, 0x2c0, 0x517f40}, {&(0x7f00000126e0)="000000000000000000000000000000000000010000000000002400000000000000000000000000000000004000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00100000000000000000000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000010000000000000004000000000000000200000000000000b00a00000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00500000000000000000001000000000000010000000000000400000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000004000000000000000200000000000000b00300000000000000008000000000000000010000000000000200000000000000c9897c5e2973e252fdd15bbca21e10dbc443ffd0b168d00a6e6f6e87b33f6fb9b2b94d3011914a028a38d3571753d4e100c05100000000000100000000000001e22904309f604c68847534627b2223c904000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70040000000000000933f0000000000000080100000000000c700c0000000000000933f0000000000000080110000000000c700803e0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000040500000000000c700000100000000008b3f0000000000000000520000000000c700007e00000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700008000000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000040d00100000000c700c0ff0100000000733f00"/832, 0x340, 0x51be80}, {&(0x7f0000012a20)="00000000000000000000000000000000000000000000000001000000000000000100000000000000010000000000000002000000000000000300000000000000", 0x40, 0x51ffc0}, {&(0x7f0000012a60)="3bd6e7a5c17f3f8b79d98bcbfb35c7f15b6df2008adaf2c4cbf7026d3995929fb2b94d3011914a028a38d3571753d4e100005001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000012b60)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bfabbadcd2676dba9640c1f2c230b0e5d2851b938d43caec7fde79803b267ce6b2b94d3011914a028a38d3571753d4e100405001000000000100000000000001e22904309f604c68847534627b2223c90600000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1503dc0}, {&(0x7f0000012ea0)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1", 0x240, 0x1507dc0}, {&(0x7f00000130e0)="3bd6e7a5c17f3f8b79d98bcbfb35c7f15b6df2008adaf2c4cbf7026d3995929fb2b94d3011914a028a38d3571753d4e100005001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f00000131e0)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bfabbadcd2676dba9640c1f2c230b0e5d2851b938d43caec7fde79803b267ce6b2b94d3011914a028a38d3571753d4e100405001000000000100000000000001e22904309f604c68847534627b2223c90600000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1d03dc0}, {&(0x7f0000013520)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1", 0x240, 0x1d07dc0}, {&(0x7f0000013760)="a91ce9f566f727e6fca4690b9b43a9c83a83b76bc8000c3c291dec9e53ea05cfb2b94d3011914a028a38d3571753d4e10000d001000000000100000000000001e22904309f604c68847534627b2223c9060000000000000002000000000000000c000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000040d00100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e00002100000000c0d10100000000a90000000000000000ae3e0000210000000000d20100000000a900000000000000008d3e0000210000000040d20100000000a900000000000000006c3e0000210000000080d20100000000a900000000000000004b3e00002100000000c0d20100000000a900000000000000002a3e0000210000000000d20100000000a900000000000000002a3e0000210000000000d20100000000a90000000000000000123e0000210000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/512, 0x200, 0x2500000}, {&(0x7f0000013960)="00000000000000000000000000000000000000000000000000000000000000010000000000000005000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000c3ceaf841d917ed3d1179a311553c097361cb941335d5dff2513419af92cb0b7b2b94d3011914a028a38d3571753d4e10040d001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x2503e40}, {&(0x7f0000013bc0)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f630000000000000000b6431ec990f0456fd9f320ef71057b4c639efd3d5e95ce2c69568985ab70cc77b2b94d3011914a028a38d3571753d4e10080d001000000000100000000000001e22904309f604c68847534627b2223c9070000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007e3700003c0000000401000000000000010000000000000000de360000a000000004010000000000000c0001000000000000cf3600000f00000004010000000000001822a8f12600000000a03600002f000000040100000000000018d65ba13500000000713600002f00000004010000000000006c0000000000000000523600001f0000000501000000000000010000000000000000b2350000a000000005010000000000000c0001000000000000943500001e0000000601000000000000010000000000000000f4340000a000000006010000000000000c0001000000000000e13400001300000006010000000000006c0000000000000000683400007900"/992, 0x3e0, 0x2507f40}, {&(0x7f0000013fa0)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3804010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000002452fb074572c8a6d89452c2862e4da034952150211a230048637ccc9b6c4a0eb2b94d3011914a028a38d3571753d4e100c0d001000000000100000000000001e22904309f604c68847534627b2223c90700000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000853600003c0000000401000000000000010000000000000000e5350000a000000004010000000000000c0001000000000000d63500000f00000004010000000000001822a8f12600000000a73500002f000000040100000000000018d65ba13500000000783500002f00000004010000000000006c0000000000000000593500001f0000000501000000000000010000000000000000b9340000a000000005010000000000000c00010000000000009b3400001e00000005010000000000006c000000000000000066340000350000000601000000000000010000000000000000c6330000a000000006010000000000000c0001000000000000b33300001300000006010000000000006c00000000000000003a3300007900"/3872, 0xf20, 0x250b4c0}, {&(0x7f0000014ec0)="0000000000000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed8100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3806010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f630000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d385f1f1f6300000000000000000aa348e1190779fdf7661894b5b780b0c88afef14a4e00792c14f654fb824838b2b94d3011914a028a38d3571753d4e10000d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xd00, 0x250f380}, {&(0x7f0000015bc0)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca71d79fdfa50331654628a29172acbcb995653af3a5aeda8fa51dcbe92610b6b60b2b94d3011914a028a38d3571753d4e10040d101000000000100000000000001e22904309f604c68847534627b2223c905000000000000000700000000000000", 0xc0, 0x2513fa0}, {&(0x7f0000015c80)="f431753b4fd401a8b170127bfedc63cf5b7316b4cac6e1ced7a465c00ab002b6b2b94d3011914a028a38d3571753d4e10080d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e00002100000000c0d10100000000a90000000000000000793e0000210000000000d20100000000a90000000000000000583e0000210000000000d30100000000a90000000000000000373e0000210000000040d30100000000a90000000000000000163e0000210000000080d30100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x2518000}, {&(0x7f0000015e40)="0000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000050afdcf3f4ce114f1d2b22c57e3be70b965b7a0aeacab59a07a2c568bcadee5bb2b94d3011914a028a38d3571753d4e100c0d101000000000100000000000001e22904309f604c68847534627b2223c90500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x251be40}, {&(0x7f00000160a0)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000000000000000000000000000066ff95ab2d52226921073f7fb5bb27ce1658ab30061d327f482e4c3ada948b97b2b94d3011914a028a38d3571753d4e10000d201000000000100000000000001e22904309f604c68847534627b2223c90500000000000000090000000000000001000000004ae6bfe64c964895fb9a5207ec36fca1bb933f0000080000000000", 0x140, 0x251ff40}, {&(0x7f00000161e0)="00000000000000000000000000000000000000000000000005000000000000001ecea082eac163d5f0a9fc9cecc8942bf21a2de3146b6df1831ffa969b619120b2b94d3011914a028a38d3571753d4e10040d201000000000100000000000001e22904309f604c68847534627b2223c90600000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/320, 0x140, 0x2523fe0}, {&(0x7f0000016320)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90b11436d293ed741475972d46f416254f1574c1bb8335f8e75690c5fb6853e76b2b94d3011914a028a38d3571753d4e10080d201000000000100000000000001e22904309f604c68847534627b2223c906000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000080d00100000000c700c0000000000000733f0000000000000080d10100000000c70040000000000000733f0000000000000000d30100000000c70000fd0100000000733f00"/800, 0x320, 0x2527ea0}, {&(0x7f0000016640)="000000000000000000000000000000000000000000000000030000000000000002000000000000000100000000000000010000000000000001000000000000004551bc7f7bc258077e276c76faee6f6fe8866ceb5b9df41f4f964bfc2cad39a3b2b94d3011914a028a38d3571753d4e100c0d201000000000100000000000001e22904309f604c68847534627b2223c9060000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x252bfc0}, {&(0x7f0000016800)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x252f3a0}, {&(0x7f0000016880)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252f4c0}, {&(0x7f00000168e0)="0000000000000000000000000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252f560}, {&(0x7f0000016960)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x252f720}, {&(0x7f00000169c0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x252f840}, {&(0x7f0000016a00)="0000050000000000000000000000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x252f8e0}, {&(0x7f0000016a60)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x252f9e0}, {&(0x7f0000016b80)="00000000000000000000050000000000000000010000000000000040d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000005000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x252fb60}, {&(0x7f0000016c00)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x252fc00}, {&(0x7f0000016c40)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252fc80}, {&(0x7f0000016ca0)="000000000000000000000000000000000000060000000000000000000000000000000040d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252fd20}, {&(0x7f0000016d20)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x252fe40}, {&(0x7f0000016d60)="000000000000000000060000000000000000000000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x252fee0}, {&(0x7f0000016dc0)="e8f5ca3b8a4c7bf3fccd7aa16cc3cf2dd8b21005522c73a9ed9299bc867433cfb2b94d3011914a028a38d3571753d4e10000d301000000000100000000000001e22904309f604c68847534627b2223c907000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70040000000000000733f0000000000000040d20100000000c700c0000000000000733f00000000000000c0d30100000000c70040fc0100000000733f000000", 0x1c0, 0x2530000}, {&(0x7f0000016f80)="000000000000000000000000000000000000000000000000040000000000000002000000000000000100000000000000010000000000000001000000000000009c14a393ca8484679cf9b2be4d17141e246117b36e6d3d739fccfb9545dcd937b2b94d3011914a028a38d3571753d4e10040d301000000000100000000000001e22904309f604c68847534627b2223c9070000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x2533fc0}, {&(0x7f0000017140)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x25373a0}, {&(0x7f00000171c0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x25374c0}, {&(0x7f0000017220)="0000000000000000000000000000000000000000070000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x2537560}, {&(0x7f00000172a0)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x2537720}, {&(0x7f0000017300)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2537840}, {&(0x7f0000017340)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x25378e0}, {&(0x7f00000173a0)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x25379e0}, {&(0x7f00000174e0)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x2537b60}, {&(0x7f00000175c0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2537c80}, {&(0x7f0000017620)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x2537d20}, {&(0x7f00000176a0)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2537e40}, {&(0x7f00000176e0)="000000000000000000070000000000000000000000000000000080d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2537ee0}, {&(0x7f0000017740)="3739c7d1ff5cf166d1b0ade520e1dbbcc50d7869fba368eed18b4e07a6d76f5fb2b94d3011914a028a38d3571753d4e10080d301000000000100000000000001e22904309f604c68847534627b2223c90700000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x2538000}, {&(0x7f0000017840)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c900000000000000000000000000000000000000000000000000000000000000000000000000000000f9b16b68cc4166223e4fb509d323da53d128b4772161b0ba27efa1566ff659aab2b94d3011914a028a38d3571753d4e100c0d301000000000100000000000001e22904309f604c68847534627b2223c9080000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/672, 0x2a0, 0x253bee0}, {&(0x7f0000017ae0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x253f3a0}, {&(0x7f0000017b60)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x253f4c0}, {&(0x7f0000017bc0)="0000000000000000000000000000000000000000080000000000000000000000000000000040d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x253f560}, {&(0x7f0000017c40)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x253f720}, {&(0x7f0000017ca0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x253f840}, {&(0x7f0000017ce0)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x253f8e0}, {&(0x7f0000017d40)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x253f9e0}, {&(0x7f0000017e80)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x253fb60}, {&(0x7f0000017f60)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x253fc80}, {&(0x7f0000017fc0)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x253fd20}, {&(0x7f0000018040)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x253fe40}, {&(0x7f0000018080)="000000000000000000080000000000000000000000000000000000d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x253fee0}, {&(0x7f00000180e0)="7719cc7a01d41721b88c1710ee7c539d825a20fc6e22953a8f4b689effdbb35cb2b94d3011914a028a38d3571753d4e10000d401000000000100000000000001e22904309f604c68847534627b2223c9080000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e00002100000000c0d10100000000a900000000000000009a3e0000210000000000d20100000000a90000000000000000793e0000210000000080d30100000000a90000000000000000583e00002100000000c0d30100000000a90000000000000000373e0000210000000000d40100000000a90000000000000000163e0000210000000040d40100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x2540000}, {&(0x7f00000182a0)="0000000000000000000000000000000000000000000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000a4eb5be0bfba7e0786a4a63762e5e1be90e40f44d16e2a9d75551ad1b128336bb2b94d3011914a028a38d3571753d4e10040d401000000000100000000000001e22904309f604c68847534627b2223c908000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70080000000000000733f0000000000000040d20100000000c70040010000000000733f0000000000000080d40100000000c70080fb0100000000733f000000", 0x380, 0x2543e40}, {&(0x7f0000018620)="00000000000000000000000000000000000000000000000004000000000000000200000000000000010000000000000001000000000000000100000000000000", 0x40, 0x2547fc0}, {&(0x7f0000018660)="11666d1dcab9c82ae32b2c05576ad6c7c9e2a7d87cad263a3947903790061597b2b94d3011914a028a38d3571753d4e1000000040000000001000000000000005f42485266535f4d080000000000000000c0d301000000000040500100000000000000000000000000000000000000000000000800000000007002000000000006000000000000000100000000000000001000000040000000400000001000008100000006000000000000000000000000000000030000000000000041030000000000000200000000010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e100"/320, 0x140, 0x4000000}, {&(0x7f00000187a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4000220}, {&(0x7f00000187c0)="00000000000000000000000001000000000000e4000050010000000000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000"/256, 0x100, 0x4000320}, {&(0x7f00000188c0)="00000000000000000000000080d001000000000500000000000000000050010000000005000000000000000000d1010000000005000000000000000040d00100000000050000000000000000c0d0010000000005000000000000000040d10100000000050000000000000000000008000000000040020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000006000000000000000000d0010000000006000000000000000040d0010000000005000000000000000040d2010000000006000000000000000040d1010000000005000000000000000000000800000000004002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000006000000000000000080d10100000000070000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d10100000000070000000000000000000008000000000070020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d301000000000800000000000000004050010000000006000000000000000000d40100000000080000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d101000000000700000000000000000000080000000000700200000000000100"/640, 0x280, 0x4000b20}, {&(0x7f0000018b40)="a91ce9f566f727e6fca4690b9b43a9c83a83b76bc8000c3c291dec9e53ea05cfb2b94d3011914a028a38d3571753d4e10000d001000000000100000000000001e22904309f604c68847534627b2223c9060000000000000002000000000000000c000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000040d00100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e00002100000000c0d10100000000a90000000000000000ae3e0000210000000000d20100000000a900000000000000008d3e0000210000000040d20100000000a900000000000000006c3e0000210000000080d20100000000a900000000000000004b3e00002100000000c0d20100000000a900000000000000002a3e0000210000000000d20100000000a900000000000000002a3e0000210000000000d20100000000a90000000000000000123e0000210000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/512, 0x200, 0x4500000}, {&(0x7f0000018d40)="00000000000000000000000000000000000000000000000000000000000000010000000000000005000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000c3ceaf841d917ed3d1179a311553c097361cb941335d5dff2513419af92cb0b7b2b94d3011914a028a38d3571753d4e10040d001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x4503e40}, {&(0x7f0000018fa0)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f630000000000000000b6431ec990f0456fd9f320ef71057b4c639efd3d5e95ce2c69568985ab70cc77b2b94d3011914a028a38d3571753d4e10080d001000000000100000000000001e22904309f604c68847534627b2223c9070000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007e3700003c0000000401000000000000010000000000000000de360000a000000004010000000000000c0001000000000000cf3600000f00000004010000000000001822a8f12600000000a03600002f000000040100000000000018d65ba13500000000713600002f00000004010000000000006c0000000000000000523600001f0000000501000000000000010000000000000000b2350000a000000005010000000000000c0001000000000000943500001e0000000601000000000000010000000000000000f4340000a000000006010000000000000c0001000000000000e13400001300000006010000000000006c0000000000000000683400007900"/992, 0x3e0, 0x4507f40}, {&(0x7f0000019380)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3804010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000002452fb074572c8a6d89452c2862e4da034952150211a230048637ccc9b6c4a0eb2b94d3011914a028a38d3571753d4e100c0d001000000000100000000000001e22904309f604c68847534627b2223c90700000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000853600003c0000000401000000000000010000000000000000e5350000a000000004010000000000000c0001000000000000d63500000f00000004010000000000001822a8f12600000000a73500002f000000040100000000000018d65ba13500000000783500002f00000004010000000000006c0000000000000000593500001f0000000501000000000000010000000000000000b9340000a000000005010000000000000c00010000000000009b3400001e00000005010000000000006c000000000000000066340000350000000601000000000000010000000000000000c6330000a000000006010000000000000c0001000000000000b33300001300000006010000000000006c00000000000000003a3300007900"/3872, 0xf20, 0x450b4c0}, {&(0x7f000001a2a0)="0000000000000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed8100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3806010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f630000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d385f1f1f6300000000000000000aa348e1190779fdf7661894b5b780b0c88afef14a4e00792c14f654fb824838b2b94d3011914a028a38d3571753d4e10000d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xd00, 0x450f380}, {&(0x7f000001afa0)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca71d79fdfa50331654628a29172acbcb995653af3a5aeda8fa51dcbe92610b6b60b2b94d3011914a028a38d3571753d4e10040d101000000000100000000000001e22904309f604c68847534627b2223c905000000000000000700000000000000", 0xc0, 0x4513fa0}, {&(0x7f000001b060)="f431753b4fd401a8b170127bfedc63cf5b7316b4cac6e1ced7a465c00ab002b6b2b94d3011914a028a38d3571753d4e10080d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e00002100000000c0d10100000000a90000000000000000793e0000210000000000d20100000000a90000000000000000583e0000210000000000d30100000000a90000000000000000373e0000210000000040d30100000000a90000000000000000163e0000210000000080d30100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x4518000}, {&(0x7f000001b220)="0000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000050afdcf3f4ce114f1d2b22c57e3be70b965b7a0aeacab59a07a2c568bcadee5bb2b94d3011914a028a38d3571753d4e100c0d101000000000100000000000001e22904309f604c68847534627b2223c90500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x451be40}, {&(0x7f000001b480)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000000000000000000000000000066ff95ab2d52226921073f7fb5bb27ce1658ab30061d327f482e4c3ada948b97b2b94d3011914a028a38d3571753d4e10000d201000000000100000000000001e22904309f604c68847534627b2223c90500000000000000090000000000000001000000004ae6bfe64c964895fb9a5207ec36fca1bb933f0000080000000000", 0x140, 0x451ff40}, {&(0x7f000001b5c0)="00000000000000000000000000000000000000000000000005000000000000001ecea082eac163d5f0a9fc9cecc8942bf21a2de3146b6df1831ffa969b619120b2b94d3011914a028a38d3571753d4e10040d201000000000100000000000001e22904309f604c68847534627b2223c90600000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/320, 0x140, 0x4523fe0}, {&(0x7f000001b700)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90b11436d293ed741475972d46f416254f1574c1bb8335f8e75690c5fb6853e76b2b94d3011914a028a38d3571753d4e10080d201000000000100000000000001e22904309f604c68847534627b2223c906000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000080d00100000000c700c0000000000000733f0000000000000080d10100000000c70040000000000000733f0000000000000000d30100000000c70000fd0100000000733f00"/800, 0x320, 0x4527ea0}, {&(0x7f000001ba20)="000000000000000000000000000000000000000000000000030000000000000002000000000000000100000000000000010000000000000001000000000000004551bc7f7bc258077e276c76faee6f6fe8866ceb5b9df41f4f964bfc2cad39a3b2b94d3011914a028a38d3571753d4e100c0d201000000000100000000000001e22904309f604c68847534627b2223c9060000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x452bfc0}, {&(0x7f000001bbe0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x452f3a0}, {&(0x7f000001bc60)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452f4c0}, {&(0x7f000001bcc0)="0000000000000000000000000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452f560}, {&(0x7f000001bd40)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x452f720}, {&(0x7f000001bda0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x452f840}, {&(0x7f000001bde0)="0000050000000000000000000000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x452f8e0}, {&(0x7f000001be40)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x452f9e0}, {&(0x7f000001bf60)="00000000000000000000050000000000000000010000000000000040d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000005000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x452fb60}, {&(0x7f000001bfe0)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x452fc00}, {&(0x7f000001c020)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452fc80}, {&(0x7f000001c080)="000000000000000000000000000000000000060000000000000000000000000000000040d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452fd20}, {&(0x7f000001c100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x452fe40}, {&(0x7f000001c140)="000000000000000000060000000000000000000000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x452fee0}, {&(0x7f000001c1a0)="e8f5ca3b8a4c7bf3fccd7aa16cc3cf2dd8b21005522c73a9ed9299bc867433cfb2b94d3011914a028a38d3571753d4e10000d301000000000100000000000001e22904309f604c68847534627b2223c907000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70040000000000000733f0000000000000040d20100000000c700c0000000000000733f00000000000000c0d30100000000c70040fc0100000000733f000000", 0x1c0, 0x4530000}, {&(0x7f000001c360)="000000000000000000000000000000000000000000000000040000000000000002000000000000000100000000000000010000000000000001000000000000009c14a393ca8484679cf9b2be4d17141e246117b36e6d3d739fccfb9545dcd937b2b94d3011914a028a38d3571753d4e10040d301000000000100000000000001e22904309f604c68847534627b2223c9070000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x4533fc0}, {&(0x7f000001c520)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x45373a0}, {&(0x7f000001c5a0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x45374c0}, {&(0x7f000001c600)="0000000000000000000000000000000000000000070000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x4537560}, {&(0x7f000001c680)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x4537720}, {&(0x7f000001c6e0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4537840}, {&(0x7f000001c720)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x45378e0}, {&(0x7f000001c780)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x45379e0}, {&(0x7f000001c8c0)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x4537b60}, {&(0x7f000001c9a0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4537c80}, {&(0x7f000001ca00)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x4537d20}, {&(0x7f000001ca80)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4537e40}, {&(0x7f000001cac0)="000000000000000000070000000000000000000000000000000080d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4537ee0}, {&(0x7f000001cb20)="3739c7d1ff5cf166d1b0ade520e1dbbcc50d7869fba368eed18b4e07a6d76f5fb2b94d3011914a028a38d3571753d4e10080d301000000000100000000000001e22904309f604c68847534627b2223c90700000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x4538000}, {&(0x7f000001cc20)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c900000000000000000000000000000000000000000000000000000000000000000000000000000000f9b16b68cc4166223e4fb509d323da53d128b4772161b0ba27efa1566ff659aab2b94d3011914a028a38d3571753d4e100c0d301000000000100000000000001e22904309f604c68847534627b2223c9080000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/672, 0x2a0, 0x453bee0}, {&(0x7f000001cec0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x453f3a0}, {&(0x7f000001cf40)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x453f4c0}, {&(0x7f000001cfa0)="0000000000000000000000000000000000000000080000000000000000000000000000000040d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x453f560}, {&(0x7f000001d020)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x453f720}, {&(0x7f000001d080)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x453f840}, {&(0x7f000001d0c0)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x453f8e0}, {&(0x7f000001d120)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x453f9e0}, {&(0x7f000001d260)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x453fb60}, {&(0x7f000001d340)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x453fc80}, {&(0x7f000001d3a0)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x453fd20}, {&(0x7f000001d420)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x453fe40}, {&(0x7f000001d460)="000000000000000000080000000000000000000000000000000000d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x453fee0}, {&(0x7f000001d4c0)="7719cc7a01d41721b88c1710ee7c539d825a20fc6e22953a8f4b689effdbb35cb2b94d3011914a028a38d3571753d4e10000d401000000000100000000000001e22904309f604c68847534627b2223c9080000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e00002100000000c0d10100000000a900000000000000009a3e0000210000000000d20100000000a90000000000000000793e0000210000000080d30100000000a90000000000000000583e00002100000000c0d30100000000a90000000000000000373e0000210000000000d40100000000a90000000000000000163e0000210000000040d40100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x4540000}, {&(0x7f000001d680)="0000000000000000000000000000000000000000000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000a4eb5be0bfba7e0786a4a63762e5e1be90e40f44d16e2a9d75551ad1b128336bb2b94d3011914a028a38d3571753d4e10040d401000000000100000000000001e22904309f604c68847534627b2223c908000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70080000000000000733f0000000000000040d20100000000c70040010000000000733f0000000000000080d40100000000c70080fb0100000000733f000000", 0x380, 0x4543e40}, {&(0x7f000001da00)="00000000000000000000000000000000000000000000000004000000000000000200000000000000010000000000000001000000000000000100000000000000", 0x40, 0x4547fc0}], 0x0, &(0x7f000001da40), 0x1) 19:30:33 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000740)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000080)={r2, 0x1, 0x6, @multicast}, 0x10) r3 = socket$netlink(0x10, 0x3, 0x4) write(r3, &(0x7f0000000000)="2700000014000707030e0000120f0a0011000100f5fe0012ff000000078a151f75080039000500", 0x27) 19:30:33 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000003000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r0}, 0x10) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, &(0x7f0000000000), 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB='huge=always'], 0x0) chdir(&(0x7f0000000040)='./bus\x00') r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) madvise(&(0x7f00001d9000/0x2000)=nil, 0x200000, 0x9) 19:30:33 executing program 3: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) [ 1520.084380][T23385] device lo entered promiscuous mode [ 1520.099203][T23383] loop1: detected capacity change from 0 to 262144 [ 1520.122312][T23381] device lo left promiscuous mode 19:30:33 executing program 2: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:33 executing program 4: bpf$PROG_LOAD_XDP(0x1c, &(0x7f0000000240)={0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) [ 1520.134391][T23383] BTRFS: device fsid b2b94d30-1191-4a02-8a38-d3571753d4e1 devid 1 transid 8 /dev/loop1 scanned by syz-executor.1 (23383) 19:30:33 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000740)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000080)={r2, 0x1, 0x6, @multicast}, 0x10) r3 = socket$netlink(0x10, 0x3, 0x4) write(r3, &(0x7f0000000000)="2700000014000707030e0000120f0a0011000100f5fe0012ff000000078a151f75080039000500", 0x27) 19:30:33 executing program 4: bpf$PROG_LOAD_XDP(0x1c, &(0x7f0000000240)={0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 19:30:33 executing program 3: r0 = fsopen(&(0x7f00000003c0)='cgroup2\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = fsmount(r0, 0x0, 0x0) r2 = openat$cgroup(r1, &(0x7f0000000180)='syz0\x00', 0x200002, 0x0) r3 = openat$cgroup_ro(r2, &(0x7f0000000040)='pids.events\x00', 0x300, 0x0) preadv(r3, &(0x7f0000000700)=[{&(0x7f0000000540)=""/78, 0x4e}], 0x1, 0x0, 0x0) 19:30:33 executing program 4: bpf$PROG_LOAD_XDP(0x1c, &(0x7f0000000240)={0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) [ 1520.312587][T23383] BTRFS info (device loop1): using sha256 (sha256-avx2) checksum algorithm [ 1520.351176][T23399] device lo entered promiscuous mode 19:30:33 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000003000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r0}, 0x10) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, &(0x7f0000000000), 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB='huge=always'], 0x0) chdir(&(0x7f0000000040)='./bus\x00') r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) madvise(&(0x7f00001d9000/0x2000)=nil, 0x200000, 0x9) [ 1520.381133][T23383] BTRFS info (device loop1): using free space tree [ 1520.399322][T23396] device lo left promiscuous mode 19:30:33 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000740)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000080)={r2, 0x1, 0x6, @multicast}, 0x10) r3 = socket$netlink(0x10, 0x3, 0x4) write(r3, &(0x7f0000000000)="2700000014000707030e0000120f0a0011000100f5fe0012ff000000078a151f75080039000500", 0x27) [ 1520.542105][T23414] device lo entered promiscuous mode [ 1520.593651][T23410] device lo left promiscuous mode [ 1520.677068][T23383] BTRFS info (device loop1): enabling ssd optimizations [ 1520.720556][T23383] BTRFS info (device loop1): auto enabling async discard 19:30:34 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000003000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r0}, 0x10) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, &(0x7f0000000000), 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB='huge=always'], 0x0) chdir(&(0x7f0000000040)='./bus\x00') r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) madvise(&(0x7f00001d9000/0x2000)=nil, 0x200000, 0x9) 19:30:34 executing program 4: bpf$PROG_LOAD_XDP(0x1c, &(0x7f0000000240)={0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 19:30:34 executing program 2: r0 = add_key$user(&(0x7f0000000200), &(0x7f0000000240)={'syz', 0x0}, &(0x7f0000000280)='W', 0x1, 0xfffffffffffffffe) io_setup(0x0, 0x0) socket$nl_generic(0x10, 0x3, 0x10) sendmsg$MPTCP_PM_CMD_SET_LIMITS(0xffffffffffffffff, 0x0, 0x0) r1 = add_key$user(&(0x7f0000000540), &(0x7f0000000580)={'syz', 0x0}, &(0x7f00000005c0)="4d5cfb8fccbd4ef82448d45fab68ef0aaf36c2e5a2a013f59693725831dd7eb1a172eff0477214aca977b09035402bc0144b2e5de09fee89811b981eb533dce4785b1f75a427cdc386d2daac388d9639e132c962fdef8595a6313b98903f878e0b1b41fcf20ce345214ec1450fb07fac0163825999d95403a960d2a148ca13ad8d53a0a34fb5e05f439d3b612cb888cf6fbeb1abd0e6b7067f22d6dbc3c85bcc91e26e79237918de812180ffcab39150c8671351a3287b84462e206e60bfdca6a8c7289aab7660c3fb1512105afb95acace1291bf0b5f9127a5c09de3777addff23e3f6429a99ff392803a4a417660c8cd28e5", 0xf3, 0xfffffffffffffffb) r2 = add_key$user(&(0x7f00000006c0), &(0x7f0000000700)={'syz', 0x1}, &(0x7f0000000740)="e55fb2b7785a67c1b334a9f6d9191e932beebfc7fefb72c2493d3fe78e4bc5436a14807b22e548f3394d9a7bcd9963cc9010649b41f1dc3d9fbd53117660c09027b29158296a045337944bea608628112a31c487930c88181d4d3debda5e4ec76d10306f81b5e744d970bc15ec45e1fbf5c6744644a264051cbdcdd87f302425e0df01640416780f938fccc9555521cf7b6deb05a2f83ca9cb", 0x99, 0xfffffffffffffffb) keyctl$dh_compute(0x17, &(0x7f0000000800)={r0, r1, r2}, &(0x7f0000000840)=""/2, 0x2, &(0x7f00000008c0)={&(0x7f0000000880)={'sha224-generic\x00'}}) 19:30:34 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket(0x11, 0x800000003, 0x0) bind(r1, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r1, &(0x7f0000000740)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000080)={r2, 0x1, 0x6, @multicast}, 0x10) r3 = socket$netlink(0x10, 0x3, 0x4) write(r3, &(0x7f0000000000)="2700000014000707030e0000120f0a0011000100f5fe0012ff000000078a151f75080039000500", 0x27) 19:30:34 executing program 1: [ 1520.902214][T23432] device lo entered promiscuous mode syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x9e, &(0x7f0000000200)=[{&(0x7f0000010000)="94bc70481314043d583ea00fa5e94b4bef2368e791807ae8eedf7948442a78f5b2b94d3011914a028a38d3571753d4e1000001000000000001000000000000005f42485266535f4d080000000000000000c0d301000000000040500100000000000000000000000000000000000000000000000800000000007002000000000006000000000000000100000000000000001000000040000000400000001000008100000006000000000000000000000000000000030000000000000041030000000000000200000000010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e100"/320, 0x140, 0x10000}, {&(0x7f0000010140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x10220}, {&(0x7f0000010160)="00000000000000000000000001000000000000e4000050010000000000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000"/256, 0x100, 0x10320}, {&(0x7f0000010260)="00000000000000000000000080d001000000000500000000000000000050010000000005000000000000000000d1010000000005000000000000000040d00100000000050000000000000000c0d0010000000005000000000000000040d10100000000050000000000000000000008000000000040020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000006000000000000000000d0010000000006000000000000000040d0010000000005000000000000000040d2010000000006000000000000000040d1010000000005000000000000000000000800000000004002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000006000000000000000080d10100000000070000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d10100000000070000000000000000000008000000000070020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d301000000000800000000000000004050010000000006000000000000000000d40100000000080000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d101000000000700000000000000000000080000000000700200000000000100"/640, 0x280, 0x10b20}, {&(0x7f00000104e0)="1e39119b749759d9e10cdea4aa74a3dfda550dc49f410b0f1b003c5e6bc4a653b2b94d3011914a028a38d3571753d4e100001000000000000100000000000001e22904309f604c68847534627b2223c90300000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e00005000"/224, 0xe0, 0x100000}, {&(0x7f00000105c0)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400100000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e11657d6e6670958ad2475bedcf6fafbfb78fdeacfda3579564fa8ab0243474825b2b94d3011914a028a38d3571753d4e100401000000000000100000000000001e22904309f604c68847534627b2223c90400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x260, 0x103ea0}, {&(0x7f0000010820)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e148109a8a16415d80b674b222e82204bffa72d930ebb53ad41e68435a15aafcc4b2b94d3011914a028a38d3571753d4e100801000000000000000000000000001e22904309f604c68847534627b2223c90100000000000000030000000000000002000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e00005000"/736, 0x2e0, 0x107dc0}, {&(0x7f0000010b00)="000000000000000000000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e18f4a7856316e520f60d688d023ac42ea32ab193291e46db4a04b581680f454d5b2b94d3011914a028a38d3571753d4e100c01000000000000000000000000001e22904309f604c68847534627b2223c90100000000000000040000000000000001000000000100000000000000cc00001000000000006b3f0000300000000000", 0x140, 0x10bf40}, {&(0x7f0000010c40)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c900982a805c43b619e544dcbf8da631ff415071ba104545813cf41514c3f9fb11b2b94d3011914a028a38d3571753d4e100001100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000500000000000000", 0xa0, 0x10ffc0}, {&(0x7f0000010ce0)="a83250ca2909be9b9638e1e2400f5f55fe9da3053c902ef80ed40e4b144dfa21b2b94d3011914a028a38d3571753d4e100401100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000700000000000000", 0x60, 0x114000}, {&(0x7f0000010d40)="0b3533358e088571fe6f7a0cf256b95e2268baef315b764223532507fe5dcb5db2b94d3011914a028a38d3571753d4e100801100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000a0000000000000002000000000000100000000000c60000400000000000933f00000800000000c0110000000000c700403e0000000000933f00"/160, 0xa0, 0x118000}, {&(0x7f0000010de0)="0000000000000000000000000000000000000000000000000100000000000000f60274f2838503ccea11b71a7431a5085c5d0d327b303c01e0fe66ab8f709de9b2b94d3011914a028a38d3571753d4e100c01100000000000100000000000001e22904309f604c68847534627b2223c90200000000000000040000000000000002000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f00003000"/192, 0xc0, 0x11bfe0}, {&(0x7f0000010ea0)="0300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c928b8f5dde3e3967571b40674f1ac78184e431015230892719539bf0639362521b2b94d3011914a028a38d3571753d4e100001200000000000100000000000001e22904309f604c68847534627b2223c90200000000000000030000000000000003000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e00005000"/288, 0x120, 0x11ffa0}, {&(0x7f0000010fc0)="8000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000c00000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bd62b46a55071702ffa696d7c654bebfcd2c96ceff45dee8edcfcc36b045a492b2b94d3011914a028a38d3571753d4e100401200000000000100000000000001e22904309f604c68847534627b2223c9020000000000000002000000000000000b000000000000100000000000c00000400000000000833f0000180000000000110000000000a900000000000000006b3f0000180000000000110000000000b005000000000000006b3f0000000000000040110000000000a90000000000000000533f0000180000000040110000000000b00700000000000000533f00000000000000c0110000000000a90000000000000000323f0000210000000000120000000000a90000000000000000113f0000210000000040120000000000a90000000000000000f03e0000210000000080120000000000a90000000000000000cf3e0000210000000000500000000000a90000000000000000ae3e0000210000000000500000000000c00000800000000000963e0000180000000000500000000000c00000800000000000b73e0000180000000080110000000000b00a000000000000000b3f0000000000000000500000000000c00000800000000000f33e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/768, 0x300, 0x123f00}, {&(0x7f00000112c0)="000000000000000000000000000000000000000000000000000000004000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00a00000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000008001000000000000010000000000000200000000000000a0d5139edb0fabf11e5bb8832bded702bac6141ed2370b3d96ec9dde63860236b2b94d3011914a028a38d3571753d4e100801200000000000100000000000001e22904309f604c68847534627b2223c902000000000000000a0000000000000006000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000010000000000933f0000000000000080110000000000c70040000000000000933f00000000000000c0120000000000c700403d0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000040500000000000c700c07f00000000008b3f00"/544, 0x220, 0x127ee0}, {&(0x7f00000114e0)="0000000000000000000000000000000001000000000000000300000000000000", 0x20, 0x12bfe0}, {&(0x7f0000011500)="7dad4e336dde096cf4b80f6a9bb84c93a24bea4054914cf16ff5c90fe16d8f12b2b94d3011914a028a38d3571753d4e100005000000000000100000000000001e22904309f604c68847534627b2223c90400000000000000040000000000000007000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f0000300000000100000000000000cc0000500100000000db3e0000300000000100000000000000cc0000d00100000000ab3e0000300000000100000000000000cc00005002000000007b3e0000300000000100000000000000cc00005004000000004b3e00003000"/288, 0x120, 0x500000}, {&(0x7f0000011620)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c9d86835b8f2ba6d3fc6f1bdb5ae284f5359a85ba7e85385fe953237cfd23e6fffb2b94d3011914a028a38d3571753d4e100405000000000000100000000000001e22904309f604c68847534627b2223c90300000000000000040000000000000003000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f00003000"/544, 0x220, 0x503ea0}, {&(0x7f0000011840)="00000000000000000000000000000000030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c96a7dfd29e61cfb36a6f551fc7f1d14c89cc9d3e5124f23a7847ccced8e811563b2b94d3011914a028a38d3571753d4e100805000000000000100000000000001e22904309f604c68847534627b2223c9030000000000000002000000000000000b000000000000100000000000a900000000000000007a3f0000210000000000100000000000c00000400000000000623f0000180000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000c00000800000000000323f0000180000000040500000000000a90000000000000000113f0000210000000080500000000000a90000000000000000f03e00002100000000c0500000000000a90000000000000000cf3e0000210000000000510000000000a90000000000000000ae3e0000210000000040510000000000a900000000000000008d3e0000210000000000d00000000000c00000800000000000753e0000180000000000500000000000c000008000000000008d3e0000180000000000d00000000000c00000800000000000753e0000180000000000500000000000c00000800000000000f33e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/672, 0x2a0, 0x507f60}, {&(0x7f0000011ae0)="0000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00a00000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000004001000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000008000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000e7ec86669eac1cf14b22a16fc355caf46154b6bb90cd924d31000a398f4ad68cb2b94d3011914a028a38d3571753d4e100c05000000000000100000000000001e22904309f604c68847534627b2223c903000000000000000a0000000000000008000000000000100000000000c60000400000000000933f0000080000000040100000000000c70000010000000000933f0000000000000080110000000000c700803e0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700400000000000008b3f0000000000000080510000000000c700807e00000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f00"/640, 0x280, 0x50bec0}, {&(0x7f0000011d60)="00000000000000000100000000000000020000000000000002000000000000003eaa9c668716741e4cbc68c7221073a2c3a933a072fcd9dd0629a3215cfab787b2b94d3011914a028a38d3571753d4e100005100000000000100000000000001e22904309f604c68847534627b2223c90300000000000000010000000000000009000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b70100000a0000000000000084000000000000000026360000b70100"/384, 0x180, 0x50ffe0}, {&(0x7f0000011ee0)="000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x513680}, {&(0x7f0000011f40)="00000000000000000000000300000000000000000000000000000000c050000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000030000000000", 0x60, 0x513720}, {&(0x7f0000011fa0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x513840}, {&(0x7f0000011fe0)="00000100000000000000000000000000000000401100000000000000000000000000004000000000000000000000000000000000000000000000010000000000", 0x40, 0x5138e0}, {&(0x7f0000012020)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5139e0}, {&(0x7f0000012140)="000000000000000000000300000000000000000100000000000000405100000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000003000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x513b60}, {&(0x7f00000121c0)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x513c00}, {&(0x7f0000012200)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x513c80}, {&(0x7f0000012260)="000000000000000000000000000000000000030000000000000000000000000000000040500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x513d20}, {&(0x7f00000122e0)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x513e40}, {&(0x7f0000012320)="000000000000000000030000000000000000000000000000000080500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x513ee0}, {&(0x7f0000012380)="fa10cde63756809bdea6dac62ada53115cfb9e07889d5a3394a441c6d4e491acb2b94d3011914a028a38d3571753d4e100405100000000000100000000000001e22904309f604c68847534627b2223c90300000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x514000}, {&(0x7f0000012420)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000030d31825843146eb7524694ae5b017bc72bea89cff0b05358e37e6310c69e995b2b94d3011914a028a38d3571753d4e100805100000000000100000000000001e22904309f604c68847534627b2223c9040000000000000002000000000000000d000000000000100000000000c00000400000000000833f0000180000000040100000000000a90000000000000000623f0000210000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000a90000000000000000293f0000210000000000500000000000c00000800000000000113f0000180000000040510000000000a90000000000000000f03e0000210000000080510000000000a90000000000000000cf3e00002100000000c0510000000000a90000000000000000ae3e0000210000000000d00000000000c00000800000000000963e0000180000000000500100000000c000008000000000007e3e0000180000000000d00100000000a900000000000000005d3e0000210000000000d00100000000c00000000200000000453e0000180000000000d00100000000c00000000200000000453e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/704, 0x2c0, 0x517f40}, {&(0x7f00000126e0)="000000000000000000000000000000000000010000000000002400000000000000000000000000000000004000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00100000000000000000000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000010000000000000004000000000000000200000000000000b00a00000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00500000000000000000001000000000000010000000000000400000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000004000000000000000200000000000000b00300000000000000008000000000000000010000000000000200000000000000c9897c5e2973e252fdd15bbca21e10dbc443ffd0b168d00a6e6f6e87b33f6fb9b2b94d3011914a028a38d3571753d4e100c05100000000000100000000000001e22904309f604c68847534627b2223c904000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70040000000000000933f0000000000000080100000000000c700c0000000000000933f0000000000000080110000000000c700803e0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000040500000000000c700000100000000008b3f0000000000000000520000000000c700007e00000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700008000000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000040d00100000000c700c0ff0100000000733f00"/832, 0x340, 0x51be80}, {&(0x7f0000012a20)="00000000000000000000000000000000000000000000000001000000000000000100000000000000010000000000000002000000000000000300000000000000", 0x40, 0x51ffc0}, {&(0x7f0000012a60)="3bd6e7a5c17f3f8b79d98bcbfb35c7f15b6df2008adaf2c4cbf7026d3995929fb2b94d3011914a028a38d3571753d4e100005001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000012b60)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bfabbadcd2676dba9640c1f2c230b0e5d2851b938d43caec7fde79803b267ce6b2b94d3011914a028a38d3571753d4e100405001000000000100000000000001e22904309f604c68847534627b2223c90600000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1503dc0}, {&(0x7f0000012ea0)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1", 0x240, 0x1507dc0}, {&(0x7f00000130e0)="3bd6e7a5c17f3f8b79d98bcbfb35c7f15b6df2008adaf2c4cbf7026d3995929fb2b94d3011914a028a38d3571753d4e100005001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f00000131e0)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bfabbadcd2676dba9640c1f2c230b0e5d2851b938d43caec7fde79803b267ce6b2b94d3011914a028a38d3571753d4e100405001000000000100000000000001e22904309f604c68847534627b2223c90600000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1d03dc0}, {&(0x7f0000013520)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1", 0x240, 0x1d07dc0}, {&(0x7f0000013760)="a91ce9f566f727e6fca4690b9b43a9c83a83b76bc8000c3c291dec9e53ea05cfb2b94d3011914a028a38d3571753d4e10000d001000000000100000000000001e22904309f604c68847534627b2223c9060000000000000002000000000000000c000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000040d00100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e00002100000000c0d10100000000a90000000000000000ae3e0000210000000000d20100000000a900000000000000008d3e0000210000000040d20100000000a900000000000000006c3e0000210000000080d20100000000a900000000000000004b3e00002100000000c0d20100000000a900000000000000002a3e0000210000000000d20100000000a900000000000000002a3e0000210000000000d20100000000a90000000000000000123e0000210000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/512, 0x200, 0x2500000}, {&(0x7f0000013960)="00000000000000000000000000000000000000000000000000000000000000010000000000000005000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000c3ceaf841d917ed3d1179a311553c097361cb941335d5dff2513419af92cb0b7b2b94d3011914a028a38d3571753d4e10040d001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x2503e40}, {&(0x7f0000013bc0)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f630000000000000000b6431ec990f0456fd9f320ef71057b4c639efd3d5e95ce2c69568985ab70cc77b2b94d3011914a028a38d3571753d4e10080d001000000000100000000000001e22904309f604c68847534627b2223c9070000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007e3700003c0000000401000000000000010000000000000000de360000a000000004010000000000000c0001000000000000cf3600000f00000004010000000000001822a8f12600000000a03600002f000000040100000000000018d65ba13500000000713600002f00000004010000000000006c0000000000000000523600001f0000000501000000000000010000000000000000b2350000a000000005010000000000000c0001000000000000943500001e0000000601000000000000010000000000000000f4340000a000000006010000000000000c0001000000000000e13400001300000006010000000000006c0000000000000000683400007900"/992, 0x3e0, 0x2507f40}, {&(0x7f0000013fa0)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3804010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000002452fb074572c8a6d89452c2862e4da034952150211a230048637ccc9b6c4a0eb2b94d3011914a028a38d3571753d4e100c0d001000000000100000000000001e22904309f604c68847534627b2223c90700000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000853600003c0000000401000000000000010000000000000000e5350000a000000004010000000000000c0001000000000000d63500000f00000004010000000000001822a8f12600000000a73500002f000000040100000000000018d65ba13500000000783500002f00000004010000000000006c0000000000000000593500001f0000000501000000000000010000000000000000b9340000a000000005010000000000000c00010000000000009b3400001e00000005010000000000006c000000000000000066340000350000000601000000000000010000000000000000c6330000a000000006010000000000000c0001000000000000b33300001300000006010000000000006c00000000000000003a3300007900"/3872, 0xf20, 0x250b4c0}, {&(0x7f0000014ec0)="0000000000000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed8100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3806010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f630000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d385f1f1f6300000000000000000aa348e1190779fdf7661894b5b780b0c88afef14a4e00792c14f654fb824838b2b94d3011914a028a38d3571753d4e10000d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xd00, 0x250f380}, {&(0x7f0000015bc0)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca71d79fdfa50331654628a29172acbcb995653af3a5aeda8fa51dcbe92610b6b60b2b94d3011914a028a38d3571753d4e10040d101000000000100000000000001e22904309f604c68847534627b2223c905000000000000000700000000000000", 0xc0, 0x2513fa0}, {&(0x7f0000015c80)="f431753b4fd401a8b170127bfedc63cf5b7316b4cac6e1ced7a465c00ab002b6b2b94d3011914a028a38d3571753d4e10080d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e00002100000000c0d10100000000a90000000000000000793e0000210000000000d20100000000a90000000000000000583e0000210000000000d30100000000a90000000000000000373e0000210000000040d30100000000a90000000000000000163e0000210000000080d30100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x2518000}, {&(0x7f0000015e40)="0000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000050afdcf3f4ce114f1d2b22c57e3be70b965b7a0aeacab59a07a2c568bcadee5bb2b94d3011914a028a38d3571753d4e100c0d101000000000100000000000001e22904309f604c68847534627b2223c90500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x251be40}, {&(0x7f00000160a0)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000000000000000000000000000066ff95ab2d52226921073f7fb5bb27ce1658ab30061d327f482e4c3ada948b97b2b94d3011914a028a38d3571753d4e10000d201000000000100000000000001e22904309f604c68847534627b2223c90500000000000000090000000000000001000000004ae6bfe64c964895fb9a5207ec36fca1bb933f0000080000000000", 0x140, 0x251ff40}, {&(0x7f00000161e0)="00000000000000000000000000000000000000000000000005000000000000001ecea082eac163d5f0a9fc9cecc8942bf21a2de3146b6df1831ffa969b619120b2b94d3011914a028a38d3571753d4e10040d201000000000100000000000001e22904309f604c68847534627b2223c90600000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/320, 0x140, 0x2523fe0}, {&(0x7f0000016320)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90b11436d293ed741475972d46f416254f1574c1bb8335f8e75690c5fb6853e76b2b94d3011914a028a38d3571753d4e10080d201000000000100000000000001e22904309f604c68847534627b2223c906000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000080d00100000000c700c0000000000000733f0000000000000080d10100000000c70040000000000000733f0000000000000000d30100000000c70000fd0100000000733f00"/800, 0x320, 0x2527ea0}, {&(0x7f0000016640)="000000000000000000000000000000000000000000000000030000000000000002000000000000000100000000000000010000000000000001000000000000004551bc7f7bc258077e276c76faee6f6fe8866ceb5b9df41f4f964bfc2cad39a3b2b94d3011914a028a38d3571753d4e100c0d201000000000100000000000001e22904309f604c68847534627b2223c9060000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x252bfc0}, {&(0x7f0000016800)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x252f3a0}, {&(0x7f0000016880)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252f4c0}, {&(0x7f00000168e0)="0000000000000000000000000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252f560}, {&(0x7f0000016960)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x252f720}, {&(0x7f00000169c0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x252f840}, {&(0x7f0000016a00)="0000050000000000000000000000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x252f8e0}, {&(0x7f0000016a60)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x252f9e0}, {&(0x7f0000016b80)="00000000000000000000050000000000000000010000000000000040d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000005000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x252fb60}, {&(0x7f0000016c00)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x252fc00}, {&(0x7f0000016c40)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252fc80}, {&(0x7f0000016ca0)="000000000000000000000000000000000000060000000000000000000000000000000040d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252fd20}, {&(0x7f0000016d20)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x252fe40}, {&(0x7f0000016d60)="000000000000000000060000000000000000000000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x252fee0}, {&(0x7f0000016dc0)="e8f5ca3b8a4c7bf3fccd7aa16cc3cf2dd8b21005522c73a9ed9299bc867433cfb2b94d3011914a028a38d3571753d4e10000d301000000000100000000000001e22904309f604c68847534627b2223c907000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70040000000000000733f0000000000000040d20100000000c700c0000000000000733f00000000000000c0d30100000000c70040fc0100000000733f000000", 0x1c0, 0x2530000}, {&(0x7f0000016f80)="000000000000000000000000000000000000000000000000040000000000000002000000000000000100000000000000010000000000000001000000000000009c14a393ca8484679cf9b2be4d17141e246117b36e6d3d739fccfb9545dcd937b2b94d3011914a028a38d3571753d4e10040d301000000000100000000000001e22904309f604c68847534627b2223c9070000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x2533fc0}, {&(0x7f0000017140)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x25373a0}, {&(0x7f00000171c0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x25374c0}, {&(0x7f0000017220)="0000000000000000000000000000000000000000070000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x2537560}, {&(0x7f00000172a0)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x2537720}, {&(0x7f0000017300)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2537840}, {&(0x7f0000017340)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x25378e0}, {&(0x7f00000173a0)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x25379e0}, {&(0x7f00000174e0)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x2537b60}, {&(0x7f00000175c0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2537c80}, {&(0x7f0000017620)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x2537d20}, {&(0x7f00000176a0)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2537e40}, {&(0x7f00000176e0)="000000000000000000070000000000000000000000000000000080d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2537ee0}, {&(0x7f0000017740)="3739c7d1ff5cf166d1b0ade520e1dbbcc50d7869fba368eed18b4e07a6d76f5fb2b94d3011914a028a38d3571753d4e10080d301000000000100000000000001e22904309f604c68847534627b2223c90700000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x2538000}, {&(0x7f0000017840)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c900000000000000000000000000000000000000000000000000000000000000000000000000000000f9b16b68cc4166223e4fb509d323da53d128b4772161b0ba27efa1566ff659aab2b94d3011914a028a38d3571753d4e100c0d301000000000100000000000001e22904309f604c68847534627b2223c9080000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/672, 0x2a0, 0x253bee0}, {&(0x7f0000017ae0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x253f3a0}, {&(0x7f0000017b60)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x253f4c0}, {&(0x7f0000017bc0)="0000000000000000000000000000000000000000080000000000000000000000000000000040d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x253f560}, {&(0x7f0000017c40)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x253f720}, {&(0x7f0000017ca0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x253f840}, {&(0x7f0000017ce0)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x253f8e0}, {&(0x7f0000017d40)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x253f9e0}, {&(0x7f0000017e80)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x253fb60}, {&(0x7f0000017f60)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x253fc80}, {&(0x7f0000017fc0)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x253fd20}, {&(0x7f0000018040)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x253fe40}, {&(0x7f0000018080)="000000000000000000080000000000000000000000000000000000d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x253fee0}, {&(0x7f00000180e0)="7719cc7a01d41721b88c1710ee7c539d825a20fc6e22953a8f4b689effdbb35cb2b94d3011914a028a38d3571753d4e10000d401000000000100000000000001e22904309f604c68847534627b2223c9080000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e00002100000000c0d10100000000a900000000000000009a3e0000210000000000d20100000000a90000000000000000793e0000210000000080d30100000000a90000000000000000583e00002100000000c0d30100000000a90000000000000000373e0000210000000000d40100000000a90000000000000000163e0000210000000040d40100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x2540000}, {&(0x7f00000182a0)="0000000000000000000000000000000000000000000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000a4eb5be0bfba7e0786a4a63762e5e1be90e40f44d16e2a9d75551ad1b128336bb2b94d3011914a028a38d3571753d4e10040d401000000000100000000000001e22904309f604c68847534627b2223c908000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70080000000000000733f0000000000000040d20100000000c70040010000000000733f0000000000000080d40100000000c70080fb0100000000733f000000", 0x380, 0x2543e40}, {&(0x7f0000018620)="00000000000000000000000000000000000000000000000004000000000000000200000000000000010000000000000001000000000000000100000000000000", 0x40, 0x2547fc0}, {&(0x7f0000018660)="11666d1dcab9c82ae32b2c05576ad6c7c9e2a7d87cad263a3947903790061597b2b94d3011914a028a38d3571753d4e1000000040000000001000000000000005f42485266535f4d080000000000000000c0d301000000000040500100000000000000000000000000000000000000000000000800000000007002000000000006000000000000000100000000000000001000000040000000400000001000008100000006000000000000000000000000000000030000000000000041030000000000000200000000010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e100"/320, 0x140, 0x4000000}, {&(0x7f00000187a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4000220}, {&(0x7f00000187c0)="00000000000000000000000001000000000000e4000050010000000000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000"/256, 0x100, 0x4000320}, {&(0x7f00000188c0)="00000000000000000000000080d001000000000500000000000000000050010000000005000000000000000000d1010000000005000000000000000040d00100000000050000000000000000c0d0010000000005000000000000000040d10100000000050000000000000000000008000000000040020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000006000000000000000000d0010000000006000000000000000040d0010000000005000000000000000040d2010000000006000000000000000040d1010000000005000000000000000000000800000000004002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000006000000000000000080d10100000000070000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d10100000000070000000000000000000008000000000070020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d301000000000800000000000000004050010000000006000000000000000000d40100000000080000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d101000000000700000000000000000000080000000000700200000000000100"/640, 0x280, 0x4000b20}, {&(0x7f0000018b40)="a91ce9f566f727e6fca4690b9b43a9c83a83b76bc8000c3c291dec9e53ea05cfb2b94d3011914a028a38d3571753d4e10000d001000000000100000000000001e22904309f604c68847534627b2223c9060000000000000002000000000000000c000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000040d00100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e00002100000000c0d10100000000a90000000000000000ae3e0000210000000000d20100000000a900000000000000008d3e0000210000000040d20100000000a900000000000000006c3e0000210000000080d20100000000a900000000000000004b3e00002100000000c0d20100000000a900000000000000002a3e0000210000000000d20100000000a900000000000000002a3e0000210000000000d20100000000a90000000000000000123e0000210000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/512, 0x200, 0x4500000}, {&(0x7f0000018d40)="00000000000000000000000000000000000000000000000000000000000000010000000000000005000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000c3ceaf841d917ed3d1179a311553c097361cb941335d5dff2513419af92cb0b7b2b94d3011914a028a38d3571753d4e10040d001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x4503e40}, {&(0x7f0000018fa0)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f630000000000000000b6431ec990f0456fd9f320ef71057b4c639efd3d5e95ce2c69568985ab70cc77b2b94d3011914a028a38d3571753d4e10080d001000000000100000000000001e22904309f604c68847534627b2223c9070000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007e3700003c0000000401000000000000010000000000000000de360000a000000004010000000000000c0001000000000000cf3600000f00000004010000000000001822a8f12600000000a03600002f000000040100000000000018d65ba13500000000713600002f00000004010000000000006c0000000000000000523600001f0000000501000000000000010000000000000000b2350000a000000005010000000000000c0001000000000000943500001e0000000601000000000000010000000000000000f4340000a000000006010000000000000c0001000000000000e13400001300000006010000000000006c0000000000000000683400007900"/992, 0x3e0, 0x4507f40}, {&(0x7f0000019380)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3804010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000002452fb074572c8a6d89452c2862e4da034952150211a230048637ccc9b6c4a0eb2b94d3011914a028a38d3571753d4e100c0d001000000000100000000000001e22904309f604c68847534627b2223c90700000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000853600003c0000000401000000000000010000000000000000e5350000a000000004010000000000000c0001000000000000d63500000f00000004010000000000001822a8f12600000000a73500002f000000040100000000000018d65ba13500000000783500002f00000004010000000000006c0000000000000000593500001f0000000501000000000000010000000000000000b9340000a000000005010000000000000c00010000000000009b3400001e00000005010000000000006c000000000000000066340000350000000601000000000000010000000000000000c6330000a000000006010000000000000c0001000000000000b33300001300000006010000000000006c00000000000000003a3300007900"/3872, 0xf20, 0x450b4c0}, {&(0x7f000001a2a0)="0000000000000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed8100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3806010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f630000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d385f1f1f6300000000000000000aa348e1190779fdf7661894b5b780b0c88afef14a4e00792c14f654fb824838b2b94d3011914a028a38d3571753d4e10000d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xd00, 0x450f380}, {&(0x7f000001afa0)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca71d79fdfa50331654628a29172acbcb995653af3a5aeda8fa51dcbe92610b6b60b2b94d3011914a028a38d3571753d4e10040d101000000000100000000000001e22904309f604c68847534627b2223c905000000000000000700000000000000", 0xc0, 0x4513fa0}, {&(0x7f000001b060)="f431753b4fd401a8b170127bfedc63cf5b7316b4cac6e1ced7a465c00ab002b6b2b94d3011914a028a38d3571753d4e10080d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e00002100000000c0d10100000000a90000000000000000793e0000210000000000d20100000000a90000000000000000583e0000210000000000d30100000000a90000000000000000373e0000210000000040d30100000000a90000000000000000163e0000210000000080d30100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x4518000}, {&(0x7f000001b220)="0000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000050afdcf3f4ce114f1d2b22c57e3be70b965b7a0aeacab59a07a2c568bcadee5bb2b94d3011914a028a38d3571753d4e100c0d101000000000100000000000001e22904309f604c68847534627b2223c90500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x451be40}, {&(0x7f000001b480)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000000000000000000000000000066ff95ab2d52226921073f7fb5bb27ce1658ab30061d327f482e4c3ada948b97b2b94d3011914a028a38d3571753d4e10000d201000000000100000000000001e22904309f604c68847534627b2223c90500000000000000090000000000000001000000004ae6bfe64c964895fb9a5207ec36fca1bb933f0000080000000000", 0x140, 0x451ff40}, {&(0x7f000001b5c0)="00000000000000000000000000000000000000000000000005000000000000001ecea082eac163d5f0a9fc9cecc8942bf21a2de3146b6df1831ffa969b619120b2b94d3011914a028a38d3571753d4e10040d201000000000100000000000001e22904309f604c68847534627b2223c90600000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/320, 0x140, 0x4523fe0}, {&(0x7f000001b700)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90b11436d293ed741475972d46f416254f1574c1bb8335f8e75690c5fb6853e76b2b94d3011914a028a38d3571753d4e10080d201000000000100000000000001e22904309f604c68847534627b2223c906000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000080d00100000000c700c0000000000000733f0000000000000080d10100000000c70040000000000000733f0000000000000000d30100000000c70000fd0100000000733f00"/800, 0x320, 0x4527ea0}, {&(0x7f000001ba20)="000000000000000000000000000000000000000000000000030000000000000002000000000000000100000000000000010000000000000001000000000000004551bc7f7bc258077e276c76faee6f6fe8866ceb5b9df41f4f964bfc2cad39a3b2b94d3011914a028a38d3571753d4e100c0d201000000000100000000000001e22904309f604c68847534627b2223c9060000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x452bfc0}, {&(0x7f000001bbe0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x452f3a0}, {&(0x7f000001bc60)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452f4c0}, {&(0x7f000001bcc0)="0000000000000000000000000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452f560}, {&(0x7f000001bd40)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x452f720}, {&(0x7f000001bda0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x452f840}, {&(0x7f000001bde0)="0000050000000000000000000000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x452f8e0}, {&(0x7f000001be40)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x452f9e0}, {&(0x7f000001bf60)="00000000000000000000050000000000000000010000000000000040d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000005000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x452fb60}, {&(0x7f000001bfe0)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x452fc00}, {&(0x7f000001c020)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452fc80}, {&(0x7f000001c080)="000000000000000000000000000000000000060000000000000000000000000000000040d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452fd20}, {&(0x7f000001c100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x452fe40}, {&(0x7f000001c140)="000000000000000000060000000000000000000000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x452fee0}, {&(0x7f000001c1a0)="e8f5ca3b8a4c7bf3fccd7aa16cc3cf2dd8b21005522c73a9ed9299bc867433cfb2b94d3011914a028a38d3571753d4e10000d301000000000100000000000001e22904309f604c68847534627b2223c907000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70040000000000000733f0000000000000040d20100000000c700c0000000000000733f00000000000000c0d30100000000c70040fc0100000000733f000000", 0x1c0, 0x4530000}, {&(0x7f000001c360)="000000000000000000000000000000000000000000000000040000000000000002000000000000000100000000000000010000000000000001000000000000009c14a393ca8484679cf9b2be4d17141e246117b36e6d3d739fccfb9545dcd937b2b94d3011914a028a38d3571753d4e10040d301000000000100000000000001e22904309f604c68847534627b2223c9070000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x4533fc0}, {&(0x7f000001c520)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x45373a0}, {&(0x7f000001c5a0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x45374c0}, {&(0x7f000001c600)="0000000000000000000000000000000000000000070000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x4537560}, {&(0x7f000001c680)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x4537720}, {&(0x7f000001c6e0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4537840}, {&(0x7f000001c720)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x45378e0}, {&(0x7f000001c780)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x45379e0}, {&(0x7f000001c8c0)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x4537b60}, {&(0x7f000001c9a0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4537c80}, {&(0x7f000001ca00)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x4537d20}, {&(0x7f000001ca80)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4537e40}, {&(0x7f000001cac0)="000000000000000000070000000000000000000000000000000080d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4537ee0}, {&(0x7f000001cb20)="3739c7d1ff5cf166d1b0ade520e1dbbcc50d7869fba368eed18b4e07a6d76f5fb2b94d3011914a028a38d3571753d4e10080d301000000000100000000000001e22904309f604c68847534627b2223c90700000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x4538000}, {&(0x7f000001cc20)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c900000000000000000000000000000000000000000000000000000000000000000000000000000000f9b16b68cc4166223e4fb509d323da53d128b4772161b0ba27efa1566ff659aab2b94d3011914a028a38d3571753d4e100c0d301000000000100000000000001e22904309f604c68847534627b2223c9080000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/672, 0x2a0, 0x453bee0}, {&(0x7f000001cec0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x453f3a0}, {&(0x7f000001cf40)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x453f4c0}, {&(0x7f000001cfa0)="0000000000000000000000000000000000000000080000000000000000000000000000000040d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x453f560}, {&(0x7f000001d020)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x453f720}, {&(0x7f000001d080)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x453f840}, {&(0x7f000001d0c0)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x453f8e0}, {&(0x7f000001d120)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x453f9e0}, {&(0x7f000001d260)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x453fb60}, {&(0x7f000001d340)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x453fc80}, {&(0x7f000001d3a0)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x453fd20}, {&(0x7f000001d420)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x453fe40}, {&(0x7f000001d460)="000000000000000000080000000000000000000000000000000000d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x453fee0}, {&(0x7f000001d4c0)="7719cc7a01d41721b88c1710ee7c539d825a20fc6e22953a8f4b689effdbb35cb2b94d3011914a028a38d3571753d4e10000d401000000000100000000000001e22904309f604c68847534627b2223c9080000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e00002100000000c0d10100000000a900000000000000009a3e0000210000000000d20100000000a90000000000000000793e0000210000000080d30100000000a90000000000000000583e00002100000000c0d30100000000a90000000000000000373e0000210000000000d40100000000a90000000000000000163e0000210000000040d40100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x4540000}, {&(0x7f000001d680)="0000000000000000000000000000000000000000000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000a4eb5be0bfba7e0786a4a63762e5e1be90e40f44d16e2a9d75551ad1b128336bb2b94d3011914a028a38d3571753d4e10040d401000000000100000000000001e22904309f604c68847534627b2223c908000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70080000000000000733f0000000000000040d20100000000c70040010000000000733f0000000000000080d40100000000c70080fb0100000000733f000000", 0x380, 0x4543e40}, {&(0x7f000001da00)="00000000000000000000000000000000000000000000000004000000000000000200000000000000010000000000000001000000000000000100000000000000", 0x40, 0x4547fc0}], 0x0, &(0x7f000001da40), 0x1) 19:30:34 executing program 4: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCGETTUNNEL(r0, 0x8947, &(0x7f0000000100)={'ip6gre0\x00', 0x0}) 19:30:34 executing program 2: r0 = add_key$user(&(0x7f0000000200), &(0x7f0000000240)={'syz', 0x0}, &(0x7f0000000280)='W', 0x1, 0xfffffffffffffffe) io_setup(0x0, 0x0) socket$nl_generic(0x10, 0x3, 0x10) sendmsg$MPTCP_PM_CMD_SET_LIMITS(0xffffffffffffffff, 0x0, 0x0) r1 = add_key$user(&(0x7f0000000540), &(0x7f0000000580)={'syz', 0x0}, &(0x7f00000005c0)="4d5cfb8fccbd4ef82448d45fab68ef0aaf36c2e5a2a013f59693725831dd7eb1a172eff0477214aca977b09035402bc0144b2e5de09fee89811b981eb533dce4785b1f75a427cdc386d2daac388d9639e132c962fdef8595a6313b98903f878e0b1b41fcf20ce345214ec1450fb07fac0163825999d95403a960d2a148ca13ad8d53a0a34fb5e05f439d3b612cb888cf6fbeb1abd0e6b7067f22d6dbc3c85bcc91e26e79237918de812180ffcab39150c8671351a3287b84462e206e60bfdca6a8c7289aab7660c3fb1512105afb95acace1291bf0b5f9127a5c09de3777addff23e3f6429a99ff392803a4a417660c8cd28e5", 0xf3, 0xfffffffffffffffb) r2 = add_key$user(&(0x7f00000006c0), &(0x7f0000000700)={'syz', 0x1}, &(0x7f0000000740)="e55fb2b7785a67c1b334a9f6d9191e932beebfc7fefb72c2493d3fe78e4bc5436a14807b22e548f3394d9a7bcd9963cc9010649b41f1dc3d9fbd53117660c09027b29158296a045337944bea608628112a31c487930c88181d4d3debda5e4ec76d10306f81b5e744d970bc15ec45e1fbf5c6744644a264051cbdcdd87f302425e0df01640416780f938fccc9555521cf7b6deb05a2f83ca9cb", 0x99, 0xfffffffffffffffb) keyctl$dh_compute(0x17, &(0x7f0000000800)={r0, r1, r2}, &(0x7f0000000840)=""/2, 0x2, &(0x7f00000008c0)={&(0x7f0000000880)={'sha224-generic\x00'}}) [ 1520.987717][T23429] device lo left promiscuous mode 19:30:34 executing program 5: r0 = syz_io_uring_setup(0x501c, &(0x7f0000000140)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000200)) io_uring_register$IORING_REGISTER_IOWQ_MAX_WORKERS(r0, 0x13, &(0x7f0000000000), 0x2) 19:30:34 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000003000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r0}, 0x10) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, &(0x7f0000000000), 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB='huge=always'], 0x0) chdir(&(0x7f0000000040)='./bus\x00') r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) madvise(&(0x7f00001d9000/0x2000)=nil, 0x200000, 0x9) 19:30:34 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000180)=@bridge_getlink={0x34, 0x10, 0x1, 0x0, 0x0, {}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x2, 0x0, 0x1, {0x7, 0x1, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) 19:30:34 executing program 2: r0 = add_key$user(&(0x7f0000000200), &(0x7f0000000240)={'syz', 0x0}, &(0x7f0000000280)='W', 0x1, 0xfffffffffffffffe) io_setup(0x0, 0x0) socket$nl_generic(0x10, 0x3, 0x10) sendmsg$MPTCP_PM_CMD_SET_LIMITS(0xffffffffffffffff, 0x0, 0x0) r1 = add_key$user(&(0x7f0000000540), &(0x7f0000000580)={'syz', 0x0}, &(0x7f00000005c0)="4d5cfb8fccbd4ef82448d45fab68ef0aaf36c2e5a2a013f59693725831dd7eb1a172eff0477214aca977b09035402bc0144b2e5de09fee89811b981eb533dce4785b1f75a427cdc386d2daac388d9639e132c962fdef8595a6313b98903f878e0b1b41fcf20ce345214ec1450fb07fac0163825999d95403a960d2a148ca13ad8d53a0a34fb5e05f439d3b612cb888cf6fbeb1abd0e6b7067f22d6dbc3c85bcc91e26e79237918de812180ffcab39150c8671351a3287b84462e206e60bfdca6a8c7289aab7660c3fb1512105afb95acace1291bf0b5f9127a5c09de3777addff23e3f6429a99ff392803a4a417660c8cd28e5", 0xf3, 0xfffffffffffffffb) r2 = add_key$user(&(0x7f00000006c0), &(0x7f0000000700)={'syz', 0x1}, &(0x7f0000000740)="e55fb2b7785a67c1b334a9f6d9191e932beebfc7fefb72c2493d3fe78e4bc5436a14807b22e548f3394d9a7bcd9963cc9010649b41f1dc3d9fbd53117660c09027b29158296a045337944bea608628112a31c487930c88181d4d3debda5e4ec76d10306f81b5e744d970bc15ec45e1fbf5c6744644a264051cbdcdd87f302425e0df01640416780f938fccc9555521cf7b6deb05a2f83ca9cb", 0x99, 0xfffffffffffffffb) keyctl$dh_compute(0x17, &(0x7f0000000800)={r0, r1, r2}, &(0x7f0000000840)=""/2, 0x2, &(0x7f00000008c0)={&(0x7f0000000880)={'sha224-generic\x00'}}) 19:30:34 executing program 5: r0 = syz_io_uring_setup(0x501c, &(0x7f0000000140)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000200)) io_uring_register$IORING_REGISTER_IOWQ_MAX_WORKERS(r0, 0x13, &(0x7f0000000000), 0x2) 19:30:35 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000003000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r0}, 0x10) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, &(0x7f0000000000), 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB='huge=always'], 0x0) chdir(&(0x7f0000000040)='./bus\x00') r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) madvise(&(0x7f00001d9000/0x2000)=nil, 0x200000, 0x9) 19:30:35 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000180)=@bridge_getlink={0x34, 0x10, 0x1, 0x0, 0x0, {}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x2, 0x0, 0x1, {0x7, 0x1, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) 19:30:35 executing program 2: r0 = add_key$user(&(0x7f0000000200), &(0x7f0000000240)={'syz', 0x0}, &(0x7f0000000280)='W', 0x1, 0xfffffffffffffffe) io_setup(0x0, 0x0) socket$nl_generic(0x10, 0x3, 0x10) sendmsg$MPTCP_PM_CMD_SET_LIMITS(0xffffffffffffffff, 0x0, 0x0) r1 = add_key$user(&(0x7f0000000540), &(0x7f0000000580)={'syz', 0x0}, &(0x7f00000005c0)="4d5cfb8fccbd4ef82448d45fab68ef0aaf36c2e5a2a013f59693725831dd7eb1a172eff0477214aca977b09035402bc0144b2e5de09fee89811b981eb533dce4785b1f75a427cdc386d2daac388d9639e132c962fdef8595a6313b98903f878e0b1b41fcf20ce345214ec1450fb07fac0163825999d95403a960d2a148ca13ad8d53a0a34fb5e05f439d3b612cb888cf6fbeb1abd0e6b7067f22d6dbc3c85bcc91e26e79237918de812180ffcab39150c8671351a3287b84462e206e60bfdca6a8c7289aab7660c3fb1512105afb95acace1291bf0b5f9127a5c09de3777addff23e3f6429a99ff392803a4a417660c8cd28e5", 0xf3, 0xfffffffffffffffb) r2 = add_key$user(&(0x7f00000006c0), &(0x7f0000000700)={'syz', 0x1}, &(0x7f0000000740)="e55fb2b7785a67c1b334a9f6d9191e932beebfc7fefb72c2493d3fe78e4bc5436a14807b22e548f3394d9a7bcd9963cc9010649b41f1dc3d9fbd53117660c09027b29158296a045337944bea608628112a31c487930c88181d4d3debda5e4ec76d10306f81b5e744d970bc15ec45e1fbf5c6744644a264051cbdcdd87f302425e0df01640416780f938fccc9555521cf7b6deb05a2f83ca9cb", 0x99, 0xfffffffffffffffb) keyctl$dh_compute(0x17, &(0x7f0000000800)={r0, r1, r2}, &(0x7f0000000840)=""/2, 0x2, &(0x7f00000008c0)={&(0x7f0000000880)={'sha224-generic\x00'}}) 19:30:35 executing program 5: r0 = syz_io_uring_setup(0x501c, &(0x7f0000000140)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000200)) io_uring_register$IORING_REGISTER_IOWQ_MAX_WORKERS(r0, 0x13, &(0x7f0000000000), 0x2) [ 1521.603457][T23456] loop1: detected capacity change from 0 to 262144 [ 1521.667128][T23456] BTRFS info (device loop1): using sha256 (sha256-avx2) checksum algorithm [ 1521.720454][T23456] BTRFS info (device loop1): using free space tree [ 1521.951557][ T35] ================================================================== [ 1521.959666][ T35] BUG: KASAN: stack-out-of-bounds in collapse_file+0x4edf/0x5830 [ 1521.967413][ T35] Read of size 8 at addr ffffc90000ac7b50 by task khugepaged/35 [ 1521.975061][ T35] [ 1521.977394][ T35] CPU: 0 PID: 35 Comm: khugepaged Not tainted 6.1.0-rc4-next-20221111-syzkaller #0 [ 1521.986697][ T35] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 [ 1521.996769][ T35] Call Trace: [ 1522.000063][ T35] [ 1522.003017][ T35] dump_stack_lvl+0xcd/0x134 [ 1522.007661][ T35] print_report+0x15e/0x45d [ 1522.012208][ T35] ? collapse_file+0x4edf/0x5830 [ 1522.017170][ T35] kasan_report+0xbb/0x1f0 [ 1522.021601][ T35] ? collapse_file+0x4edf/0x5830 [ 1522.026548][ T35] collapse_file+0x4edf/0x5830 [ 1522.031328][ T35] ? is_refcount_suitable+0x840/0x840 [ 1522.036706][ T35] ? find_held_lock+0x2d/0x110 [ 1522.041495][ T35] ? hpage_collapse_scan_file+0x2c3/0x18e0 [ 1522.047326][ T35] ? xas_find+0x2fe/0x7d0 [ 1522.051710][ T35] hpage_collapse_scan_file+0xdba/0x18e0 [ 1522.057369][ T35] ? collapse_file+0x5830/0x5830 [ 1522.062323][ T35] khugepaged+0x9e0/0x1590 [ 1522.066750][ T35] ? collapse_pte_mapped_thp+0x10f0/0x10f0 [ 1522.072561][ T35] ? __kthread_parkme+0xce/0x220 [ 1522.077500][ T35] ? lock_downgrade+0x6e0/0x6e0 [ 1522.082362][ T35] ? prepare_to_wait_exclusive+0x2b0/0x2b0 [ 1522.088175][ T35] ? lockdep_hardirqs_on+0x79/0x100 [ 1522.093435][ T35] ? __kthread_parkme+0x15f/0x220 [ 1522.098463][ T35] ? collapse_pte_mapped_thp+0x10f0/0x10f0 [ 1522.104272][ T35] kthread+0x2e4/0x3a0 [ 1522.108339][ T35] ? kthread_complete_and_exit+0x40/0x40 [ 1522.113973][ T35] ret_from_fork+0x1f/0x30 [ 1522.118402][ T35] [ 1522.121413][ T35] [ 1522.123728][ T35] The buggy address belongs to stack of task khugepaged/35 [ 1522.130910][ T35] and is located at offset 120 in frame: [ 1522.136629][ T35] collapse_file+0x0/0x5830 [ 1522.141144][ T35] [ 1522.143462][ T35] This frame has 4 objects: [ 1522.147956][ T35] [32, 40) 'hpage' [ 1522.147969][ T35] [64, 72) 'folio' [ 1522.151770][ T35] [96, 112) 'pagelist' [ 1522.155569][ T35] [128, 184) 'xas' [ 1522.159716][ T35] [ 1522.165816][ T35] The buggy address belongs to the virtual mapping at [ 1522.165816][ T35] [ffffc90000ac0000, ffffc90000ac9000) created by: [ 1522.165816][ T35] kernel_clone+0xe7/0x980 [ 1522.183268][ T35] [ 1522.185584][ T35] The buggy address belongs to the physical page: [ 1522.191984][ T35] page:ffffea00005c2700 refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x1709c [ 1522.202128][ T35] flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) [ 1522.209239][ T35] raw: 00fff00000000000 0000000000000000 dead000000000122 0000000000000000 [ 1522.217818][ T35] raw: 0000000000000000 0000000000000000 00000001ffffffff 0000000000000000 [ 1522.226388][ T35] page dumped because: kasan: bad access detected [ 1522.232785][ T35] page_owner tracks the page as allocated [ 1522.238488][ T35] page last allocated via order 0, migratetype Unmovable, gfp_mask 0x2dc2(GFP_KERNEL|__GFP_HIGHMEM|__GFP_NOWARN|__GFP_ZERO), pid 2, tgid 2 (kthreadd), ts 1952645470, free_ts 0 [ 1522.255846][ T35] get_page_from_freelist+0x10b5/0x2d50 [ 1522.261391][ T35] __alloc_pages+0x1c7/0x5a0 [ 1522.265978][ T35] alloc_pages+0x1a6/0x270 [ 1522.270398][ T35] __vmalloc_node_range+0x971/0x13b0 [ 1522.275692][ T35] copy_process+0x12d2/0x7520 [ 1522.280370][ T35] kernel_clone+0xe7/0x980 [ 1522.284783][ T35] kernel_thread+0xb5/0xf0 [ 1522.289200][ T35] kthreadd+0x4ea/0x750 [ 1522.293353][ T35] ret_from_fork+0x1f/0x30 [ 1522.297769][ T35] page_owner free stack trace missing [ 1522.303122][ T35] [ 1522.305436][ T35] Memory state around the buggy address: [ 1522.311055][ T35] ffffc90000ac7a00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 1522.319107][ T35] ffffc90000ac7a80: 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00 [ 1522.327161][ T35] >ffffc90000ac7b00: f2 f2 f2 00 f2 f2 f2 00 00 f2 f2 00 00 00 00 00 [ 1522.335305][ T35] ^ [ 1522.341966][ T35] ffffc90000ac7b80: 00 00 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00 [ 1522.350016][ T35] ffffc90000ac7c00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f1 f1 [ 1522.358064][ T35] ================================================================== [ 1522.397809][T23456] BTRFS info (device loop1): enabling ssd optimizations [ 1522.413258][T23456] BTRFS info (device loop1): auto enabling async discard 19:30:35 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000180)=@bridge_getlink={0x34, 0x10, 0x1, 0x0, 0x0, {}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x2, 0x0, 0x1, {0x7, 0x1, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) 19:30:35 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000003000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r0}, 0x10) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, &(0x7f0000000000), 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB='huge=always'], 0x0) chdir(&(0x7f0000000040)='./bus\x00') r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) madvise(&(0x7f00001d9000/0x2000)=nil, 0x200000, 0x9) 19:30:35 executing program 2: r0 = syz_io_uring_setup(0x501c, &(0x7f0000000140)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000200)) io_uring_register$IORING_REGISTER_IOWQ_MAX_WORKERS(r0, 0x13, &(0x7f0000000000), 0x2) 19:30:35 executing program 5: r0 = syz_io_uring_setup(0x501c, &(0x7f0000000140)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000200)) io_uring_register$IORING_REGISTER_IOWQ_MAX_WORKERS(r0, 0x13, &(0x7f0000000000), 0x2) 19:30:35 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000003000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r0}, 0x10) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, &(0x7f0000000000), 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB='huge=always'], 0x0) chdir(&(0x7f0000000040)='./bus\x00') r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r1, 0x0) madvise(&(0x7f00001d9000/0x2000)=nil, 0x200000, 0x9) 19:30:36 executing program 1: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000000, 0x9e, &(0x7f0000000200)=[{&(0x7f0000010000)="94bc70481314043d583ea00fa5e94b4bef2368e791807ae8eedf7948442a78f5b2b94d3011914a028a38d3571753d4e1000001000000000001000000000000005f42485266535f4d080000000000000000c0d301000000000040500100000000000000000000000000000000000000000000000800000000007002000000000006000000000000000100000000000000001000000040000000400000001000008100000006000000000000000000000000000000030000000000000041030000000000000200000000010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e100"/320, 0x140, 0x10000}, {&(0x7f0000010140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x10220}, {&(0x7f0000010160)="00000000000000000000000001000000000000e4000050010000000000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000"/256, 0x100, 0x10320}, {&(0x7f0000010260)="00000000000000000000000080d001000000000500000000000000000050010000000005000000000000000000d1010000000005000000000000000040d00100000000050000000000000000c0d0010000000005000000000000000040d10100000000050000000000000000000008000000000040020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000006000000000000000000d0010000000006000000000000000040d0010000000005000000000000000040d2010000000006000000000000000040d1010000000005000000000000000000000800000000004002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000006000000000000000080d10100000000070000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d10100000000070000000000000000000008000000000070020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d301000000000800000000000000004050010000000006000000000000000000d40100000000080000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d101000000000700000000000000000000080000000000700200000000000100"/640, 0x280, 0x10b20}, {&(0x7f00000104e0)="1e39119b749759d9e10cdea4aa74a3dfda550dc49f410b0f1b003c5e6bc4a653b2b94d3011914a028a38d3571753d4e100001000000000000100000000000001e22904309f604c68847534627b2223c90300000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e00005000"/224, 0xe0, 0x100000}, {&(0x7f00000105c0)="000000000000000000000000000000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400100000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e11657d6e6670958ad2475bedcf6fafbfb78fdeacfda3579564fa8ab0243474825b2b94d3011914a028a38d3571753d4e100401000000000000100000000000001e22904309f604c68847534627b2223c90400000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x260, 0x103ea0}, {&(0x7f0000010820)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e148109a8a16415d80b674b222e82204bffa72d930ebb53ad41e68435a15aafcc4b2b94d3011914a028a38d3571753d4e100801000000000000000000000000001e22904309f604c68847534627b2223c90100000000000000030000000000000002000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e00005000"/736, 0x2e0, 0x107dc0}, {&(0x7f0000010b00)="000000000000000000000000000000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e18f4a7856316e520f60d688d023ac42ea32ab193291e46db4a04b581680f454d5b2b94d3011914a028a38d3571753d4e100c01000000000000000000000000001e22904309f604c68847534627b2223c90100000000000000040000000000000001000000000100000000000000cc00001000000000006b3f0000300000000000", 0x140, 0x10bf40}, {&(0x7f0000010c40)="000000000000000000000000000000000300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c900982a805c43b619e544dcbf8da631ff415071ba104545813cf41514c3f9fb11b2b94d3011914a028a38d3571753d4e100001100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000500000000000000", 0xa0, 0x10ffc0}, {&(0x7f0000010ce0)="a83250ca2909be9b9638e1e2400f5f55fe9da3053c902ef80ed40e4b144dfa21b2b94d3011914a028a38d3571753d4e100401100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000700000000000000", 0x60, 0x114000}, {&(0x7f0000010d40)="0b3533358e088571fe6f7a0cf256b95e2268baef315b764223532507fe5dcb5db2b94d3011914a028a38d3571753d4e100801100000000000000000000000001e22904309f604c68847534627b2223c901000000000000000a0000000000000002000000000000100000000000c60000400000000000933f00000800000000c0110000000000c700403e0000000000933f00"/160, 0xa0, 0x118000}, {&(0x7f0000010de0)="0000000000000000000000000000000000000000000000000100000000000000f60274f2838503ccea11b71a7431a5085c5d0d327b303c01e0fe66ab8f709de9b2b94d3011914a028a38d3571753d4e100c01100000000000100000000000001e22904309f604c68847534627b2223c90200000000000000040000000000000002000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f00003000"/192, 0xc0, 0x11bfe0}, {&(0x7f0000010ea0)="0300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c928b8f5dde3e3967571b40674f1ac78184e431015230892719539bf0639362521b2b94d3011914a028a38d3571753d4e100001200000000000100000000000001e22904309f604c68847534627b2223c90200000000000000030000000000000003000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e00005000"/288, 0x120, 0x11ffa0}, {&(0x7f0000010fc0)="8000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000c00000000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bd62b46a55071702ffa696d7c654bebfcd2c96ceff45dee8edcfcc36b045a492b2b94d3011914a028a38d3571753d4e100401200000000000100000000000001e22904309f604c68847534627b2223c9020000000000000002000000000000000b000000000000100000000000c00000400000000000833f0000180000000000110000000000a900000000000000006b3f0000180000000000110000000000b005000000000000006b3f0000000000000040110000000000a90000000000000000533f0000180000000040110000000000b00700000000000000533f00000000000000c0110000000000a90000000000000000323f0000210000000000120000000000a90000000000000000113f0000210000000040120000000000a90000000000000000f03e0000210000000080120000000000a90000000000000000cf3e0000210000000000500000000000a90000000000000000ae3e0000210000000000500000000000c00000800000000000963e0000180000000000500000000000c00000800000000000b73e0000180000000080110000000000b00a000000000000000b3f0000000000000000500000000000c00000800000000000f33e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/768, 0x300, 0x123f00}, {&(0x7f00000112c0)="000000000000000000000000000000000000000000000000000000004000000000000000010000000000000400000000000000010000000000000002000000000000000200000000000000b00100000000000000010000000000000002000000000000000200000000000000b00a00000000000000010000000000000002000000000000000200000000000000b00200000000000000010000000000000002000000000000000200000000000000b00300000000000000010000000000000002000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000001000000000000000200000000000000008001000000000000010000000000000200000000000000a0d5139edb0fabf11e5bb8832bded702bac6141ed2370b3d96ec9dde63860236b2b94d3011914a028a38d3571753d4e100801200000000000100000000000001e22904309f604c68847534627b2223c902000000000000000a0000000000000006000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000010000000000933f0000000000000080110000000000c70040000000000000933f00000000000000c0120000000000c700403d0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000040500000000000c700c07f00000000008b3f00"/544, 0x220, 0x127ee0}, {&(0x7f00000114e0)="0000000000000000000000000000000001000000000000000300000000000000", 0x20, 0x12bfe0}, {&(0x7f0000011500)="7dad4e336dde096cf4b80f6a9bb84c93a24bea4054914cf16ff5c90fe16d8f12b2b94d3011914a028a38d3571753d4e100005000000000000100000000000001e22904309f604c68847534627b2223c90400000000000000040000000000000007000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f0000300000000100000000000000cc0000500100000000db3e0000300000000100000000000000cc0000d00100000000ab3e0000300000000100000000000000cc00005002000000007b3e0000300000000100000000000000cc00005004000000004b3e00003000"/288, 0x120, 0x500000}, {&(0x7f0000011620)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c9d86835b8f2ba6d3fc6f1bdb5ae284f5359a85ba7e85385fe953237cfd23e6fffb2b94d3011914a028a38d3571753d4e100405000000000000100000000000001e22904309f604c68847534627b2223c90300000000000000040000000000000003000000000100000000000000cc00001000000000006b3f0000300000000100000000000000cc00005000000000003b3f0000300000000100000000000000cc0000d000000000000b3f00003000"/544, 0x220, 0x503ea0}, {&(0x7f0000011840)="00000000000000000000000000000000030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005000000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000001000000000000000400000000000e22904309f604c68847534627b2223c96a7dfd29e61cfb36a6f551fc7f1d14c89cc9d3e5124f23a7847ccced8e811563b2b94d3011914a028a38d3571753d4e100805000000000000100000000000001e22904309f604c68847534627b2223c9030000000000000002000000000000000b000000000000100000000000a900000000000000007a3f0000210000000000100000000000c00000400000000000623f0000180000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000c00000800000000000323f0000180000000040500000000000a90000000000000000113f0000210000000080500000000000a90000000000000000f03e00002100000000c0500000000000a90000000000000000cf3e0000210000000000510000000000a90000000000000000ae3e0000210000000040510000000000a900000000000000008d3e0000210000000000d00000000000c00000800000000000753e0000180000000000500000000000c000008000000000008d3e0000180000000000d00000000000c00000800000000000753e0000180000000000500000000000c00000800000000000f33e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/672, 0x2a0, 0x507f60}, {&(0x7f0000011ae0)="0000000000000000000000010000000000000100000000000000000000000000000000010000000000000100000000000000010000000000000003000000000000000200000000000000b00500000000000000010000000000000003000000000000000200000000000000b00100000000000000010000000000000003000000000000000200000000000000b00a00000000000000010000000000000003000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00400000000000000004001000000000000010000000000000400000000000000010000000000000001000000000000000200000000000000008000000000000000010000000000000200000000000000010000000000000003000000000000000200000000000000b00300000000000000e7ec86669eac1cf14b22a16fc355caf46154b6bb90cd924d31000a398f4ad68cb2b94d3011914a028a38d3571753d4e100c05000000000000100000000000001e22904309f604c68847534627b2223c903000000000000000a0000000000000008000000000000100000000000c60000400000000000933f0000080000000040100000000000c70000010000000000933f0000000000000080110000000000c700803e0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700400000000000008b3f0000000000000080510000000000c700807e00000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f00"/640, 0x280, 0x50bec0}, {&(0x7f0000011d60)="00000000000000000100000000000000020000000000000002000000000000003eaa9c668716741e4cbc68c7221073a2c3a933a072fcd9dd0629a3215cfab787b2b94d3011914a028a38d3571753d4e100005100000000000100000000000001e22904309f604c68847534627b2223c90300000000000000010000000000000009000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b70100000a0000000000000084000000000000000026360000b70100"/384, 0x180, 0x50ffe0}, {&(0x7f0000011ee0)="000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x513680}, {&(0x7f0000011f40)="00000000000000000000000300000000000000000000000000000000c050000000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000030000000000", 0x60, 0x513720}, {&(0x7f0000011fa0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x513840}, {&(0x7f0000011fe0)="00000100000000000000000000000000000000401100000000000000000000000000004000000000000000000000000000000000000000000000010000000000", 0x40, 0x5138e0}, {&(0x7f0000012020)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x5139e0}, {&(0x7f0000012140)="000000000000000000000300000000000000000100000000000000405100000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000003000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x513b60}, {&(0x7f00000121c0)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x513c00}, {&(0x7f0000012200)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x513c80}, {&(0x7f0000012260)="000000000000000000000000000000000000030000000000000000000000000000000040500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300"/128, 0x80, 0x513d20}, {&(0x7f00000122e0)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x513e40}, {&(0x7f0000012320)="000000000000000000030000000000000000000000000000000080500000000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000300000000000000", 0x60, 0x513ee0}, {&(0x7f0000012380)="fa10cde63756809bdea6dac62ada53115cfb9e07889d5a3394a441c6d4e491acb2b94d3011914a028a38d3571753d4e100405100000000000100000000000001e22904309f604c68847534627b2223c90300000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/160, 0xa0, 0x514000}, {&(0x7f0000012420)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000030d31825843146eb7524694ae5b017bc72bea89cff0b05358e37e6310c69e995b2b94d3011914a028a38d3571753d4e100805100000000000100000000000001e22904309f604c68847534627b2223c9040000000000000002000000000000000d000000000000100000000000c00000400000000000833f0000180000000040100000000000a90000000000000000623f0000210000000040110000000000a900000000000000004a3f0000180000000040110000000000b007000000000000004a3f0000000000000000500000000000a90000000000000000293f0000210000000000500000000000c00000800000000000113f0000180000000040510000000000a90000000000000000f03e0000210000000080510000000000a90000000000000000cf3e00002100000000c0510000000000a90000000000000000ae3e0000210000000000d00000000000c00000800000000000963e0000180000000000500100000000c000008000000000007e3e0000180000000000d00100000000a900000000000000005d3e0000210000000000d00100000000c00000000200000000453e0000180000000000d00100000000c00000000200000000453e0000180000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/704, 0x2c0, 0x517f40}, {&(0x7f00000126e0)="000000000000000000000000000000000000010000000000002400000000000000000000000000000000004000000000000000010000000000002400000000000000010000000000000004000000000000000200000000000000b00100000000000000000000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000010000000000000004000000000000000200000000000000b00a00000000000000010000000000000004000000000000000200000000000000b00200000000000000010000000000000003000000000000000200000000000000b00500000000000000000001000000000000010000000000000400000000000000010000000000000004000000000000000200000000000000b00400000000000000010000000000000001000000000000000200000000000000010000000000000004000000000000000200000000000000b00300000000000000008000000000000000010000000000000200000000000000c9897c5e2973e252fdd15bbca21e10dbc443ffd0b168d00a6e6f6e87b33f6fb9b2b94d3011914a028a38d3571753d4e100c05100000000000100000000000001e22904309f604c68847534627b2223c904000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70040000000000000933f0000000000000080100000000000c700c0000000000000933f0000000000000080110000000000c700803e0000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000040500000000000c700000100000000008b3f0000000000000000520000000000c700007e00000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700008000000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000040d00100000000c700c0ff0100000000733f00"/832, 0x340, 0x51be80}, {&(0x7f0000012a20)="00000000000000000000000000000000000000000000000001000000000000000100000000000000010000000000000002000000000000000300000000000000", 0x40, 0x51ffc0}, {&(0x7f0000012a60)="3bd6e7a5c17f3f8b79d98bcbfb35c7f15b6df2008adaf2c4cbf7026d3995929fb2b94d3011914a028a38d3571753d4e100005001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1500000}, {&(0x7f0000012b60)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bfabbadcd2676dba9640c1f2c230b0e5d2851b938d43caec7fde79803b267ce6b2b94d3011914a028a38d3571753d4e100405001000000000100000000000001e22904309f604c68847534627b2223c90600000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1503dc0}, {&(0x7f0000012ea0)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1", 0x240, 0x1507dc0}, {&(0x7f00000130e0)="3bd6e7a5c17f3f8b79d98bcbfb35c7f15b6df2008adaf2c4cbf7026d3995929fb2b94d3011914a028a38d3571753d4e100005001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000030000000000000006000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000100000000000e93e0000500000000001000000000000e40000500000000000993e0000500000000001000000000000e40000d00000000000493e0000500000000001000000000000e40000500100000000d93d0000700000000001000000000000e40000d00100000000693d0000700000000000000000", 0x100, 0x1d00000}, {&(0x7f00000131e0)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000004000000000000000000010000000100001000000100010001000000000000000000500000000000e44c3dde49944cd3b79bdfef107ff8c000004000000000000200000000000000000001000000000002000000000000000010000000100000001000000100000001000000000000000000100000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000400600000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1bfabbadcd2676dba9640c1f2c230b0e5d2851b938d43caec7fde79803b267ce6b2b94d3011914a028a38d3571753d4e100405001000000000100000000000001e22904309f604c68847534627b2223c90600000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d0000700000000000000000", 0x340, 0x1d03dc0}, {&(0x7f0000013520)="000000000000000000000000000000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c000000002000000000200000000000000000001000000000024000000000000000000010000000100001000000200010001000000000000000000500200000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000500400000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d00000000000e44c3dde49944cd3b79bdfef107ff8c0010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e1", 0x240, 0x1d07dc0}, {&(0x7f0000013760)="a91ce9f566f727e6fca4690b9b43a9c83a83b76bc8000c3c291dec9e53ea05cfb2b94d3011914a028a38d3571753d4e10000d001000000000100000000000001e22904309f604c68847534627b2223c9060000000000000002000000000000000c000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000040d00100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e00002100000000c0d10100000000a90000000000000000ae3e0000210000000000d20100000000a900000000000000008d3e0000210000000040d20100000000a900000000000000006c3e0000210000000080d20100000000a900000000000000004b3e00002100000000c0d20100000000a900000000000000002a3e0000210000000000d20100000000a900000000000000002a3e0000210000000000d20100000000a90000000000000000123e0000210000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/512, 0x200, 0x2500000}, {&(0x7f0000013960)="00000000000000000000000000000000000000000000000000000000000000010000000000000005000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000c3ceaf841d917ed3d1179a311553c097361cb941335d5dff2513419af92cb0b7b2b94d3011914a028a38d3571753d4e10040d001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x2503e40}, {&(0x7f0000013bc0)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f630000000000000000b6431ec990f0456fd9f320ef71057b4c639efd3d5e95ce2c69568985ab70cc77b2b94d3011914a028a38d3571753d4e10080d001000000000100000000000001e22904309f604c68847534627b2223c9070000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007e3700003c0000000401000000000000010000000000000000de360000a000000004010000000000000c0001000000000000cf3600000f00000004010000000000001822a8f12600000000a03600002f000000040100000000000018d65ba13500000000713600002f00000004010000000000006c0000000000000000523600001f0000000501000000000000010000000000000000b2350000a000000005010000000000000c0001000000000000943500001e0000000601000000000000010000000000000000f4340000a000000006010000000000000c0001000000000000e13400001300000006010000000000006c0000000000000000683400007900"/992, 0x3e0, 0x2507f40}, {&(0x7f0000013fa0)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3804010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000002452fb074572c8a6d89452c2862e4da034952150211a230048637ccc9b6c4a0eb2b94d3011914a028a38d3571753d4e100c0d001000000000100000000000001e22904309f604c68847534627b2223c90700000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000853600003c0000000401000000000000010000000000000000e5350000a000000004010000000000000c0001000000000000d63500000f00000004010000000000001822a8f12600000000a73500002f000000040100000000000018d65ba13500000000783500002f00000004010000000000006c0000000000000000593500001f0000000501000000000000010000000000000000b9340000a000000005010000000000000c00010000000000009b3400001e00000005010000000000006c000000000000000066340000350000000601000000000000010000000000000000c6330000a000000006010000000000000c0001000000000000b33300001300000006010000000000006c00000000000000003a3300007900"/3872, 0xf20, 0x250b4c0}, {&(0x7f0000014ec0)="0000000000000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed8100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3806010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f630000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d385f1f1f6300000000000000000aa348e1190779fdf7661894b5b780b0c88afef14a4e00792c14f654fb824838b2b94d3011914a028a38d3571753d4e10000d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xd00, 0x250f380}, {&(0x7f0000015bc0)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca71d79fdfa50331654628a29172acbcb995653af3a5aeda8fa51dcbe92610b6b60b2b94d3011914a028a38d3571753d4e10040d101000000000100000000000001e22904309f604c68847534627b2223c905000000000000000700000000000000", 0xc0, 0x2513fa0}, {&(0x7f0000015c80)="f431753b4fd401a8b170127bfedc63cf5b7316b4cac6e1ced7a465c00ab002b6b2b94d3011914a028a38d3571753d4e10080d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e00002100000000c0d10100000000a90000000000000000793e0000210000000000d20100000000a90000000000000000583e0000210000000000d30100000000a90000000000000000373e0000210000000040d30100000000a90000000000000000163e0000210000000080d30100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x2518000}, {&(0x7f0000015e40)="0000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000050afdcf3f4ce114f1d2b22c57e3be70b965b7a0aeacab59a07a2c568bcadee5bb2b94d3011914a028a38d3571753d4e100c0d101000000000100000000000001e22904309f604c68847534627b2223c90500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x251be40}, {&(0x7f00000160a0)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000000000000000000000000000066ff95ab2d52226921073f7fb5bb27ce1658ab30061d327f482e4c3ada948b97b2b94d3011914a028a38d3571753d4e10000d201000000000100000000000001e22904309f604c68847534627b2223c90500000000000000090000000000000001000000004ae6bfe64c964895fb9a5207ec36fca1bb933f0000080000000000", 0x140, 0x251ff40}, {&(0x7f00000161e0)="00000000000000000000000000000000000000000000000005000000000000001ecea082eac163d5f0a9fc9cecc8942bf21a2de3146b6df1831ffa969b619120b2b94d3011914a028a38d3571753d4e10040d201000000000100000000000001e22904309f604c68847534627b2223c90600000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/320, 0x140, 0x2523fe0}, {&(0x7f0000016320)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90b11436d293ed741475972d46f416254f1574c1bb8335f8e75690c5fb6853e76b2b94d3011914a028a38d3571753d4e10080d201000000000100000000000001e22904309f604c68847534627b2223c906000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000080d00100000000c700c0000000000000733f0000000000000080d10100000000c70040000000000000733f0000000000000000d30100000000c70000fd0100000000733f00"/800, 0x320, 0x2527ea0}, {&(0x7f0000016640)="000000000000000000000000000000000000000000000000030000000000000002000000000000000100000000000000010000000000000001000000000000004551bc7f7bc258077e276c76faee6f6fe8866ceb5b9df41f4f964bfc2cad39a3b2b94d3011914a028a38d3571753d4e100c0d201000000000100000000000001e22904309f604c68847534627b2223c9060000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x252bfc0}, {&(0x7f0000016800)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x252f3a0}, {&(0x7f0000016880)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252f4c0}, {&(0x7f00000168e0)="0000000000000000000000000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252f560}, {&(0x7f0000016960)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x252f720}, {&(0x7f00000169c0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x252f840}, {&(0x7f0000016a00)="0000050000000000000000000000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x252f8e0}, {&(0x7f0000016a60)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x252f9e0}, {&(0x7f0000016b80)="00000000000000000000050000000000000000010000000000000040d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000005000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x252fb60}, {&(0x7f0000016c00)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x252fc00}, {&(0x7f0000016c40)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x252fc80}, {&(0x7f0000016ca0)="000000000000000000000000000000000000060000000000000000000000000000000040d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x252fd20}, {&(0x7f0000016d20)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x252fe40}, {&(0x7f0000016d60)="000000000000000000060000000000000000000000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x252fee0}, {&(0x7f0000016dc0)="e8f5ca3b8a4c7bf3fccd7aa16cc3cf2dd8b21005522c73a9ed9299bc867433cfb2b94d3011914a028a38d3571753d4e10000d301000000000100000000000001e22904309f604c68847534627b2223c907000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70040000000000000733f0000000000000040d20100000000c700c0000000000000733f00000000000000c0d30100000000c70040fc0100000000733f000000", 0x1c0, 0x2530000}, {&(0x7f0000016f80)="000000000000000000000000000000000000000000000000040000000000000002000000000000000100000000000000010000000000000001000000000000009c14a393ca8484679cf9b2be4d17141e246117b36e6d3d739fccfb9545dcd937b2b94d3011914a028a38d3571753d4e10040d301000000000100000000000001e22904309f604c68847534627b2223c9070000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x2533fc0}, {&(0x7f0000017140)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x25373a0}, {&(0x7f00000171c0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x25374c0}, {&(0x7f0000017220)="0000000000000000000000000000000000000000070000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x2537560}, {&(0x7f00000172a0)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x2537720}, {&(0x7f0000017300)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x2537840}, {&(0x7f0000017340)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x25378e0}, {&(0x7f00000173a0)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x25379e0}, {&(0x7f00000174e0)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x2537b60}, {&(0x7f00000175c0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x2537c80}, {&(0x7f0000017620)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x2537d20}, {&(0x7f00000176a0)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x2537e40}, {&(0x7f00000176e0)="000000000000000000070000000000000000000000000000000080d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x2537ee0}, {&(0x7f0000017740)="3739c7d1ff5cf166d1b0ade520e1dbbcc50d7869fba368eed18b4e07a6d76f5fb2b94d3011914a028a38d3571753d4e10080d301000000000100000000000001e22904309f604c68847534627b2223c90700000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x2538000}, {&(0x7f0000017840)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c900000000000000000000000000000000000000000000000000000000000000000000000000000000f9b16b68cc4166223e4fb509d323da53d128b4772161b0ba27efa1566ff659aab2b94d3011914a028a38d3571753d4e100c0d301000000000100000000000001e22904309f604c68847534627b2223c9080000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/672, 0x2a0, 0x253bee0}, {&(0x7f0000017ae0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x253f3a0}, {&(0x7f0000017b60)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x253f4c0}, {&(0x7f0000017bc0)="0000000000000000000000000000000000000000080000000000000000000000000000000040d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x253f560}, {&(0x7f0000017c40)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x253f720}, {&(0x7f0000017ca0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x253f840}, {&(0x7f0000017ce0)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x253f8e0}, {&(0x7f0000017d40)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x253f9e0}, {&(0x7f0000017e80)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x253fb60}, {&(0x7f0000017f60)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x253fc80}, {&(0x7f0000017fc0)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x253fd20}, {&(0x7f0000018040)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x253fe40}, {&(0x7f0000018080)="000000000000000000080000000000000000000000000000000000d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x253fee0}, {&(0x7f00000180e0)="7719cc7a01d41721b88c1710ee7c539d825a20fc6e22953a8f4b689effdbb35cb2b94d3011914a028a38d3571753d4e10000d401000000000100000000000001e22904309f604c68847534627b2223c9080000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e00002100000000c0d10100000000a900000000000000009a3e0000210000000000d20100000000a90000000000000000793e0000210000000080d30100000000a90000000000000000583e00002100000000c0d30100000000a90000000000000000373e0000210000000000d40100000000a90000000000000000163e0000210000000040d40100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x2540000}, {&(0x7f00000182a0)="0000000000000000000000000000000000000000000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000a4eb5be0bfba7e0786a4a63762e5e1be90e40f44d16e2a9d75551ad1b128336bb2b94d3011914a028a38d3571753d4e10040d401000000000100000000000001e22904309f604c68847534627b2223c908000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70080000000000000733f0000000000000040d20100000000c70040010000000000733f0000000000000080d40100000000c70080fb0100000000733f000000", 0x380, 0x2543e40}, {&(0x7f0000018620)="00000000000000000000000000000000000000000000000004000000000000000200000000000000010000000000000001000000000000000100000000000000", 0x40, 0x2547fc0}, {&(0x7f0000018660)="11666d1dcab9c82ae32b2c05576ad6c7c9e2a7d87cad263a3947903790061597b2b94d3011914a028a38d3571753d4e1000000040000000001000000000000005f42485266535f4d080000000000000000c0d301000000000040500100000000000000000000000000000000000000000000000800000000007002000000000006000000000000000100000000000000001000000040000000400000001000008100000006000000000000000000000000000000030000000000000041030000000000000200000000010000000000000000000008000000000000800500000000001000000010000000100000000000000000000000000000000000000000000000000000000000000000e44c3dde49944cd3b79bdfef107ff8c0b2b94d3011914a028a38d3571753d4e100"/320, 0x140, 0x4000000}, {&(0x7f00000187a0)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x4000220}, {&(0x7f00000187c0)="00000000000000000000000001000000000000e4000050010000000000008000000000000200000000000000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000000001000000000022000000000000000000010000000100001000000200010001000000000000000000500100000000e44c3dde49944cd3b79bdfef107ff8c001000000000000000000d00100000000e44c3dde49944cd3b79bdfef107ff8c000"/256, 0x100, 0x4000320}, {&(0x7f00000188c0)="00000000000000000000000080d001000000000500000000000000000050010000000005000000000000000000d1010000000005000000000000000040d00100000000050000000000000000c0d0010000000005000000000000000040d10100000000050000000000000000000008000000000040020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000006000000000000000000d0010000000006000000000000000040d0010000000005000000000000000040d2010000000006000000000000000040d1010000000005000000000000000000000800000000004002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000006000000000000000080d10100000000070000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d10100000000070000000000000000000008000000000070020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d301000000000800000000000000004050010000000006000000000000000000d40100000000080000000000000000c0d0010000000007000000000000000080d3010000000007000000000000000000d101000000000700000000000000000000080000000000700200000000000100"/640, 0x280, 0x4000b20}, {&(0x7f0000018b40)="a91ce9f566f727e6fca4690b9b43a9c83a83b76bc8000c3c291dec9e53ea05cfb2b94d3011914a028a38d3571753d4e10000d001000000000100000000000001e22904309f604c68847534627b2223c9060000000000000002000000000000000c000000000000d00000000000c00000800000000000833f0000180000000000500100000000c000008000000000006b3f0000180000000040500100000000a900000000000000004a3f0000210000000000d00100000000a90000000000000000293f0000210000000000d00100000000c00000000200000000113f0000180000000040d00100000000a90000000000000000f03e0000210000000040d10100000000a90000000000000000cf3e00002100000000c0d10100000000a90000000000000000ae3e0000210000000000d20100000000a900000000000000008d3e0000210000000040d20100000000a900000000000000006c3e0000210000000080d20100000000a900000000000000004b3e00002100000000c0d20100000000a900000000000000002a3e0000210000000000d20100000000a900000000000000002a3e0000210000000000d20100000000a90000000000000000123e0000210000000080110000000000b00a00000000000000f33e0000000000000000500000000000c00000800000000000db3e00001800"/512, 0x200, 0x4500000}, {&(0x7f0000018d40)="00000000000000000000000000000000000000000000000000000000000000010000000000000005000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000006000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00a00000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000005000000000000000200000000000000b00700000000000000010000000000000005000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00200000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000000000000000000000010000000000000100000000000000c3ceaf841d917ed3d1179a311553c097361cb941335d5dff2513419af92cb0b7b2b94d3011914a028a38d3571753d4e10040d001000000000100000000000001e22904309f604c68847534627b2223c90500000000000000050000000000000002000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x4503e40}, {&(0x7f0000018fa0)="0000000000000000000000000000000000000000000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f630000000000000000b6431ec990f0456fd9f320ef71057b4c639efd3d5e95ce2c69568985ab70cc77b2b94d3011914a028a38d3571753d4e10080d001000000000100000000000001e22904309f604c68847534627b2223c9070000000000000005000000000000001b000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e00002300000001010000000000000100000000000000009c3d0000a000000001010000000000000c00010000000000008d3d00000f0000000101000000000000544bae7904000000006a3d000023000000010100000000000054482d12f600000000473d0000230000000201000000000000010000000000000000a73c0000a000000002010000000000000c0101000000000000983c00000f00000002010000000000006c0000000000000000693800002f0400000301000000000000010000000000000000c9370000a000000003010000000000000c0101000000000000ba3700000f00000003010000000000006c00000000000000007e3700003c0000000401000000000000010000000000000000de360000a000000004010000000000000c0001000000000000cf3600000f00000004010000000000001822a8f12600000000a03600002f000000040100000000000018d65ba13500000000713600002f00000004010000000000006c0000000000000000523600001f0000000501000000000000010000000000000000b2350000a000000005010000000000000c0001000000000000943500001e0000000601000000000000010000000000000000f4340000a000000006010000000000000c0001000000000000e13400001300000006010000000000006c0000000000000000683400007900"/992, 0x3e0, 0x4507f40}, {&(0x7f0000019380)="0000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff8100000000000000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3804010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000002452fb074572c8a6d89452c2862e4da034952150211a230048637ccc9b6c4a0eb2b94d3011914a028a38d3571753d4e100c0d001000000000100000000000001e22904309f604c68847534627b2223c90700000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000853600003c0000000401000000000000010000000000000000e5350000a000000004010000000000000c0001000000000000d63500000f00000004010000000000001822a8f12600000000a73500002f000000040100000000000018d65ba13500000000783500002f00000004010000000000006c0000000000000000593500001f0000000501000000000000010000000000000000b9340000a000000005010000000000000c00010000000000009b3400001e00000005010000000000006c000000000000000066340000350000000601000000000000010000000000000000c6330000a000000006010000000000000c0001000000000000b33300001300000006010000000000006c00000000000000003a3300007900"/3872, 0xf20, 0x450b4c0}, {&(0x7f000001a2a0)="0000000000000000000000000000000000000000000000000000000000000007000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6407000000000000000700000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed8100000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653307000000000000000700000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed8100000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000070000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000070000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531070000000000000007000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d380700000000000000270000000000000000000000002f746d702f73797a2d696d61676567656e323333353630333830342f66696c65302f66696c65300300000000000000050066696c653107000000000000000700000000000000270000000000000027000000000000000000000000000000010000000000000000000000ffa100000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3807000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530070000000000000007000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000b000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3803010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c653003010000000000000100000000000000000700000000000000000005000766696c653102010000000000000100000000000000000700000000000000000005000166696c65300200000000000000050066696c653007000000000000000700000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000c000000000000000000000000000000000000000000000000000000000000000000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d38651f1f63000000004ebe3d3806010000000000000100000000000000000700000000000000000009000166696c652e636f6c6405010000000000000100000000000000000700000000000000000005000166696c653305010000000000000100000000000000000700000000000000000005000166696c653204010000000000000100000000000000000700000000000000000005000166696c653101010000000000000100000000000000000700000000000000000005000266696c653004010000000000000100000000000000000700000000000000000005000166696c653105010000000000000100000000000000000700000000000000000005000166696c653205010000000000000100000000000000000700000000000000000005000166696c653306010000000000000100000000000000000700000000000000000009000166696c652e636f6c6401010000000000000100000000000000000700000000000000000005000266696c6530000000000000000002002e2e030000000000000007000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f630000000000000000651f1f63000000004ebe3d38651f1f63000000004ebe3d385f1f1f6300000000000000000aa348e1190779fdf7661894b5b780b0c88afef14a4e00792c14f654fb824838b2b94d3011914a028a38d3571753d4e10000d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000007000000000000000100000000f6ffffffffffffff800000d000000000003b3f0000600000000000", 0xd00, 0x450f380}, {&(0x7f000001afa0)="ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca7ad7facb2586fc6e966c004d7d1d16b024f5805ff7cb47c7a85dabd8b48892ca71d79fdfa50331654628a29172acbcb995653af3a5aeda8fa51dcbe92610b6b60b2b94d3011914a028a38d3571753d4e10040d101000000000100000000000001e22904309f604c68847534627b2223c905000000000000000700000000000000", 0xc0, 0x4513fa0}, {&(0x7f000001b060)="f431753b4fd401a8b170127bfedc63cf5b7316b4cac6e1ced7a465c00ab002b6b2b94d3011914a028a38d3571753d4e10080d101000000000100000000000001e22904309f604c68847534627b2223c9070000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e0000210000000080d10100000000a900000000000000009a3e00002100000000c0d10100000000a90000000000000000793e0000210000000000d20100000000a90000000000000000583e0000210000000000d30100000000a90000000000000000373e0000210000000040d30100000000a90000000000000000163e0000210000000080d30100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x4518000}, {&(0x7f000001b220)="0000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00a00000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b20500000000000000050100000000000000000000000000000100000050afdcf3f4ce114f1d2b22c57e3be70b965b7a0aeacab59a07a2c568bcadee5bb2b94d3011914a028a38d3571753d4e100c0d101000000000100000000000001e22904309f604c68847534627b2223c90500000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c00"/608, 0x260, 0x451be40}, {&(0x7f000001b480)="0000000000000000000000000000000000000000000000000000000002002e2e05000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000000000000000000000000000066ff95ab2d52226921073f7fb5bb27ce1658ab30061d327f482e4c3ada948b97b2b94d3011914a028a38d3571753d4e10000d201000000000100000000000001e22904309f604c68847534627b2223c90500000000000000090000000000000001000000004ae6bfe64c964895fb9a5207ec36fca1bb933f0000080000000000", 0x140, 0x451ff40}, {&(0x7f000001b5c0)="00000000000000000000000000000000000000000000000005000000000000001ecea082eac163d5f0a9fc9cecc8942bf21a2de3146b6df1831ffa969b619120b2b94d3011914a028a38d3571753d4e10040d201000000000100000000000001e22904309f604c68847534627b2223c90600000000000000040000000000000005000000000100000000000000cc0000d000000000006b3f0000300000000100000000000000cc00005001000000003b3f0000300000000100000000000000cc0000d001000000000b3f0000300000000100000000000000cc0000500200000000db3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc0000500400000000ab3e0000300000000100000000000000cc00005004000000007b3e00003000"/320, 0x140, 0x4523fe0}, {&(0x7f000001b700)="00000000000000000000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c90b11436d293ed741475972d46f416254f1574c1bb8335f8e75690c5fb6853e76b2b94d3011914a028a38d3571753d4e10080d201000000000100000000000001e22904309f604c68847534627b2223c906000000000000000a000000000000000d000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000000d00000000000c70000800000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000080d00100000000c700c0000000000000733f0000000000000080d10100000000c70040000000000000733f0000000000000000d30100000000c70000fd0100000000733f00"/800, 0x320, 0x4527ea0}, {&(0x7f000001ba20)="000000000000000000000000000000000000000000000000030000000000000002000000000000000100000000000000010000000000000001000000000000004551bc7f7bc258077e276c76faee6f6fe8866ceb5b9df41f4f964bfc2cad39a3b2b94d3011914a028a38d3571753d4e100c0d201000000000100000000000001e22904309f604c68847534627b2223c9060000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x452bfc0}, {&(0x7f000001bbe0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x452f3a0}, {&(0x7f000001bc60)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452f4c0}, {&(0x7f000001bcc0)="0000000000000000000000000000000000000000060000000000000000000000000000000080d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452f560}, {&(0x7f000001bd40)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x452f720}, {&(0x7f000001bda0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x452f840}, {&(0x7f000001bde0)="0000050000000000000000000000000000000040d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/96, 0x60, 0x452f8e0}, {&(0x7f000001be40)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x120, 0x452f9e0}, {&(0x7f000001bf60)="00000000000000000000050000000000000000010000000000000040d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000005000000000000004ae6bfe64c9648959a5207ec36fca1bb00"/128, 0x80, 0x452fb60}, {&(0x7f000001bfe0)="00000000000000000000000000000000005e1f1f6300000000000000005e1f1f6300"/64, 0x40, 0x452fc00}, {&(0x7f000001c020)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x452fc80}, {&(0x7f000001c080)="000000000000000000000000000000000000060000000000000000000000000000000040d20100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600"/128, 0x80, 0x452fd20}, {&(0x7f000001c100)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x452fe40}, {&(0x7f000001c140)="000000000000000000060000000000000000000000000000000000d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000", 0x60, 0x452fee0}, {&(0x7f000001c1a0)="e8f5ca3b8a4c7bf3fccd7aa16cc3cf2dd8b21005522c73a9ed9299bc867433cfb2b94d3011914a028a38d3571753d4e10000d301000000000100000000000001e22904309f604c68847534627b2223c907000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70040000000000000733f0000000000000040d20100000000c700c0000000000000733f00000000000000c0d30100000000c70040fc0100000000733f000000", 0x1c0, 0x4530000}, {&(0x7f000001c360)="000000000000000000000000000000000000000000000000040000000000000002000000000000000100000000000000010000000000000001000000000000009c14a393ca8484679cf9b2be4d17141e246117b36e6d3d739fccfb9545dcd937b2b94d3011914a028a38d3571753d4e10040d301000000000100000000000001e22904309f604c68847534627b2223c9070000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/448, 0x1c0, 0x4533fc0}, {&(0x7f000001c520)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x45373a0}, {&(0x7f000001c5a0)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x45374c0}, {&(0x7f000001c600)="0000000000000000000000000000000000000000070000000000000000000000000000000000d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x4537560}, {&(0x7f000001c680)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x4537720}, {&(0x7f000001c6e0)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x4537840}, {&(0x7f000001c720)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x45378e0}, {&(0x7f000001c780)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x45379e0}, {&(0x7f000001c8c0)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x4537b60}, {&(0x7f000001c9a0)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x4537c80}, {&(0x7f000001ca00)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x4537d20}, {&(0x7f000001ca80)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x4537e40}, {&(0x7f000001cac0)="000000000000000000070000000000000000000000000000000080d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700000000000000", 0x60, 0x4537ee0}, {&(0x7f000001cb20)="3739c7d1ff5cf166d1b0ade520e1dbbcc50d7869fba368eed18b4e07a6d76f5fb2b94d3011914a028a38d3571753d4e10080d301000000000100000000000001e22904309f604c68847534627b2223c90700000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e0000300000000000000000", 0x100, 0x4538000}, {&(0x7f000001cc20)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d001000000000000000200000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c90300000000000000000100000000000000005001000000000000800000000000e22904309f604c68847534627b2223c9030000000000000000010000000000000000d000000000000000800000000000e22904309f604c68847534627b2223c900000000000000000000000000000000000000000000000000000000000000000000000000000000f9b16b68cc4166223e4fb509d323da53d128b4772161b0ba27efa1566ff659aab2b94d3011914a028a38d3571753d4e100c0d301000000000100000000000001e22904309f604c68847534627b2223c9080000000000000001000000000000000b000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b70100000a000000000000008400000000000000006f340000b7010000f7ffffffffffffff840000000000000000b8320000b70100"/672, 0x2a0, 0x453bee0}, {&(0x7f000001cec0)="00000000000000000000000000000000000000000000000000000000000500000000000000000100000000000000c0d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000500"/128, 0x80, 0x453f3a0}, {&(0x7f000001cf40)="000000000000000000000000000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x453f4c0}, {&(0x7f000001cfa0)="0000000000000000000000000000000000000000080000000000000000000000000000000040d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800"/128, 0x80, 0x453f560}, {&(0x7f000001d020)="0000000000000000000000050000000000000000000000000000000000d2010000000000000000000000000040000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000050000000000", 0x60, 0x453f720}, {&(0x7f000001d080)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000", 0x40, 0x453f840}, {&(0x7f000001d0c0)="0000070000000000000000000000000000000000d10100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/96, 0x60, 0x453f8e0}, {&(0x7f000001d120)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f6300000000000000005f1f1f63000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41000000000000000000000000008000"/320, 0x140, 0x453f9e0}, {&(0x7f000001d260)="000000000000000000000700000000000000000100000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007000000000000004ae6bfe64c9648959a5207ec36fca1bb00000000000000000000000000000000000000000000000000000000000000000700000000000000000000000000000000000000000000000000000000000000651f1f6300000000347d98395e1f1f6300"/224, 0xe0, 0x453fb60}, {&(0x7f000001d340)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100"/96, 0x60, 0x453fc80}, {&(0x7f000001d3a0)="000000000000000000000000000000000000070000000000000000000000000000000080d30100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000700"/128, 0x80, 0x453fd20}, {&(0x7f000001d420)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed4100", 0x40, 0x453fe40}, {&(0x7f000001d460)="000000000000000000080000000000000000000000000000000000d40100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000800000000000000", 0x60, 0x453fee0}, {&(0x7f000001d4c0)="7719cc7a01d41721b88c1710ee7c539d825a20fc6e22953a8f4b689effdbb35cb2b94d3011914a028a38d3571753d4e10000d401000000000100000000000001e22904309f604c68847534627b2223c9080000000000000002000000000000000d000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e00001800000000c0d00100000000a90000000000000000dc3e0000210000000000d10100000000a90000000000000000bb3e00002100000000c0d10100000000a900000000000000009a3e0000210000000000d20100000000a90000000000000000793e0000210000000080d30100000000a90000000000000000583e00002100000000c0d30100000000a90000000000000000373e0000210000000000d40100000000a90000000000000000163e0000210000000040d40100000000a90000000000000000f53d00002100"/448, 0x1c0, 0x4540000}, {&(0x7f000001d680)="0000000000000000000000000000000000000000000000000000010000000000000008000000000000000200000000000000b00a00000000000000010000000000000008000000000000000200000000000000b00200000000000000010000000000000008000000000000000200000000000000b00100000000000000010000000000000007000000000000000200000000000000b00400000000000000010000000000000005000000000000000200000000000000b00900000000000000010000000000000005000000000000000200000000000000b0f7ffffffffffffff010000000000000007000000000000000200000000000000b00700000000000000010000000000000007000000000000000200000000000000b00500000000000000000002000000000000010000000000002400000000000000010000000000000006000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000007000000000000000100000000000000b205000000000000000501000000000000000000000000000001000000a4eb5be0bfba7e0786a4a63762e5e1be90e40f44d16e2a9d75551ad1b128336bb2b94d3011914a028a38d3571753d4e10040d401000000000100000000000001e22904309f604c68847534627b2223c908000000000000000a000000000000000e000000000000100000000000c60000400000000000933f0000080000000000100000000000c70000400000000000933f0000000000000000500000000000c600008000000000008b3f0000080000000000500000000000c700008000000000008b3f0000000000000000d00000000000c60000800000000000833f0000080000000030d00000000000c700d07f0000000000833f0000000000000000500100000000c600008000000000007b3f0000080000000000500100000000c700400000000000007b3f0000000000000080500100000000c700807f00000000007b3f0000000000000000d00100000000c60000000200000000733f0000080000000000d00100000000c700c0000000000000733f0000000000000040d10100000000c70080000000000000733f0000000000000040d20100000000c70040010000000000733f0000000000000080d40100000000c70080fb0100000000733f000000", 0x380, 0x4543e40}, {&(0x7f000001da00)="00000000000000000000000000000000000000000000000004000000000000000200000000000000010000000000000001000000000000000100000000000000", 0x40, 0x4547fc0}], 0x0, &(0x7f000001da40), 0x1) 19:30:36 executing program 2: r0 = syz_io_uring_setup(0x501c, &(0x7f0000000140)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000200)) io_uring_register$IORING_REGISTER_IOWQ_MAX_WORKERS(r0, 0x13, &(0x7f0000000000), 0x2) 19:30:36 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x14) sendmsg$L2TP_CMD_TUNNEL_MODIFY(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000300)={0x14}, 0x14}}, 0x0) 19:30:36 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000180)=@bridge_getlink={0x34, 0x10, 0x1, 0x0, 0x0, {}, [@IFLA_AF_SPEC={0x14, 0x1a, 0x0, 0x1, [@AF_INET={0x10, 0x2, 0x0, 0x1, {0x7, 0x1, 0x0, 0x1, [{0x8}]}}]}]}, 0x34}}, 0x0) 19:30:36 executing program 2: r0 = syz_io_uring_setup(0x501c, &(0x7f0000000140)={0x0, 0x0, 0x2}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000001c0), &(0x7f0000000200)) io_uring_register$IORING_REGISTER_IOWQ_MAX_WORKERS(r0, 0x13, &(0x7f0000000000), 0x2) 19:30:36 executing program 5: r0 = socket$l2tp6(0xa, 0x2, 0x73) setsockopt$inet6_int(r0, 0x29, 0x21, &(0x7f00000002c0)=0x46, 0x4) sendto$inet6(r0, 0x0, 0x0, 0x0, &(0x7f0000000000)={0xa, 0x0, 0x0, @mcast2}, 0x1c) 19:30:36 executing program 4: r0 = socket(0x2, 0x2, 0x0) setsockopt$inet6_icmp_ICMP_FILTER(r0, 0x88, 0x68, &(0x7f0000000040), 0x7) [ 1523.033278][ T35] Kernel panic - not syncing: panic_on_warn set ... [ 1523.040009][ T35] CPU: 1 PID: 35 Comm: khugepaged Not tainted 6.1.0-rc4-next-20221111-syzkaller #0 [ 1523.049319][ T35] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022 [ 1523.059397][ T35] Call Trace: [ 1523.062689][ T35] [ 1523.065639][ T35] dump_stack_lvl+0xcd/0x134 [ 1523.070353][ T35] panic+0x2c8/0x622 [ 1523.074318][ T35] ? panic_print_sys_info.part.0+0x110/0x110 [ 1523.080338][ T35] ? preempt_schedule_common+0x59/0xc0 [ 1523.085834][ T35] ? preempt_schedule_thunk+0x16/0x20 [ 1523.091251][ T35] end_report.part.0+0x3f/0x7c [ 1523.096052][ T35] ? collapse_file+0x4edf/0x5830 [ 1523.101017][ T35] kasan_report.cold+0xa/0xf [ 1523.105630][ T35] ? collapse_file+0x4edf/0x5830 [ 1523.110566][ T35] collapse_file+0x4edf/0x5830 [ 1523.115336][ T35] ? is_refcount_suitable+0x840/0x840 [ 1523.120725][ T35] ? find_held_lock+0x2d/0x110 [ 1523.125498][ T35] ? hpage_collapse_scan_file+0x2c3/0x18e0 [ 1523.131318][ T35] ? xas_find+0x2fe/0x7d0 [ 1523.135650][ T35] hpage_collapse_scan_file+0xdba/0x18e0 [ 1523.141301][ T35] ? collapse_file+0x5830/0x5830 [ 1523.146246][ T35] khugepaged+0x9e0/0x1590 [ 1523.150658][ T35] ? collapse_pte_mapped_thp+0x10f0/0x10f0 [ 1523.156457][ T35] ? __kthread_parkme+0xce/0x220 [ 1523.161387][ T35] ? lock_downgrade+0x6e0/0x6e0 [ 1523.166228][ T35] ? prepare_to_wait_exclusive+0x2b0/0x2b0 [ 1523.172025][ T35] ? lockdep_hardirqs_on+0x79/0x100 [ 1523.177220][ T35] ? __kthread_parkme+0x15f/0x220 [ 1523.182236][ T35] ? collapse_pte_mapped_thp+0x10f0/0x10f0 [ 1523.188046][ T35] kthread+0x2e4/0x3a0 [ 1523.192121][ T35] ? kthread_complete_and_exit+0x40/0x40 [ 1523.197748][ T35] ret_from_fork+0x1f/0x30 [ 1523.202166][ T35] [ 1523.205361][ T35] Kernel Offset: disabled [ 1523.209674][ T35] Rebooting in 86400 seconds..