ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x88000}, {&(0x7f0000045700)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000008000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a000000000000004000000000000000005802000000000000300200000000000030020000000000114b080000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000100000000000000010000000000000001101040000000000ffffffff00000000", 0x1a0, 0xff800}, {&(0x7f0000045900)='\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, 0xff9e0}, {&(0x7f0000045a00)='\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, 0xffbe0}, {&(0x7f0000045b00)='\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, 0xffde0}, {&(0x7f0000045c00)="000000000000000000000000000000000000000000000000000000000000080046494c4530000500000000000000000001000100400001006001000000080000000000000000000003000000010000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff0100000000ffffffff00000000", 0x180, 0xfffe0}, {&(0x7f0000045e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f0000045f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f0000046000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f0000046100)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000002000100400001006001000000080000000000000000000003000000020000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302000000ffffffff00000000", 0x180, 0x1007e0}, {&(0x7f0000046300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1009e0}, {&(0x7f0000046400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f0000046500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f0000046600)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e801000000080000000000000000000006000000030000000200000000000000000000000000000010000000480000000000180000000000300000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000000000000000000000200", 0x220, 0x100fe0}, {&(0x7f0000046900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1013e0}, {&(0x7f0000046a00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1015e0}, {&(0x7f0000046b00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x1017e0}, {&(0x7f0000086c00)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002000000a3b8b20fcf7aa836000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f0000086d00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f0000086e00)) 18:37:13 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000000)={{0x6, @rose}, [@rose, @rose, @default, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @bcast, @rose, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @null]}, 0x48) unshare(0x40000000) memfd_create(&(0x7f0000000080)='\\/-\x13:\'(.(&\x00', 0x2) pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$SG_IO(r1, 0x2285, &(0x7f00000004c0)={0x53, 0xfffffffffffffffe, 0xd8, 0x1f, @scatter={0x2, 0x0, &(0x7f0000000280)=[{&(0x7f0000000100)=""/248, 0xf8}, {&(0x7f0000000200)=""/81, 0x51}]}, &(0x7f00000002c0)="dfb3b1dd2b35856085348bf873d92bc3ecf011cfeb24518d01c20c12d62b52624ca075b61aa57e6bcab2b2214f7eed6432f5666c00013a743a47e0a6c87caa3fb42f5120359de0ac3c0a97d34d8d40af6dc6323e6642cd18560147e317c1061cd4236b9d06c786501926c30c65169ac98df2db0e1d1e07710b5ab70963cf5b40acc085c4b68eaacd0d586c83fe5a639e0416b59d2fbb612c58be16c39dc9733bef690720f1690983939f6329f5fe0bc0c8a9e2bf1ae13d45023331fb4b84652eec5e353922281a7921fd42238d7908b407fa802ff54907cc", &(0x7f00000003c0)=""/147, 0x6, 0x6, 0xffffffffffffffff, &(0x7f0000000480)}) accept(0xffffffffffffffff, 0x0, 0x0) ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, 0x0) 18:37:13 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x400000000000000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @remote, 0x6}, 0x1c) r1 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r1, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r1, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r1, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) sendto$inet(r1, 0x0, 0x0, 0x240047f9, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) ioctl$RTC_WIE_OFF(r1, 0x7010) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) sendto$inet(r1, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) sendmmsg(r0, &(0x7f0000004740)=[{{&(0x7f0000000040)=@ll={0x11, 0x1, 0x0, 0x1, 0x47}, 0x80, &(0x7f0000000180)=[{&(0x7f00000000c0)="381c6176b50aa9219b52fb99f6dce0a41e2756d31f4e87046762edc7cbe0784030a2e0a878b0ff3fad3adbf1cc656a0ef9b2e39185eb6b853f6b79853bd08b9b98be1b1a38895caece325a9424637c636f59249047f17e0bd3d9af2e14f87673ecfd77dc9815af75f5166f9f44294db129f1118f5355afa79cd7a4d0d25d3594682673a202c8cda146be9092d59377fed4db12", 0x93}], 0x1, &(0x7f00000001c0)=[{0xc0, 0x209, 0x5, "2cba8320a3918d13f09fc1aae600e40485aea8a52011c8ffa1419c019469a3ab4bcc80655444f0fbeb492a362e2ae8b58a5c8561eb4c291adab63f0f03f78eb96f943e3d0ab161121f0a8ce77ad79471fa3116875b96bf42fdea14811a3db9ac4bb75302b7ddad3e9133affc2a58eb12cf7c4adfb506ad6f3e3edbd85bac38834649567ea3af971814e97296a440fff8cfb14a004555609472fd1997209f3c29baf0501df0ef86160d2dac"}, {0x1010, 0x118, 0x80000001, "5303d87fd5e934e42cbaa72beefc8a81f0d3e4ae575b6c308146f6fbbd19c559d92fa7ece1753a846fae79f2451cd8a193f79e08459fd94c88c72860f76700130b745c623cfeabf78ad5835e78283a391e04475a15ac54c1d9b16fe5a576504bfeab3b54662b78b62757610930ee6c5f6681e07e44017e8a7e3268f7451511c44f0f6ccb06d33cfe10a8ac0836d9748c9a969a49a7b1e43a901917090db1020ed400e8bec68f12609182cdb8956ac645f49aaa2cf4955b29506e6f1b6cda1a0c7e3cbfe7b3ba6b872b15369617afee4be84ea152a9794f8861bfec51372813699919cbbcfc3ab9b89331ec12c0b650fe8230c5f9b28efc80e047e147233d3f768a7d6f1a730915f6d6fb216c2ade4de92a013db371a14f9ff2256d8bbd74e8f6062f3e5e34932bf8cb1a051116f5a32107a762018006d9b7e7de079d838c0d57ad66d04d36599850c074c4a03c8f7caf89008acc028028f9a8b4c795edcb7eeae1bbdceb2ae70a8a5642d7e288a83e1eec4569cbe63bbeefb4fb327346799d414051a9c84a0053043615f1ccb5cb8d7ec4546356cca0328a316f1f89d4600cdfbdca65dee6d48390674a9c37ad9e3e16fe73c193a5c67316e63f2b72d8a632c5e73637acc15d3806751defd570b0ca16f8c766f615dea32111889a988164d908269e8db155a10709f8f6fd295be98a2588a3a6b236d4ce2bb2c448736d577592fc6c444613f047a8cb989be3fe01ea7d08bd2d6b44ccf527c552460022318bbc2769dc150e1ed9d2e63c7ceb2e6c0c010befa2d502749324c87c6406576b56379405c1f92220420271d82f258e73132365da130e82b4ef62ce4cf62a3d277ad0b3618060b5376454b450e0b591784c6ebdc669334697188bd14d3d95fc4e01184d94314a4121bf2e9e2eed778f1f1b3138de59ee68244cdccb5f75e833b5df99f221b6a0557897bd5fb5cd97b20f9a2be304247b8b3a965c41d63042aefee93dc13ac827be1e7c9b6d47495b6144069946c8b57cad3fe8b739dd1534eb8274192564936dca52ddb3cabe90d171f6f0749ec0e835633adc98220f000bdb5ef75e2670626c42493460ad7f7cddde339d6a2da69939db6e1998173bb308be190e69b9c7a5e126b054213dfce85db0107d730ac9bb868f5ea63b92d28db31442d6a51ad7ac9e0fbc2c2655b58f25bca76ad86859ff73881fa0234a521f5362cdea9da1d4f4861897aac55eefb821088a10a4d1f015f20105d6577921dc9e297a6e539dfc249dc7728fe3a5d75e538b9f7009bfaf95b2511ad8a70da6cc71049c77c897092c904800740c509000b277b065689a7dedb9217d714072264abb6230f97be6c0f04e6295c5ed9f18b9b9eaed1cd6822b06af637d0d3196a0ba8fd5ff8646eaef90ff7c01441fcd2aa9caff7900396e89bb5f0dfcdc0f22e94865317ed5ad3e049fce0ae6ca43e3bf47ada91a75f6d2e7030833b65f1aa0d9f1558411f884a164535b9714758eb6071124b9892f063120bebbbfc9d266a9d7946ac18a19a312987b112797679f3290fce99c9e685e48c089e273dee7dfeb9d28fc7c32396645ada01264cfc86bbbe5361e544d4bf25bce4038520ebf7018a4f0db539446370eae062310dbd8bc93f60d0a0b357b79433fd127125a97586009ddb6bfe1d7040f80a9b8d2931d4a7f3ccb5ae417c0dca2ab17ae443763435846ba3dd9f28019ca1adda2f085d2259152dcdc33af9fb7414ff437e67b20973adcaeb507ec056a6ab47648d023abac5f84174aaef030be2444ddf924c8dd0f7f4213dd80df12f25a242a11d8a5b93bc4f081fb74cba9b9b263802a09a0430b1a1402f5ab935737319a0ec226af51cd62e93553998aaa3e4c56e0009a80cbae6ccb3bfca62ea2556ac48d880d9d7d9c2439a90660b1feb763facede4b04308aaf329bd74894fc8ecfab2dcc2ba83e955e687b0630199d670ddfe67c817d67dfa76feef43762b605ba01af66e8a72ffc6d0101a1ebd0085101c9359581b7166a8f21a9214de1db9551efdee0e43f81ec0df02f9a5d2aba405e0ef431d773b7679c9f902e28ceb561b096313046effcc1331168c3c8ea975209df0cdfa8c6dd4b476df10656a2023cb366edbba9755ec56e9930395578f5c51a0067c762a9cab8522cf51be625b9c8c750d425f998d52ea07ff58b8de648ac7047de4b8f49e52b620eace42b6e479079a2b2e2c0cf8de224d3ceede3c869da62374a723f34e1e76d1c790a5220d0952edd565d02df9f98d915963b75a76811de26249a85e9aca0856c9fda84365f3dbc03c8d8c415471349f6e044f2bd8bcf75d3b460838bc3df6f50bdff17299e3ecb603a7d90f60c1ee6b894a77d6669e72578bc6f30bb0dd8d4016bc22b04731aea7cdb5d2de95648fb8b0b46bfb5402456dbd252bfcb1e6c8a36edaccc979000edfe2058019fdf724dd2bde47b74c0102ff0cf843e0660146523ecbb580f22a50010031dba808371425578fc3cd21c457c848d001640cebfcf4c4ff01b2d7c0545c3b9395b80f34af51d86da33a7015c73dfff195d5cdb2e745abdcf7d0eff12c74deaced0616f777e3febdf93ca2589e06ed9985de166c8bfd289d6d9e832d48fd87f1b95ebe0416c856628fb82def4d90bd67a26e0ee1fdbecf3161b879ac3350837fc403e257091066714a62eef12a13c2ed278072161284bec8cd74af5bc6a8495da10d45925c9a4a35789c267eb95ac61d5fe5ca578e922b53ad620bcd4abb201c90cad5731127d07cc742abcd714b85a26615d73057b966353dabc430fcf83a7fefafe617cd5053c1dc669fe9ee0d37aa1d6697f86e23cc7f44731797b11df57b82c6d02cd1666c5d88b6060236f36a685d4d1eb1292eb76c5dd17676d355b65713f972ddbb0ffe6ad1ad66ddb133af590ad12e790e9854bafa8e808b2f2a50f4509591d0e3fdd1e86b9146009f2d42c9395aeadb7e4704541829607d9efcd29830ebca6d561ef0cde4ecfad4dd4f6a0e2c460a4326d61a14d4eb54ba545ae31d013fb0e8e9fd17780fd63340a0a1453c646266a887f3dea9382eebe69b4531feea106e94534f638d054412457f3b4f6d50ff1bcc74242aff5775a5796c9ec0a63b49df57f8e7f5e2ae13e319afad04d86b3b94edd9eb1588c02d46879dbdd901f3ca870bdfc5bdb5611668bb9e383e42a89beddd0cd9204544664a8cafe1a510b98e287663f76e3445bb0199ef3ce4e87733946d7cf8129f0ddff7b4b9f4a93d36e2a1ae69e9d31367b1d3bbe4807ad243d5e04b7119dabb244abd65ada3393f6308c853563a66ac72369f938a3c22a4d4b6a6e82322c987695dbb9611af6f1e713181fef0c5d6c82149edc845e7dcd40c4dc7c7621b0e0270ccad4f3108d30fb62b8aa9950f43bd5f45011be8544c88e2def2983e95ca0f48ffd76fb57f5e22427b59de9c76a1d7e5ea8779ed78eec7dcf07cea818bdcc12b88715b33073cf8cc0ef32294ca96bab78554e31a1a0663044a3bdd06b829679b27b0167a332cc8dc4d92adfe306c5ffbbf2e609b509af09265e0a9909e9e7b2a00622f53e795ef4ffe3e3a67570e98e16ae503e775ff04f673e5b7089f4b1b9651784c551f4985b34cb6b5854d64d9d1b99d79003fa71f430e230957d02f10cf3bf2d0b42f005a8239edbd9bd4eba721c4349b62e54d5695fb01267712a9bb2f99ce40b17fa7a56bb4e3784e8f70524d7f6ff2897c07bc5b9ff2bb2da832249997c0b11dfc4ef0dd7f1b82c75075dfafe79a6e72e061edd0d4a49931f9ba3e4bdfd0204639489d1e84afd696008e25a09ef0669d0848877d2d56c82590cac9f146681676c0112fb3a76dc2f98249c1ae266d4e9a9d05593ec6522a08aeef6b960c3fb94dfd3707a2b52325ca2e20294dde7860c7bf7f912b42f61a91cce9a48ed7a5b9b5dd5f7500f10a33e8f42b93cf3c45e16aa354e6de5bcaa25e9246660e86d44192a81c3a5ed5cbdeaf0e71f93f897b27f959f7a4b1582a8090aad6350718313b36d9419ae9da1a02df1585802737f78108f261b8f66006fa86bc2a201d6c40d48d17f606e4ce71652de556ff762123bd8d96681ee8f0225060612e8e22452419e732a94eaf0d3e6ca4f0cba9e67d53a54198ce92d6bdca9caca21baa2a6d4d4801bc1fd4e69927fac3a8a62c64eb735a6c68ee2d53b57cd3095f97f7835c351215fc16c9c90f2c479dfc68ec03ef0eae0e53a41d6d7b7ecfee0784ca9e5b65ae577d9cbb84c96fe7294c6c3eb09728280d8a7629d6955d51cb942d7919153e3dd015e1b21c8511928143a4cf8f0651833294952c758deb9bbfc5b5472c409788e8979c10f5d18e5f7ce54d0dfb6379ee6b991b10749aa2d296c8661d20ff9ff56b1612c3f243f628b10d0ac1e42588cc8bc1d9d400ca73aa917d90bf9099574b689ed1a1a724aa7e4195550b9af270385a7c2cfc7ada857a0478f0fd50fe7d78ccc72c2b6b9fa5a7add54af037cfce24499e41fc4cd216963cc4119ad5d94e07d441f350ccc46b566188493d7e6f08b02d4f12b5cff7cfaf0d7d63c5b6333c24da141e49d2373dcb6289b1e566e35ece8e1db87259cbba49efc0110283c4a02c9a4d54819c790e462053e734a238b9e88eb95b6d903952a1e0e37ab81e80c76e61561794ae867be35259c9ce18198bcb3628ad5eef634d37335c0d9615e72cd85343b448d3d340e52e0997636d999f2225edf0dad7480b870e5c50e30a3b2cb7eba2a0bdd5a7b07cf0c6f1a3eba95057a4daa74e16f85e87f5aaa189a989df3e99eb46ead51b0e6c9ebd116ffbd67ab1febd85b00d71d7090097fb63826f3402d066b67bd246a9248886623076cc1676d2b47bdd7396104652740a421868faf50d8b392bc666d4e5bbc25438c2cd6a56fa35fae9b0c3bee2128bb856a9cf4385d82355f784415ced94547cd9f6e9e0c9cb42330749f497ae2c8107d42a9afd45f1375c677f88285f4abb7a077fd779e1b568d02b3f5715bae84c0e11a1ef70bba4ae8e4206c824265a871fdfa381eb23d74f737b4a1b597542fa414d2a4d2b91c75ce2765e0baaeb239c38118524953b2c075111c442a32efcb2c435bed337e6afc2a985a4473f34c37a9b117a32532a3251cc874322f98c012e301ac929d7307d869cc3c3288aefcb9a7a30900b1d01c33f17bc68b0b6be3254043da0836f53598ade7b819bc143fe5d95f6d70c5dafabeb873b1685193ffcfe93932006b1718cf5887e2169bed1535d45fe67913586c6d76f49e63a0166634c71e4c22a18d2e5dbe7a21e5b3200876797435919f79df2052fc0c209cb61568541cdd86462bd90e77d9e96efac358367813fa3f8bf36d43323a949962e65235c564fd0cdef4e23b8b99cefaaad774331798c70aaafae0ab7545e39c6673193be4cd612efb6c537e58955a287e6bbfef4dfb820790bb9bf7fcf3c3218459abb449ecbe625412f787088ed9ad298c382d3e7666e68cbb6affb3039bef6f920184e22a9923190b48059e67b0dbf165bd5daec582444e51d592ae57c27106fce3bd9308027ccd370458787eb8fb995d4b7c9c761d74fb595315a55a5c38d12dfa04f30a021f3c439425ca96cd2c6f21a06eea28f3c706e665c34339f668ff1a48bf4e6ef8846cfcf620db23454e496a02374bc7dcb3cec07906b8be513f564429882cb29b29d2cc804b880f2177b3e43e7c8c5c889eedb35720cc4e124b7360eb99db999a89efdbcc20d5efa101e7bda278785291d3b14e9842e927a50ae9cb002fb98134bb42087c"}, {0x50, 0x111, 0x2, "ff3a982076aecc35a4a36034d06d8fa431dbefce10be73ec46a779056254c0ea35007069848abb834a08d710f90e59945df2460553e4d36f1e32d4"}, {0x68, 0x1, 0x7fffffff, "09667345946271816955fd6ac6a4b913387c1fb835a73fab5a4bcf80f77a6a94c3e32e882877bff76450f265557dad009fd02b1e64a4b60bad2852df69b0ed3ec8fdc43033846f96ba913b0dbfce8f7f6c7f16"}, {0x1010, 0x113, 0x80000001, "a1af50ba2c90427b26cf13a8035926ee71d70e53952903e799226103cd8b39be3978720bb2b328b5be5cf4b60683afa8af65ae398896bff8c113ade15b494314745242184ef26a97c5743260dfab56bc0b0d592af1427aa4ee13d4342228cf12180e26af7fa80e7de60a822a13a79750983b3068fb97ace367cf2f254933014b520c4f2cf9aecac651ccc92ae3abf41e58b62e227c0a2891d6633f57d2f17b98c76fd5914c101f40e30b5f242ad5d8d4977c87d23335e25df389fa109862c2977d35bdd6ca6d7f93fd0daf5ec708ff094442ec7066b667ed25def00c5c65088049ef0e622da347cf502fc7339ae508179e1aba62828de249f2db09e210a06d2652f1727bf9b967f765d43ce059e2a866549d49ad06a92cb9989aca6cfc18ff814aa9a93b4e9a1d0eeab95ea597f255cf8c65e794ab209d50a98663db1bcac6e99e1764c98148e42ef0457faad87b24665ac39cad1a863e31747942f3d9e664150e4a639d54796f2c4017e5a1b56db0df338fc10aedfc346a0685f836823474e663e3ae90539472467ef0be0bf26a09f0ec53f40cce72271c57257d17c225951bc4639ffa23acc3aac691a547d4e7fd6922c1da154aad1aa37ce346f745a184a5093b1fe70603a272012565eadfa9203684c3dc36db2dc1407e330e20c74c92bb8d8f4ac38160c5c08283d03612b049dcf06722e39ca025243208051db3d9225b20058dfff7e4fe64b347d874a8b459815fcf102bb1a1f91352b1a4bcd8d44c3d2938cbd2d57e69241ee98c30c27ac6ff201ad5c89ff25028bb120b3e0e48e09498892a18c82f90340b3ac1709aea5a46561e2e609d70ab3d9c9a9a09dac017c616ab7dc93d5d0164018722464cffd4d5ed1c9ef8c75761094fa11ab22dee2ce957a69b73bd15b1f3c7fa3cfeb931dc234b111c3726138c33592bd21954357f7d432e6c43ff3909ec908a855dc319e2a1281d8d903c9d51b2bd9bc6c870a3f9157748705abe582a01aeff0d5a9fddf21ce03aa31a7eb3e70a41314bae1de0f57243d3efd5e4a6f3130d475df1ccbc6aeb71bbb1c7cea9f29b23c2daa3288d48114cc5f86ef4bce10930912d30f38baebad7a7d8c035d941f2edad5771d66a4cd7b61ca5db983034f62102106cc4d7de907f15a831883c6c8f030ef5e995cafb0fef2f7c036ce6c1a0578345a624165f7faf52ecada5ab79820f141cd2110810ac38c899281a05681112d87af4eb83266b635f5884736a169afeccf41f5f4c811f7e9757ed92e5654bc2ae46b2a582bdb84f3f3a47945b665a7a2ad658c9801b7b3ab0db9d7f0b417d79d9d5ab95799cd941e0db86c93d6b7d66d37e5f43272ef0eb8cbbe20aabca91c9a33c7b3621822da539535e56f3c33086a6358f8e13c355008fcaf7aff1f965fbff3d3d1827d0e2c638e0be480bc24b398b5e201762d82f4e11b6d5749253b92dc90aaf8a25f66bd226db431b0f5f5eec778972d17731b8f6f78fdfc4d74b43185298371bf7a1d19a925381085a70b32a2f22d7b857936b1fcad929924efdef12d3450799dea7eb76111319a4910bf4a95da1f980477280843c52e391a40f2cc9e888c4866b8a6f7b49f34ac91318bac2b79553c838c04fa32e312e02dc8f34838bfcb699254ba13a545ff7e0e30d215dceec55fa851755427a570377248f71953b9b704223c671996910780e2a48de1713e2af6bac3fb284bea919e3cba26c058819ca5f18fc1b0d8a8483396bb41932e4566969620ad9d340ac117407e68a2bc2a5eec16b360f671dc6f10a3b245390cd19917297a51411327be0f852f853d6bfe82239fa03004ddca2f273c5441154f3917a52843b6eb44380999c46100d5dfad1284fc39311f29a110e92abe18d756300b6171169e4a48a683727fc6e7dfa8821ef9323420527d192a8d285ea20b1ed766e94e2eff3b16f8007d6859b3c86d68d94842e014a285dfd87bdd397fdd921595f2fd342408c21248b7bfe0a39bdd323592aa6c840654c60ba6b6e6c92437875918194353ad1b757cbdda18365a5a374116c5a04c6a82e27fdaef0a79e86b10eac7852cfff3a33912b7d763c5bb79207ce329118a311dd431c84fa65a139f9a87817e0387bb3647717689fb677c77996fbec261b5a190d88416cdb6260b4011b6e6edde671bf42ba45fc4cb99e2c6579ae0a0f71e6f4edb8451e63d05f26541e2c4967eaef8d08beac9d3d560eb4906ec79bd5b1e0a707a2d68c5f7797b4938a5f3b131994a1bd91c0ff8c10dc8cb2a019dde8f42f1d8549b143e948a70859a838516b529116dda7063a263e17eabb9d01938b4ec2198cb39b1636e487b30f485f0bb6e7f741b73cc15f0917af4f71587556d0a4ddd3dfa22de6ebb13569e0aadbb0be12e80b3f75f308685d7e65887f0f702880ac4ce4d1fb5de9962cc2469cf458deda8903fa12b9a1be1c70860f76941703c24b482d7e5a3f9631ff124ce5d006f3e1bbd2430c45f9132fe92d35af419e628272cf125b57fb76c11445b4ce9181047c5ed57011ff66fc4cf79c4f725d91354f7fdad0bac970452ad0b10f15e45a4ac1f6a59d079c10c0d0d5e8401f7e444583f779128cf817525688f20afad82aa6af8521541816de73e9a35a5a814cca712280b167ae9cfc24dfa0aaa64313b182fc0561986641033c3d1e66f17be132546ca06eb8cf1acb7e37920a7c36ef86cefa03059a264fe227444282843798229fc7da9253c5cf6d41968c1250277087bfb549683c17c92a5469abbd8acf3efff3c339ba9de74778f2890f6cdcf614f2601b311bcceca781f8251c034fda21235a2803e60181d08c38bbf592e06ea56759444e6c6cb9f9584ad0efd235a51076cf33470733fd78b365a57262a3c730d6d39d532927de39f97edb66b7b9c53beb85ca258cfc6ebfef0d9ad3a9aafbebb0613489b26bfb3840aca0e162b9dd487672edd3d4e8ba8b97766209ce90b8365e7cc1365cf129f498cec91e028906e6ff4601c892a99585f141d49da575c8f029b0e2e1c26cadabe8b5c20b0623544e222269f0f31ade84a5d39b6372851dc4491d44f9a92c656d57218dec237944d2c538afa10aa871b3ae59bef8d50ce373ab3b3369972313c45b7d1d233eb36a05587befd2ceb1ee5ab372fb720565c320aa5285da1761a3216eb60a74cb09de8aa0402335bece6803dd6680d82b4baee6d70a526aba23c3e1d9a4e80b67eb56c5760c37172e0e9aa0e5097f39cf7c1156ce89b83f867d2606e111e40bfbe2b23859567fe938fa233c228fab9dad53ae1e19c60fce1f9fb60f7d0b7e21e21f3f12ee72ac7cb730c63acf72abb22d488ae33c582ebf16e02db49ec65f8f3f7ed15798e0ef9149b848246b5ae20fd3d11a87ea7ba4d639a4a8fb813e3971ed17d25a267930bcb17d351ef01286741a1c08ae98e4190e8efab7ee4575a883a49203620acd15bd0b35257dc0aeaa7ff71d516e7974bdd0f623bf4f2697fc18525758aee4cdbce4d045c010e83b1ec8c982c61b875580516b34f3f197f09162648047f67517f2f392e67b6fa0a54914f001f965599a4328cfe51e4a2a21a8025c63e4d1869fe5e4bd80f230226f30fa5c8f5cdd852c559f5445d8c4f44eb53cc49ebb104a92c272dc6dc59ef96b2051e8f2f6a59875889bb524a2a43547acaeed8774d17842caf6d0a16f43483901100151c5a76c32c118e971291e849f617de8d35801b26f9f36f21459e1194439c13206afa82a363419b828f142a346c199c9990c060db5a031d3a76397081c12e21be80382bb5b02e228acb675cb91f4e82ef8647f2185b7edf649854f64a77f77135dc862dfcb0372ae352abe4b8accad09fd0450b57b3d50798ca9b191fb35a18d1b47825fc7ae7e517ef1a8c5ab4624ec1dd0e93ef046736c49b999c5335404e881459014b9119b20f854d3912d916d8e34d4be9d083c4ed14198cca4e81a7e0f40d68f0dba087d07d0454ead40926faec694b55974ff245143a08c37f0c1baa287bf6563cf6cd9d4808e335503dfec5ac67c97e5bbaa476a1e28800ab51fd8fa9c6e4bdccaac841a938249e7314468fc58163cb3a34aef2784110f2803d930faf92a278a6aae25b3181a3af3fe4f34a3e53f08feaa1f6c13dc6414d24fe46eed77b726cd1d84c0d089b7e1a3863df4025bfbf1f568d7b913eee785e777442231b8dba0d74f45cece24fd2415c337bef6e5b46143cf5c4d2af75a95182e999f7e2485efcc595176f422872aefca6c22b95f766efc8f8460fc869ce2bb4c1f6140f5cc68ce57ffd46e2438fe0f6eb7f996ece44f5d29771dd1457515813cad898adfa34e335bd932729090bf64a1016dd568eebb5cc99fd8c3c7e12e89cb085bf175e21c0ad9c66a584534377dc853253be97d357d55c3ffc050ef2fd89f17cfee542bd63129e47a2c886852a2b3b87c3cde6ef4eac2ae69050cc4a5b9172ca1f758369b6809439f350049055ede409dcfb60a75b94cdd8b9378b713a5144f37279a8ad87d8745d590b6809a5c7efed2f6614930689713546240cd001ba4973f46c7036724b781c12b3d0d6c2448f42cf589b98e10768637e2270616694f846ac5a58dde9777e815751c39fedcd9c763398a2a92a46d8a251e58ba904702ad880bbce231c9fe72ac0db2fc6873af354d5aa574edee8545f51ef3739ca68ee6cb565e4ec41b619c2652fb04c09f4ee9b6868f3058c971ab52be1c4122ba9a428e881deb4d830b48f057b470a7d9cff0f579c15e200c504d32b412defa6bd2cd3ba7807a92ee8ef1e3f71524815c6a0ca504c213c9de6d78b6bbc5550d3bbc31c7bc126e7caef23fb63a4a5a72e54c87da678c0d8f10672d94e2d58d80f61f98e3248e1b6d442626b20b22ab0d168400a9fea431709428ceaff3b9368b507c56f96f64ad26fb151c2de8e58ab431600d94975c03b70b6ea7a8463c4c3570fd79ef2620b043f9bf9c3950fc62f915b884284f04ad8c88b7e3fcf1da300c4ec047b4daf0b0f8af292d5baed53a5d1784f7afe306aed79aa1b8859bf438e3dfb8d1660635454b3d3354131a1b188960dd4ddcb00ac0919378aec71ead911cee39ee67da0b7efcb21ae7a075464731ed27bdfceefe8be7dd076c4576f4962bf3f93130ea452a2d780b25bc56ec10ed6822cb63288ccfd8bc66abc2296c2aa5bd09f39785a7104724b8a0eb464c85b9ae3c29072faaceca454ecb027e1b78e33eeda8784f4aa81869d6d286d9170d0a494945d3cca2c398c30725e703fb5184ac2e54eefe297a629a79a3fa385c0bd83f08f892d7dd5998e8aa7f213aac8a43cc5d0105edcdf86cc04e0edca98f42aa13b09b48a530956a90d74b2fb20810080d64f0abc2dadd2b13ce8c74b272748d8a4c933e1624211990c37d909c7bd55501afc43d77e76ed28f1b62e3c2a8605d2cd4e4c7efbfc456c2c36b363b203281d8e54713813ee857097b8d24e357ac6df6b69c27f2059d23693c3f06f92fd78e339aafc8b8d03054e54fb479f8725c09db28478bd65e3318b2bd0143b0ca89b67c4eee21c27751ea3a588cfebe2d2dcaf4a7c07a26b500dab8d00b5f07876f4053f1cab2241bf851d68e3e23b6eec352b32ee3213aae6bb569b6098798b71178dd1685ec534734b227b5eb1dfc277daeeeb8d458b111f359d0132f5ec08d69479571d0b4a54559078a2760b96c951e6f8f53376991fb5d08d4ede2f0b1361038caac93bfd6c19eda90b68956515d16278c0d0eef4ff34b7154e17d802de9fec409e14502a2c34a1c2fadf166"}], 0x2198}}, {{&(0x7f0000002380)=@llc={0x1a, 0x300, 0xff, 0x7, 0x81, 0xca, @dev={[], 0x30}}, 0x80, &(0x7f0000002980)=[{&(0x7f0000002400)="0eec777ffe1464fa2e3e6b7718a3fd4d4c9798eedb338def132a4993cf67a8cbf59ed54f6e30563bc2ac8e4dc11ca9714b07d11c5fc853e994ca2a9e2c8209e463e81faaac4f491c03e20f9a85a4b1b2f4a07180a54eb85c6710edb9b1af02d65942d3b5174c1ab64be55fcd6764dbe3c0", 0x71}, {&(0x7f0000002480)="73a8a5799ba87aad792320f118d277148927cd3ab7e2505900c258171171fe75ab45461883bf78005f74109f565629dfd5e4785c5d37cb87b33913c6dfa673bb07be4159820f8060629a5a62e2b59e8d52a3e1c255e1fc0c19ca56e6eaf7dcb6", 0x60}, {&(0x7f0000002500)="3dcc01741de0fb5b32c6aecf2b12ff6afc64b714312a92e75ec84f126d3862b9f281f6ee693b7d0a9294618eafc444a527ab2b08cf72f55bde3f9b612af172a1ee47c17c819c39bc8e10ca27356ab0898f9ed768c07a3e3937e6588298f8cf8d830fa6747e0c86726c34b63d0c3c914a2ccedcddacdd15da1260f00d030258bc40d2a00a019f23c71bef34a66ab07ddcebf616d9a689e204e7260dbccc287456f5de9271352b9a7d8ea1c2d3232afc5f21c889ca3c25ca0e5a49a5d13641b7f2c1", 0xc1}, {&(0x7f0000002600)="760e009c10e81cd005fc1a859a094e729c1b58c6e72e9479e0cd98372c8b405906361eee7d7de82e0b7319371e7008fcd3a8974c8217cdd29ab4cf51d07b2939ad1d0c2327f919569d43478057ae9db61a633a03e65a27683bc0316f", 0x5c}, {&(0x7f0000002680)="20a52c879bbb4caa3fc3a4489a839e15b6c42bda579b491eb8e00cda6b3235b91a58c3be66afc0bd1b8e13ef37aad08dc41e45e656eb3b02309d5b9bb73f9ee333023b18b87a6daa01a2a7d6a0e829d3b15b1e0f4389cb317271aa55d88589db74f5dba886e9fed86f0b186652eb7e3d1822a59d7114b28823819e3d6cef1640aaa80d32adf986fc5d2afc7faf18a26ddf3352d50bc89572de32eb7d", 0x9c}, {&(0x7f0000002740)="f328f6bf2eae7143694f7d858bd3f6a4f112e21ac0b290b0599d7653b577ecabf707234c1d2e1f2a0249912ce84f8212eb0ec06a1102af0cf048a1b41893d2c6eab575f7c88864548fe15cc2820a09b3cb82396f76243598f78f02e28a5f0416279d158e74d9593c83063d20398ecd311c23d4df404d7a62bf664782e5a21d931e75185e863c3950e7ab0a84ee9dc01431c6342219a450a69d73f9c8d52d04ac45aba41aa1191c9a0b2d439dc5981bf6b2145e95227780c97f18390461c921de183dedd829a2d8ea5ae137b5507d84b091abe7ea3686c6846002617eb9559aadfabfb45c622b82dfdabd8e", 0xeb}, {&(0x7f0000002840)="0bc77e0024e647699451089456f98a02bfbf16ebecb9c442407fd37f1bc336a9b4d0c9a0050b99400f62506c52d642cba596aff3b106e2dca2c557c44df330a16d03849e91055005552de6ce710583dd2d158321395be8a0a372df13739e143a5b5b9027da3f0522d20926c52313b444ec811042913a0b870c5168fd8c1c6824695388c3b96e555c08edb663d4d657661a0d8b2259f3cebdca6290cbda60b90312258ff21eb0ab085307238260dad5bf18e94ddfe44046409d6afc3ab740482cdca1625f0fde1d8773430246", 0xcc}, {&(0x7f0000002940)="c0e8b7175841e530dec32b0943", 0xd}], 0x8, &(0x7f0000002a00)=[{0xb8, 0x114, 0x1000, "3bed112083b23ecbea6ea550e64684a0ef1651b66425277119049bb24e67840f781829ea676aeefb803c3d9ec2d73f53aa3b2d99722c93717209fcfd4d0d72f24529709cbb339044be7bad91833fe7d25c85b8282d49e3afd2984e77f78e2ae9d9628a6020b7adad2dacc3b34a8b518a11caf0b49b809af5b7730f67b036165111fef18508264f8387e708ee77653b59a34baee7abe8de93f25c52ed9c3766eedf51"}, {0xb0, 0x110, 0x6, "74870a374790bc25da78051b4b8d6bf57dcabaab327ff3f38bcafddb04eae639105de3e98045e2e5de73e46c874e5a647bd895f9ff1d419f4d42033f77ee83b877c4f64a40672803daf104dbeb388132aa41829251c5a224bc7887adad3bef036a15d3a3adbfdcaee197e305ff0d8749a18ce3f799b7eb7eba106bd21633a5b4cfe872b25315dec1065e1d0259155fb41f8c57578caf9cf6bb5144d05e"}], 0x168}}, {{&(0x7f0000002b80)=@pptp={0x18, 0x2, {0x2, @dev={0xac, 0x14, 0x14, 0x28}}}, 0x80, &(0x7f0000002e40)=[{&(0x7f0000002c00)="33da3f0ec3da44a3632efa79f9d669e7770b8a566be735aed214f32d479c94e5e10a55f3745b9686e1703751a7300a966cd5349b39d8efef89928149fdd9b6a8ab798d7a8c4197d144f83f2e8f618f2a3bd281e2015854ffecb161dbf2a16dd8a84c139a53effc2655a7750c99f0a9cd1ed1932e4fe75a25b643f0080c1a83a80c94fa26d1608326fec25ae171cc4192851c856509a0cac7f8e643e0c0657a5a1e16bf8e1de87d2635de063ffd0dd14d6cb17fa537e2077acb5ee7f7577139560388959cc7cbe5c2e94053c8e70b891eaeda00175b5b73cae1f5512d2713eab9a0c8229ea9be7575443e", 0xea}, {&(0x7f0000002d00)="4a959a140e4f815ef2e62139257bf78bcddaa3413a1bfca05f37afaad1f8987bdca88e008490a334ea4c5ea7ffe148e17de6e100a1f6f2c05ae2b6eb0fb3b50586ef3e210ea3c72007cc0890de6e855f19224fbfdd72f0cec91dae6b37240488e5ab122d64a2bbc470f16969936f36bdb94a688dc533a2", 0x77}, {&(0x7f0000002d80)="82acb065ab67", 0x6}, {&(0x7f0000002dc0)="a39901af1aeee4b499650e2642b041bbcc0f569c559e6be20cbf32676e487327f3bb7ba50fb0f3758351aff619d7bb20e4c6b0da356afb76d7ce83b867ca9cc2eadb3c99072304c9b4a1d48409b7b804cd60a50a6f34bd0b64b198f7543a5aba9be66d740fac386c1144a5cea17d04883bef794d5a5e9bebb965adc8f11e", 0x7e}], 0x4, &(0x7f0000002e80)}}, {{&(0x7f0000002ec0)=@pppol2tp={0x18, 0x1, {0x0, r1, {0x2, 0x4e24, @private=0xa010100}, 0x1, 0x4, 0x2, 0x1}}, 0x80, &(0x7f0000004040)=[{&(0x7f0000002f40)="d7443994104210dd286e4c70f600e33c325f558458cae4fbbbaf04f05f21bb8676103e0601d4fa365b4041accfcbbd5f", 0x30}, {&(0x7f0000002f80)="28b4e6891ed9eeac19a664801ecc57cf2dc75bda79a5423a6406580c0fd820b0a9673e0c777f079a8c3418d56385b7ad50cf9dfc199c143515fd8a3ad2783542683d3740850d205079bfab8d6598c8b296dc7fd1a9bcddb9e5ebc053cdf85c12bc817865ca8b6839b0dbb4c9bead3239cb70097c9bf2e963ac043814f2334a5c72ffae1386ff6dcff08fd1e26f7aeec786a1dab0a011db773f986187fc01cdfb8896db5bed43d74425a8b61357e9c480bb37c057abb8e8ab6fe2decb83ff67", 0xbf}, {&(0x7f0000003040)="4a0c345c5a602bf2692bf4b90afc01816092bc2e301723867b4d32f900d04fd93615df9bea2c9da368fd238ed74860c565214e368c9316b576549a98c9a98a5041265033397ce8dee32672aba0244125ca70e94fc674bc8b0ae7311f105e90d1f3a30e4d286f10887c59491be2effba2aa0a46ef1585266077a9ab8f8ce606bf431d1f55c699d65ee1f5100668e0143e6311262ecdf9e911f1dd85751d5cdd052a8507ae020836b82552d4715d6fdf88ee1dbfd1d2e1b802dfdee55e08d0ecf5a52e1d0ff56c55b692675fbe0205cf675e7a42d5a0bf333817b1ef93e16fa8f5909c39cda2bd8a73b79a877cae2baa00b5dc7423fa0d79a3a1849cdfab22fe06ee6a801b3f6b9b1372e92301b336d86a2084a3bbe402f2ea23e08616942ae418e2ec40c7b8b17ec352ce06bffcd3386d2507c3e26fbff87c02595e3965925a7b4d03037224556aa8dd5244310575f0753e56b2f37889645f45ad7d2397efc527d36361936fc316ac3a3bbf7559a56ed2e2d1cc7d9a9966106cb88ba8716648c587a5c6f5f405e4481cfd20bbce93e7dbb979795f967368a11b408948c69094fac781eb14dbe79f4d910fa9dd454a2339dfa42a4ae9660e8fc4342af42206d71d94659dc66b5f16d0d742649d0c599f89f1becb31440a6adff164e095016b4307a8e3886226197fdec67d4ab745784b27c63958168688a94ac78493e48f6bad23667f68dc5dabe92e6c6032cf1976930782895c697fec6fd428641d6d5d2536877ea683108ad591c3cc935b74de1bcbbfc883fe1c3ef74adf4a4ecfd3bb846913c9134a9a279467af8f594222ba20c91bd3f8bbec1d943849746051aca573563a8173b30d53a47cce8a39668820997126ba8f9192aa924992fa6c34c046a87ea5e8c16cb7a9373cce0e8f4763f0d22bade7d5db52880abb5b9db796ea6558e428010aadb2db7f514cc88dec2a6c07b65f6bb0d0b1899872aa34c32fba3bd51c17dcedf252bafaef8be80d500ce41da98128db55b24c92c08d7a83d2f1831218e2a7101492ca1b694bd4026b487516a9a718ce12565c0f2b70bc4cf36713237d76adcee85a1fbd40ce9d9bf6f0536ff39b4126513abd15adc90d52be3b9f056c38369f9852d6d4a3013b87231f732d8c9402c07c23d0be0da975bc263ce386105b5b0250a1dac86a017ad2cb7eff66851ff03d3645a8a03809332b39ee45b927b8855313fb58b9a7aa32976104e37ede76bf242e970f458fa0ae114ffbb204b25413fa56494329559c60002c30937e16a4acaba3dc76a2b33e276cc9acf54b4e79b1eb4700a8f3b398ade1e99b6055cd227fb3fd253c3fde97fa45b1841a322e89c2cd4440749f45ade5f439885faaa8fee8a96a8cec200a5b4474b6c2732ce33027eed04ab830dbdd8b9b3fa0846beed25b2070ab0633bd858c5e4a31d90910712803e3ed3dfc5cbc7f652938b1375c5c1bd718d2c12d4c0403c79018f62a8d8801dfedbd9ad3e6850c71efcb953e8f5df702d1dd5d40b494661c1c258bb73434778a23a23d4f9dd427bf736cb52faed795b319d729831331860db65aeaac8aeb9f581993f091cfa46966fa5265d9c1a941e2bd93e7c78dcf0e4f05bf2a19065c1d4235b96ca1085c3309862d167ec47ad7121795418d09a0ea30d4e7b5fd91dfb7f745ca70de5143986a8f83ccbf6721716dd86594e03c28f8ff8d8e0fb6904f9633c150cab80d69d060ced11d8c58e819545feed2be323f1a1ab47f30de4f90bf556014c328ef18eb8bd7a7949fdacb0503415955738b78942185a4f96994efdd09d34b2b577f85137988b73990697c22f9b46c86b0a79180ae1f650ecd4e384a0d2ad2ccb0b9351254d47536a0acb5635691394f5a616109de6372dead21366e0c959cf9c78c8996d164913b345e4c0389e180b268bf59201a26879032a65ba67e0e38946952b0cd7dfe0acadd48cb12f093d7a99e5adcf628a29958d111f849da3593688ac9c956326e79ecb7ad081d9a660577794b7e185a466ab427da207d28b3f15eab8f8373b5afd34d3a1c821cee3ced6ba8e7856ed159d43df377ed758568301e3c8a6ebf5a04700dee2d4f73c5cad1965a58bc7b205c80d6cfe06be3709ea318285a9240474b47fe4782fb3c6331d6b676671785b437cdf3e2188cb74d03e94c080c395a7ebde5fac78c13a3db2e0f8b0aee79cbc4fda2e9671a2c496639280ccb5e8d86ba377f0fb6cc37e2b59916f3d70cfda9c91647a21ad0d3a434a04a692a37ecfc487fe7ddcc807c57deb79bcfb64c18e7e1033e9b4ba68750e6771e7d0f253fbe4a52d8beec8fc132bf50cf66e16e55785d96f535576649aaffad2dab9024664ee6f337d8e72f09fa1ab892d41c1f2fe57357fa3021ec2493413da454144e723d8cc6fb9962ff6fd396ffdd7572dd16912a109980d726bbda36822d7f3a4d51eb6924beaefe9db9cf321950f7ac0b99bdc5192e89134a4b92a97e36729fb68cc6014e73fe9a4ab77dfb06df3121c944c3142e00448f263af2822ea2b507b9ff821438048c5a038af98fb298c988300438e80dcd9c8a162246652cf9c89974bfda99961b2e42503480a8550ce73e0b78a73a39675d5f478b8c42c95d3fe3eff7888170aae67de6d6d6e58ef6bdf5a3cc0e82ed795171bb5d852a2ae3f34f3b5f9270983cce05c8c8800453fdcf24a1a5eedeaf60a50c25d9cf5d911c801f1780aa4dd3cc95e20dc9a03c38fd880df12d45b158d1e5f91e9e1590b6b15960a6b5014a05922f8f6defae74c1ef0c136d6e8c6414562e40bda5eee2cf9446c723ab938f35db77c8a339ab6e0e2bccd917447a8e037c90c0f6e79304c681dac07562cb2c3f05e5371b67e6f9aef6b0bd1dcfe60d6b029ad9bac8df31ec658bc0a43cfa73e87c3b611242282f6f994b9c8d28d1dbe975f80347790f61bfd0d454f7f05f3c591abbcada8ae71136c2532155efe0361a6ceb0fad34a41e4c6d3541d14bbff28237afdf5a83efbe1980d4a7fb75abc04e648cff099d23dacfdbfeca2efd4bcc68e740dd855f39b43ab5ede2c907248f1382a4e931112eba2d5fc92db1275f255ebf177244078f697485f38c1dc14ac09575e765b5b1fe4186a228c0faed76c499369d6676757dcd2b8667a5798e970589a1ded516bed626923eff31522cb9df3cd243bd02f0643eb23576b41d9c0929846a32dd114e38599cbabbf040652a6ec6db64bfc9f1024c979a9ef9f05bd522266f26d25baea9239d020bfe305a5cad0905659a498e5edf0e61d768d636670b0d6854621ced79ab5cefd499ee7991f69a977496bd17ac28b1b77ce0edb4b6786be32e05156d336647a9610aad1bf02ea9190736c62b2fabfd7d8efe869460eef3c6c7d51a4d051d60ce888ea67d8ae4c4dabf9089022cd57399642fce66e55899047257ffccc465ae024e62a1a4a1baab42c4f51db1ba84c6149dd4a65961998dbb1e5efed04a59c6b468e383a642bb6a7cf2cd3b8c978c374497cb8d0870633eeaa859c3fca0a7b01ed5a3050bfe304258a6a69e96c229236263a0d6400b6840e2df6897d14ef65b32558d35c7e9dcf6194c40a7b28a715624c7ad1e86168340abd4825edf81b9fef0fb44aff2a6dab555ff94c10a226a13a915796dbcbf70043745234037712e745529fb136ac59ce68531f89bc85b87d629c9ecdd690795732a576b7d511c72aa8c78f242b8e1f57e511a496dfb66e25cf8677eda94285c3144f2c2fea65d1c10893e333b8008496b2f28d918437d75b7ac6b15b67859745abdde070a9963eca648ed5b202ea33f7254ce4ce2e7defa270224a45181dabb2796517229c2d006f1fb566e20664ce3d03c9b79e2ed8f64d99a5b64592f66911ff77bfc6b5e676767360ec6c9d8d4d84b7ec72eb8fcb1da5d9e009fab299b11b2e641d7b8cc51f088ed8f15c7366569285754236f263ac27c4fbf724e7f877e52dd7e02f2a6f311137ee5c19b944bafbade114af8dbacad3f669674d247f72f7b932a15529830b5a912db68a5269cfb4347f54813a5762363eb0a46971c94490719634346d422f74292190a5108d7cd70d7ea215d7f9db30d4886684e17db0765a52376f8161f04e468f697d93641316196df3b515d866b7de8f11469a28c16b1bf9144c692eed9658c455a8e486ff40cce539b1eb6c115a32328da10d6a60e22a15ae4ba164d25a3880dd2c042b084d52ecc189e596dce8380fadc03805440aa9811b5c7e80aef32622802e2e3142b6bde8804fe9834db00cc66dd2caf306edcbdd6c7fb7d625fddac00a2434ce4465477dc5e897251170525c1366e28cff32447b652f4ba7f0076e5324318913af2fa44abba8f8a332b55ab4a72ca0bf889996237d54798835dcc15099c80d1773987223ac9ac15c154180cb3b1a9b18fdcdd22b08c19629cd155b878400d81f98a63545a0af5d145781c093f3790688b1779455a4800de389ca4088d365af4f2905d643ae5801b8132adfae1635498a64669a7b91f72c28bfbc1a7e3057f2f3e739be3b82d0d221ac5022e7823c396dde21e643ad0ec3b296ca11b166a93f1cb24603ceac8e020f8aa1e0a07e766e89fe2c9c7f0cabffb757e57c2b3355d0bc9bf6fd2722af8445ec29c9e77df7a3b576ee84ae6929d6284da23ee27860bd0eea3c2ab0ab9aed9778962015052241e080bdca5e90520597942135b94e19cbb0ca02fc0c0993f831e599bd1498b727e225ae976401618f7f19a616371134a9ee343086190f0d2f872e1fccdb4b4c61be32a20c8f9f295fd064a41a7227ae80f1ab73431461fb354241820152bc7bf94004b68e2564cb0e9e258f701cadaccdb1745f58a905224ad8c77023a7d607d52246e24887a8d7db0d12a458863878af093e98d5fefcdc5e8e5eee6cbed7b221378468dfe26fe012f195c571c38c92b9a634eb90985974f8aee36b4278464826ef831c983b2e3dfff24dd1215a1e11da81a0178a90242274566f36749d61cd8e9217b7f011739bce61ec34ee2f90627e930633d3be605485f7728fe4bc8375db1df10441d8fc4d0fbff1b126fd41095d4a3de3aa9bd875f8e28fdc20e389762f0fbb739407588814a7351bbc3d32b6f87aa8e39717a3fae4dd2f267c7419dc27b0cc000df288b6d3458508dfd6ff801aa6137a1fc278364e7150c7003dd91a3b8023ffeeb843bda33559bfd53584358fa87fb8f139ce6d6e3143803417494e5c465b1a82d60d7eba70b588d0bd6fd31f48bac905e5126a23f05e937f83a0c3819cc710c3dec092f61ba3ba75e0bfafc1b9ddc9ae7091bd046a835659754c932b7b2dc93135186768826923f415ddf5975ff5595046833fe6031d2d7f479f579c4ee84a832c97504b340289a4a4e564c175dbd5e372e245bd6ab21f1c705bc9c05cc4fc8770bd34072cb184414b65c2829d63f4d2fe56fe5c8a51d2519563af934b66da52b737c82d40c7fbf754495a32cb06a89ab6a6eccdf0d10ef33a24e67c7f592d81f0418a13228f5e08e4e4c6eb01fcf6b0b98d665e5beba52de4f93160ab63edd8b0247dcde29296704e57a4caf5931ffbf84c4bef88df06d46dfcbc27b557171d029b5ddc87e759c7455bf33c9076d13391d32cf5e88072542c09c18151fab758a50e724a98946915973231c53d101a3535d9f5d5479da50d326cb8ffc6605bef033b904b29f9f37307120a54afda76723667634020028cdbda1db317ee323de0f91e6e4d08b775b3b7c03e60dae7ce398008e5de9a227f387c67069c45deabb8436305474", 0x1000}], 0x3}}, {{&(0x7f0000004080)=@in={0x2, 0x4e24, @private=0xa010100}, 0x80, &(0x7f0000004140)=[{&(0x7f0000004100)="ca215aa0c20012c46f09a6b832c7fb74e214362f16a86d9bc2e9c773c896921c7ec5a7306ba1e42755eaa25bf2e839ca38972b33cdbf244c77", 0x39}], 0x1, &(0x7f0000004180)=[{0x110, 0x108, 0x8, "cf68d16400d02926efe568bae8f0e79b1361d504dbec379f9c476a476692727547060e324948b441714e526c098ee2eb0fd702afbae53ddd12173a4089084c3bc58b6727ae1604943ac2477a4dc1a79c0db5ce39b5f94a6fea16db1e93cfec278f37d3b2f0762ea9177fc617f7f6185bd70a9d18eba3e1acc457e50afca5d5c8fa511d3f5a8d34a4bbd3d0bd2a74812f363425e9b9c36f9647b51cb37fbbb9cfa130ef18254985ff82c28c07a1f7d1c4a00677fcaa979a91f2c3e909dde799aad485e384c1e9c29ea8d3aeca77efa42b331125a0dc7eacabbd7439d199de62df1d714e031161be17ecde34dc8206679ac53ffd010b9422f8a5d6d0"}], 0x110}}, {{&(0x7f00000042c0)=@l2tp6={0xa, 0x0, 0x2, @local, 0x1}, 0x80, &(0x7f0000004400)=[{&(0x7f0000004340)="778126ea7f60e91a1f278e1c5b179535e2849a627b353f741bb2f03ddde414e51c42397c5790d91647ffe2ade604b10a2b", 0x31}, {&(0x7f0000004380)="8b2a81c75910f413e5122a7025e100f5542851cdfdb82a4caae3ea93f7621dfe2fe937c63450938f70eb4d3060a35dbd0d74d9fa1b8869c74210b4d21c8e8718366bf820ec780fdef3facaafa6467fcff441d4e8ef689fffd2165addae304b1ce2b96408edb4220f176fff8468f3751dacca12bf", 0x74}], 0x2, &(0x7f0000004440)=[{0xa8, 0x88, 0xd2, "0de6b1450aff200888e3ac8fa66379da5192ed55ff351118e1b11837b928afa482e74d7d77626d7b5bf02a05e9848756a391c63e8a9eca19b42f0449beb32afcd7248a3f41ba34f09468c37268b531cf102e75500ea597dabed72fb4eee5f443fe504f3e3689f6da7ffd554c30f597b4041b4b1e91220439ff88773422b521c870417bcca1d2337bc96551e7423a3628ce89bdfcefe34d"}, {0x20, 0x119, 0x4, "b6eea0c55f0bb9ef6ee399"}], 0xc8}}, {{&(0x7f0000004540)=@nfc={0x27, 0x0, 0x1, 0x5}, 0x80, &(0x7f0000004700)=[{&(0x7f00000045c0)="1913648c02cb642a4da639a9f4c54ba37e62f15ebd4b140ab7884e36b0103b0d88e49493a87aba07f995829cbda0499e4f43b274df211e342b9029b7e926babf0f1cbda4ba7d8e8c6397a2098c870d05513e48e271e133613749977b076f85366936029b7487ce01ddcb5701a3074c19925d93803ab0046b47135d458997032ba441165ec79fdbb1771306b40b23e915401774565185101088e099881e197b42b7bd7b9b56dc60ac5a2d14972fb11d54fb45dd915f14641dd4cc908622b2b85762013a0a1c9a2dc78cf2cd573426a53437f2befb048ddf", 0xd7}, {&(0x7f00000046c0)="fd5b9750cf5b987f5b1098", 0xb}], 0x2}}], 0x7, 0x0) socket$nl_xfrm(0x10, 0x3, 0x6) 18:37:13 executing program 0: socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) r2 = dup2(r1, r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000000)={0x2, &(0x7f0000000040)=[{0x87}, {0x6}]}, 0x10) accept4$tipc(r2, 0x0, &(0x7f0000000080), 0x0) [ 480.849129] IPVS: ftp: loaded support on port[0] = 21 [ 480.887849] ntfs: volume version 3.1. [ 480.905836] ntfs: (device loop4): map_mft_record_page(): Mft record 0xb is corrupt. Run chkdsk. [ 480.941790] ntfs: (device loop4): map_mft_record(): Failed with error code 5. [ 480.967817] ntfs: (device loop4): ntfs_read_locked_inode(): Failed with error code -5. Marking corrupt inode 0xb as bad. Run chkdsk. 18:37:13 executing program 0: mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mkdir(&(0x7f0000000200)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) setxattr(&(0x7f0000000100)='./file1\x00', &(0x7f0000000140)=@known='trusted.overlay.impure\x00', &(0x7f00000001c0)='\x00', 0x1, 0x3) mount$overlay(0x0, &(0x7f0000000040)='./bus\x00', &(0x7f0000000080)='overlay\x00', 0x0, &(0x7f0000000000)={[{@upperdir={'upperdir', 0x3d, './file0'}}, {@workdir={'workdir', 0x3d, './file1'}}, {@lowerdir={'lowerdir', 0x3d, './bus'}}]}) setxattr$trusted_overlay_opaque(&(0x7f00000000c0)='./file0\x00', &(0x7f0000000180)='trusted.overlay.opaque\x00', &(0x7f00000002c0)='y\x00', 0x2, 0x2) [ 481.013776] ntfs: (device loop4): load_system_files(): Failed to load $Extend. [ 481.049457] ntfs: (device loop4): ntfs_fill_super(): Failed to load system files. 18:37:13 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) r3 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) sendmsg$rds(r1, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000480)=""/4096, 0x1000}], 0x1, &(0x7f0000001580)=[@rdma_map={0x30, 0x114, 0x3, {{0x0}, &(0x7f0000000380), 0x9}}, @zcopy_cookie={0x18, 0x114, 0xc, 0x4}], 0x48, 0x8001}, 0x0) pread64(r3, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 481.169647] overlayfs: upperdir is in-use by another mount, mount with '-o index=off' to override exclusive upperdir protection. [ 481.185057] IPVS: ftp: loaded support on port[0] = 21 18:37:13 executing program 2: perf_event_open(&(0x7f000001d000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bf, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000240)}, 0x0, 0x2, 0x0, 0x0, 0x100000001, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0xb) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x80000000000002, &(0x7f0000000300)=0x80, 0x4) perf_event_open(&(0x7f0000000640)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffeffff}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x400000000001, 0x0) r1 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) dup3(r1, r0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) write$FUSE_INTERRUPT(0xffffffffffffffff, &(0x7f0000000100)={0xff73}, 0x10) ioctl$FBIO_WAITFORVSYNC(0xffffffffffffffff, 0x40044620, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000100)={0x0, 0x9, 0x10}, 0xc) ftruncate(r2, 0x600004) sendfile(r0, r2, 0x0, 0x80001d00c0d0) bind$inet(0xffffffffffffffff, &(0x7f0000000000)={0x2, 0x0, @broadcast}, 0x10) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x200007fd, 0x0, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(0xffffffffffffffff, 0x6, 0xd, 0x0, 0x0) setsockopt$sock_int(0xffffffffffffffff, 0x1, 0x0, 0x0, 0x0) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) shutdown(0xffffffffffffffff, 0x1) [ 481.294545] Bluetooth: hci3 command 0x041b tx timeout 18:37:14 executing program 0: pipe(&(0x7f0000000280)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) close(r2) socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$nl80211(&(0x7f00000000c0)='nl80211\x00') socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000140)={0xffffffffffffffff}) r5 = dup(r4) ioctl$PERF_EVENT_IOC_ENABLE(r5, 0x8912, 0x400200) r6 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r6, 0x8933, &(0x7f0000000000)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_GET_WIPHY(0xffffffffffffffff, &(0x7f000001d0c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000000)={0x30, r3, 0x709, 0x0, 0x0, {{}, {@val={0x8}, @val={0x8, 0x3, r7}, @val={0xc}}}}, 0x30}}, 0x0) r8 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r8, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) getsockopt$inet6_udp_int(r8, 0x11, 0xb, &(0x7f0000000080), &(0x7f0000000100)=0x4) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) splice(r0, 0x0, r2, 0x0, 0x4ffdd, 0x0) 18:37:14 executing program 2: perf_event_open(&(0x7f000001d000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bf, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000240)}, 0x0, 0x2, 0x0, 0x0, 0x100000001, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0xb) setsockopt$inet_tcp_int(0xffffffffffffffff, 0x6, 0x80000000000002, &(0x7f0000000300)=0x80, 0x4) perf_event_open(&(0x7f0000000640)={0x5, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffeffff}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x400000000001, 0x0) r1 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) dup3(r1, r0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000040)='./bus\x00', 0x141042, 0x0) write$FUSE_INTERRUPT(0xffffffffffffffff, &(0x7f0000000100)={0xff73}, 0x10) ioctl$FBIO_WAITFORVSYNC(0xffffffffffffffff, 0x40044620, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(r1, 0x84, 0x72, &(0x7f0000000100)={0x0, 0x9, 0x10}, 0xc) ftruncate(r2, 0x600004) sendfile(r0, r2, 0x0, 0x80001d00c0d0) bind$inet(0xffffffffffffffff, &(0x7f0000000000)={0x2, 0x0, @broadcast}, 0x10) sendto$inet(0xffffffffffffffff, 0x0, 0x0, 0x200007fd, 0x0, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(0xffffffffffffffff, 0x6, 0xd, 0x0, 0x0) setsockopt$sock_int(0xffffffffffffffff, 0x1, 0x0, 0x0, 0x0) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) shutdown(0xffffffffffffffff, 0x1) [ 481.425865] IPVS: ftp: loaded support on port[0] = 21 18:37:14 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x414802, 0x0) bind$l2tp6(0xffffffffffffffff, &(0x7f0000000040)={0xa, 0x0, 0x3, @loopback, 0x80000000, 0x2}, 0x20) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r1 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r1, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) ioctl$SNAPSHOT_ALLOC_SWAP_PAGE(r1, 0x80083314, &(0x7f0000000080)) 18:37:14 executing program 5: syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f004000000000000003000e00d0000200040000001e010000000000000502000000000000b901000000000000ed010000000000008f0000000000000041010000000000008b01000000000000a7010000000000001a73797a6b616c6c6572203a20001100001a73797a6b616c6c657220000000f3200011000073797a6b616c6c657273b0001d0200ed0100000100911d675f420100604d00ff40005a0000644d00114c002a8d00035d0171298e001a040d00145f000300ff278c004902006d09264c00000e2f746d702f73797a2d696d61676567656e3431393737363339322f66696c6530b500012986010200a0007d00294d00074d0009297d00055d0185ce040a002c010001296402dd03012aed00064d028fce0328232ced000229ec00ff000100c027ed0007dc046520544d1b085c001100004800130100a100034d00244c00090200040066696c65304800015002b2013104d404f7050200088003032e636f6c6486590201f906a64001ec080131e20005273100322a3100331100001a001200c10086dd0024dd0048dd00a6dd00e2de001e01bc001100008b0100000000000008805cf90100535f0100af010000000000001b001e00000600786174747231060000c401274d0032274d00321100000d001200c100024d00244c00110000c1010000000000000100000000000000de0100", 0x200}], 0x0, &(0x7f0000010200)) r0 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r0, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) sendmsg$TIPC_NL_UDP_GET_REMOTEIP(r0, &(0x7f00000000c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f0000000080)={&(0x7f0000000240)={0x198, 0x0, 0x200, 0x70bd29, 0x25dfdbfd, {}, [@TIPC_NLA_PUBL={0x44, 0x3, 0x0, 0x1, [@TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x3}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x200}, @TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x200}, @TIPC_NLA_PUBL_LOWER={0x8}, @TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x9}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x5}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x7}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0x7fff}]}, @TIPC_NLA_PUBL={0x2c, 0x3, 0x0, 0x1, [@TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x4}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0xfffff801}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0x9}, @TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x6}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0x2}]}, @TIPC_NLA_PUBL={0x44, 0x3, 0x0, 0x1, [@TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x1}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x5}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0xde89}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x4}, @TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x7f}, @TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x7}, @TIPC_NLA_PUBL_TYPE={0x8, 0x1, 0x8}, @TIPC_NLA_PUBL_UPPER={0x8, 0x3, 0x401}]}, @TIPC_NLA_BEARER={0x48, 0x1, 0x0, 0x1, [@TIPC_NLA_BEARER_NAME={0xc, 0x1, @l2={'ib', 0x3a, 'gre0\x00'}}, @TIPC_NLA_BEARER_UDP_OPTS={0x38, 0x4, {{0x14, 0x1, @in={0x2, 0x4e20, @loopback}}, {0x20, 0x2, @in6={0xa, 0x4e22, 0x7, @private0={0xfc, 0x0, [], 0x1}, 0xffff}}}}]}, @TIPC_NLA_NET={0x30, 0x7, 0x0, 0x1, [@TIPC_NLA_NET_ADDR={0x8, 0x2, 0x2000}, @TIPC_NLA_NET_NODEID={0xc, 0x3, 0x6}, @TIPC_NLA_NET_NODEID={0xc, 0x3, 0x43}, @TIPC_NLA_NET_NODEID_W1={0xc, 0x4, 0x5}]}, @TIPC_NLA_PUBL={0xc, 0x3, 0x0, 0x1, [@TIPC_NLA_PUBL_LOWER={0x8, 0x2, 0x1}]}, @TIPC_NLA_MEDIA={0x4c, 0x5, 0x0, 0x1, [@TIPC_NLA_MEDIA_PROP={0x1c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_WIN={0x8, 0x3, 0x4}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0x9}, @TIPC_NLA_PROP_WIN={0x8, 0x3, 0x81}]}, @TIPC_NLA_MEDIA_PROP={0x2c, 0x2, 0x0, 0x1, [@TIPC_NLA_PROP_TOL={0x8, 0x2, 0xec}, @TIPC_NLA_PROP_PRIO={0x8, 0x1, 0xf}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x4c}, @TIPC_NLA_PROP_MTU={0x8, 0x4, 0x10001}, @TIPC_NLA_PROP_TOL={0x8, 0x2, 0x1}]}]}]}, 0x198}, 0x1, 0x0, 0x0, 0x880}, 0x810) [ 481.545836] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 481.578971] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 481.593114] loop5: p2 < > 18:37:14 executing program 2: socket$kcm(0x21, 0x2, 0x2) openat$mice(0xffffffffffffff9c, &(0x7f0000000040)='/dev/input/mice\x00', 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/ip_tables_matches\x00') signalfd(0xffffffffffffffff, &(0x7f0000000000), 0x8) socket$inet6_tcp(0xa, 0x1, 0x0) unshare(0x2040400) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r2 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r2, &(0x7f0000000100)={0xff73, 0x0, r1}, 0x10) ioctl$KDMKTONE(r2, 0x4b30, 0x7) setsockopt$kcm_KCM_RECV_DISABLE(r0, 0x119, 0x1, &(0x7f0000000080)=0x9, 0x4) socket$alg(0x26, 0x5, 0x0) pselect6(0x40, &(0x7f00000000c0), 0x0, &(0x7f0000000140)={0x8000000001ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6}, &(0x7f0000000200)={0x77359400}, 0x0) 18:37:14 executing program 3: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) bind$inet6(r0, &(0x7f00004b8fe4)={0xa, 0x3, 0x0, @empty}, 0x1c) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmmsg$inet6(0xffffffffffffffff, &(0x7f0000001940)=[{{0x0, 0x0, &(0x7f0000000080)=[{&(0x7f0000000040)="c2b225ae2e08720e45e657515888233e092677578eac", 0x16}], 0x1}}, {{&(0x7f00000000c0)={0xa, 0x4e21, 0x80000001, @remote, 0x2}, 0x1c, &(0x7f0000000680)=[{&(0x7f0000000100)="a43fbfc9d32f4d1135ec7fa355d29c2f930d25abb120b068cb74e1394c2cd2b4f98584841a186b7a08cf01e58f6240d674352038001b06419b9047e532e7916a8765e6b90b23b21ebc1817c686f6575cce7d06066ba4729c82d05e58b2418fab8e4984fab8f915230a1ec8fb21e5f7e989ead97287de1e4f8d5a996e93d30f050f50dc156214a6148bcf563607964898eb73785d56c5ac50837116313f54db4e57c46316589775e0d9", 0xa9}, {&(0x7f0000000240)="826d6c4211173a3a72aca5f6663557578bc486c67fcbcca500717b93f2b7753ef0c03a3baca6de07ba50af27a526eae58ef7d5dbd0f779b38912872a85d4528890f069b18eb77a9ebd468eebf8415c617ede8597d9ce673b74a726", 0x5b}, {&(0x7f00000002c0)="e78abf906e4121f8beec90963824882f6cf94dad71cb8c595429551c758782ded86e3c1891fd029fbe2e79e0630ef96ac15fa2da774b8dfd8456e9115714ca7f25da8dada299631ce88377ac6d516effca8ca5a7158b875fa7beef915f32ac9e8d02122fcf1b0f25eb8d863f071b754966aa6c02195921d3815579f66354b8c45c34e21ba111e3dba7deb86961bfa7e963d771b89bb4e0ffd1bde7eec8d8f5c48775f8de2f8cc56acb18217c808a20f19922ac087d7ccaf1b1c3598c27e8ad23b0f2ad67243321acdf64d4b28fcf8e3795069e0524570f78", 0xd8}, {&(0x7f00000001c0)="6d080789a761f50229249c68c2c5d1e8afb7bc6178934d8c1ecfb1db99b4d6360e15e984779c6cf95f", 0x29}, {&(0x7f00000003c0)="2e809b807ea2035107745b9405a5601b0c68f00a95362510e5462fac735ba0d4ff689a0fac6ece0fa51de194b36f20a917a008cd818ac1dde8f294be557ab4a712838bb7e6cc760ce55b1b8b345746d823e6bbb2c4bea23deda3205f42d7a899ad0a58de9f", 0x65}, {&(0x7f0000000440)="8ed8da2ee4e4c9a193aa06a6f1b90fea762ef50dadd98e8e410c82708038ffe5ffa98f1c74862877ca94b3026b881ed8beafe9cdc9146a32e6063c62598a4aa8531c3ab68789bdd54a64831137a08ba8e8edbb07a4f10767a46339a278dbb542469243c6bd6d3483fec142797bc61b9fe56d9d9de69d10ca87d68c2ad6be8b78a0d8a04add777c61cbd91e685d9091e02dd316baf960e1c915d32782dc047c1edbce28318026", 0xa6}, {&(0x7f0000000500)="d4800dfb1294bbc646651cce415207f9132340babddc4cfbcbd426814f2c974eb3f2ac97d6f3a2612eadd2fe64fdd724b65d", 0x32}, {&(0x7f0000000540)="8202394a717243ed54830e4ef733dd43924ff4701bacf975783f96107751ebe947d2aae6f1cdd00e6302eed75f7553277c097efc14f2c0e1e66960c123e60a00b27aabd6d1cf84f8678b1398f693c794027e0ada373cbe0de9455f4d0b5f70bcf61da34b5491e2559cc9d9a5f5", 0x6d}, {&(0x7f00000005c0)="37e935562f6a86a398e3c0d8ebc3195215d40f9359be21fd13dbe8f9dd2f06cc94799f7b755e67cf500f2bdc7aabda3b6d0402bcdf55389b7d109b44be7af2aeb4500016d17f79693de62ce3fa9ae9e8b1827a50801e38752bd27ad92db3aac4b2a0cfce7c8f55b34894b796a8329ccba0cc51cde46a412550cb3d5e3d9048c14783aef1cdfd4b1db7ef5d", 0x8b}], 0x9, &(0x7f0000000740)=[@flowinfo={{0x14, 0x29, 0xb, 0x56c4}}, @dstopts_2292={{0x30, 0x29, 0x4, {0xce, 0x2, [], [@calipso={0x7, 0x10, {0x0, 0x2, 0x4, 0x7, [0x9]}}]}}}, @flowinfo={{0x14, 0x29, 0xb, 0x5}}, @hoplimit={{0x14, 0x29, 0x34, 0x6}}, @flowinfo={{0x14, 0x29, 0xb, 0x4}}, @rthdr={{0x18, 0x29, 0x39, {0x21, 0x0, 0x0, 0xc2}}}, @dontfrag={{0x14, 0x29, 0x3e, 0xfff}}, @hoplimit={{0x14, 0x29, 0x34, 0x80000000}}], 0xd8}}, {{&(0x7f0000000840)={0xa, 0x4e23, 0x10001, @mcast1, 0x4}, 0x1c, &(0x7f0000001900)=[{&(0x7f0000000880)="7d283d8c0304a00797af8c55e76b6a5e6805b294232e97e9e590461aa3dedfe533f9132cb4eb8aa86aa2cd6416d8a618053d56076d3acd5909373f884bb0f5323a74919a703557251040dcd036b47ba58f6007f833129439fc89374656fa0f24f8b86a863aee6acb0751f0d7a2ca89134fd43ae85c4e3bab75c77e83c87b87f832f53566404c69b42c8378556ab37ec970e164cdc9c7d7c4f8c428845784b7c9876a9c5ce0286cd362a3618a98cbc6d5ca645df5f8ed0013b4560830155c347fe2d7c49850d4328f2c5fb7afb566b7ea13f3ce16e5deb2d9149ebcaec806d12d1ff28d9559f4d25fe10b447c1da26debb965e5a4cab2907aa5cc8ddd2134a7d6bc44f6b0c1d50245f534b8a5eeb1ad8add2fa2e962d4d425fffe3b9feddefe31f26a83bd6e5b6a56f7ced5a667af3e4fa22a17b678087d6cfd066ca7090ca668a33c268c5e9ca453fca11bff6036730e844f49a02dc9f37822231bc5c913e3817223daa674a871fb084d996223d0a5ea5f66bd6c431944a36685628c1c60457cc103243afe2dceb514b3aeab67c31671e1e378afb6c06aa2295855f32e9866288e2382339c45572d784059e01bffb654942837ed29c592adf9b26f9fe9d55b0f9711e80be7c6ea4b316c456650b0fe98d31a43fa470ba1d43e6cf543aaa2d31c3005ee6ebd29af8e296621c058967ba70eb58c50e55e1624b97390ec0339aff5fcb393fe7d5d17baeb882ff76509408bf8f3671d11529d64258032c10d7c561e56bacb0f29f7fc1e5e9f78493e3dba5e6f94535de3d4c7fe5bdcdc01c1677f5c629c0ed87a229fe6f7ec5140d98da26f54d602e79ce3b0f3a241cea8c7e013f037c2db4ca5ced08a28af78033034714b8624b8fed40c92568c4f673c4102b6d9e373927158cdc1ae4634ea7964c2784ab9180b9175cb86d7ed533bfa5b5cf550e6727de8e40de57ae206288ba7aa3df589951bb546307e54b7af87afda2a24af0dfeaf71db94919affe98a116972e8abe3d1f9445a22716013b0ef0ee2d8a9308e08808446b1bfcd58b6c160f6286c44fd95d2b73594eea85252eb784510600312aa116d79513278c81bfd28b8c90e7a5a5aa88beb7d71cc10f3b844549a882262bc8cb7f243e1c9c3dd30e728c467691224d1b1eddcd010bd1b4d40500f6bda51fd2aac52b634a90aa059faa42f5338c24840d98b0a9d44b284c9727481645fb44b86c3bd9f28a6275be6bc5a746af020daab3e2179f4d089634f66e12f6664b60ae226593f62892561f5cfec7f525803fa2a0a7ad539bfb5b2dbf4860b2a1c87dfa4692d1a1f837908539c30cf6b7aa02f12abb2d886089dfecbf29f8b2baf19633c8f5db82c87a15012ab8080158415ca6bf28b2038f81f6175a671afeeaaae070bf87228d88513c15c56d1f8498a1406b83644b153e926adaaf0f85d51fa677fc96efc8dc166e9ab330678fb64f42c49973a330bff2b2a37bae7fe14d9a58b42668f51d6c9a338555909f552335b3da6b6d4c293181f35b921da8afbe0986f00928edb9d6afa77dfdca6d6cbb7798fde4e0f0b68dbed1c9a8d5c3354244feb5646bd36a3c589cde17c2f7cb40d5c521b6897165a034e265a1cf339b093c0abece9d5361d98526f01ad8ea39c8ed6f90967c6fb213ebe660263b7376bdcb4f411d3a42d1abb31ab06f2b581287a7ff28ac7414cde0dc2c447b11b7d44bfa33c7c7bb77a8263afb81602fc2611d7b2d4d161119bef0fb8d6098d53ae3759f8f7a83bc3bf4dce7e2c0adbda69eafaa8c2ba9980c4f900c5d94fbbb7b3c6482ffd92ee9d442a2c36ef4f39519a3653da9082350f9f7be17916705b0e319dab71f3dbbb73cec4a5fe15b5482459e6bfbc768587c1b2c236dc5427633be19f83c164be2bfd85826170d6f71a1803f640de2d42b7c823c946bd4d625821b636cfca23a04bc7613de0a3091ac3452641ce7faa94e1323ba86fd57c8526d0c904d76f18dfd25adbf824c72b574245b8a01aa5e57c9dd7b1072d566ebd41fd9e0e77dfd323b5b97c2fca485ebffc07e68aa39ffd34ea5faecb5f6eb674796737e6882eca794e84e17584341dab030b90e735e07de8bb9d316e53ec12087ce42c8c758dbdb6f8ba50fe793519ccd979d3008f5cf321b3b699f90c843008fe61e5940781876723c79ae37c79cd2decec861f40e95e0f3da075cb33ca35bb42d8dcc6e56c3dcc1293c8cb0283c9281bdb8e4621c13c5fcd469306bcc55f8b5cbad348916ec4827efaea8a484a9eb07e35342b2a97c81cf570aed96b871e80e8127554f1a75ef6b0b355e52f2f688169d11d1b2bfb13bbdb7fd261690bdac401c159ffe75ac210233308044ca72bd68f1c23fd601516cfb395edf4185a814c31cc41993989a5780b79751c02a4354a6318c9558807bd2133c022571de7e2ec1c2f5c0bda8ff543f2210274542c5033a3f51b4442db49331164dfe5c3aa8f3a9e3cbc23a7e0cd67bdf1bac9c0c2eec0962081bb626f97247cf4db8ebcdf377d8310e4b0b5846ec7c5e1d0542ab78b23be808a5f14fa0c4ea96fa5a8a541c07f48693146c27d65dac7b723d87bece038b869e9b379ba3e9eddae83d783d98c567cc913e83f196978228c946285e9d03a65c5a5cdf054285d0342f3ea4f2299596731fc7d5a2729b6b93a9ada0f5bd757d28349c92e812a9306502e375e469fc38f9a6ec88d1fd6cf2faa43785f7fc023e85aa718bc5edf4ad1d6f63fe1a0cf8f1271bba7bfc5d341cc39184e65ee529b6534c3817767cb5d402e42bcd94f078d6c1a4f981faba709e995fe02fb2701a53142712a8a8423d7762dca7149d1b277036dfaf3b45bba1c8dec5c04acef02d27f57ddd6c98d5d6a3f6ff8e81f2f8030bd342ef89a36924ddef923a6d71a9e3385699b8850b2b9582674ac2fc3e12b048af566128edf735ad38ae429ddc2ecc38ad851662740652077f82576c58df45c1ce4f55f41367036592eadfc0c9da666cf4fcaa245333a1d2ebb85a0e6b6f2cf9c4b5aac4f77bc4b249e256f631d508646ee503d66b93767572f05cea445171930ae4a2e356c4d3d26cf1b31ba276ebb9f1ee18f89c97ea416c2b1003ebf0a1cdebca3398780e05d44bb603f897f504dc4469ce63f87e1c8b17a1284d6836f3aaeda89b428d55d7c11961372eb41d1715e89357a9433678388bbf6670dd5eb02668b4159844d95470b7e32161974a74193276b5a08cb2a6db17be0745f2d3c339ec1f016606f0568e4b58bfb8d5579e3488689b7ff5858c50e0051418db906ba63e174761746f6ab7928e9005b1414cffaa63aa9edd71284beb36fa8d46cfd8bff46fcf946f4a7231232c2e639b34d8a7c9da058ced85bed2a35bd69db441b2977b3007f27b3fa00fefe10b05771d9b05026aa6ea65bc665bbc946cbb0239c99f0773512bacc94fe1e7b0880ba847dcf821962c3e9740a2beba9a69f0b477deb85b20720a8f342a031aa2536ea0efa70e2848a938dafdee4a037a5b06123d9b87ec0c3f70d683e9b024c5522dfaddb42bef7a3b836526864cc40cd71b88b05600bcd51c3996b02962dcc3455e7cef9d45d0ea4fdb76497661d02be14b7e803bab24fce2a20db0df7a6c9ca4563b1c8a1686242687d2bcc45962671644a94e3e6fd971fa962a762415a0c034c688e5e38fdd50bfffa3b1d6cd9449a32d20d8b173df599ee04a7f39f711bb81c97d63e7ce2dc1dc586a45fe7920b1ae215b9e40bbeab963a8f60253ae74edb94847978a093123c5031e00b2075ab2dd491837664a6b638384d1ab59af0a0f2238d9de7277141dd5c5220ec0cf744f2cd0eaee199b47879a3fa5aaa645998a5b33db1ad4d3b4f554c53e311705cb74b0cecdcdd96bb3d30d90b4afa0282c5a709ceb1a91fa7cefd29b045d096ca081af967f6c70bf00826d924838f8f33e87287992747a57fed5cdb8c180f1959decc7214f1ebd89000472b7e98c2db227e4147930735c8004e350db201a4bf72b94da1c9d3ec777cf1176a3edba8dddbaa995ca61b05426f3312b4dcca2aeafc517411225391c5c33f2e904d8f8329eb0c5ab3a77a4e1f3fa850a2b92f15a51b5290174ad30add3ed3f37d348b0c439c1d06a7378f9d2c9248629593e726333a388f684d8b34dc8108885396278c85495eab89e8a553710be0602510609e744e6048c7908b28e76d6e3a2451fa43ff3eba2b2b815c385d3754d1477b5547d599160280f858db24013bce7dff4ee40f6f6c67a27ec68c2dbc66abd735d2b0b5ccc890582c6b4a9996dce1b8f54444ef11d289d57ee4c6492553cc0f4d2fae7b38da887dce1712cc57860d05cfcfb940c47e15b6810f62cd5c1a94d5da5c7c6213c72fa36a6dc0b489c4454376f09da70bc7db2d4ea415aa6e1faa4dbda740751da81c51e8ab7c110fc1f6ac1fdf6057b631a65bdf1b27efd3673de6f4e4f6a02ba920119cab34006f0ed3707ec627bc6fe598f3c913747240803b70a901d1a36a0e81513c1b759bc4b2f1c53df528813f3e84f8f7acc331b18d08838fb49465c9e4917e9674bd9066a4cf65cd04ff108f067ddf9dce080ac38b33c0c8b1e1d60a589c40e56567f709cd8f60a8a1902e2374aa86fa70f86e373d8b005d0b6f5aba9d41f926f52b33e4f59ff9f1eb6da055bfec1ef51492bcdb743934d8e2513c3303a098835f7e7bc19ef6c669f8930814de8ec52f7b644d1cadd361e9e03f15f70f8b02935fa51e0a8df49f1fd55fff28bad1fe55148c678386eef689468768b026c1432415b006b394f9ced04d36735e8f30b5782f51fcfe6c9c83c42ef9ba3683a4bb4dcaf4b8f01b92bb7fb6c0181f6df0b319d173354fa51b857122859975bd8661c7b68af06457eb7a4b52deac4e036a286d425de5ced666ce8f67e025d2b44fa64b89718771e01d551312dd7f71249838f8e594fd38b6478895e2a91a621f1ec7b3a7ac46deb608684cd5f47ef31000d4d08292f9406c632348cfd4ca67b3ddf8112f4c7a76c0912228ea90b8b96626299f79663613451baf59905fbb019e867ca91dfb002a15998a2f1ce18ff65e2f22f4bcbdb6d092e5721cb1ce2d1f165e861d0aa06588eb2ad2afcdf0ae825fb209c8208c6284b6642a72cf8b2bc8b912fe69a0ae2343643ee43bcd35983a39fb3f28eb5fd5597fa447fd7fc96f4ee60dfecc8bfca9830c716c527d6fbd394b3a26caaf9850d384f16d18fb18d3e04f105b20d986fcf995e992760fca916051ead506dc61f8100ea4a8218bc7fc556a5553d4ea546ca6c58385aef0bf9757790f2ec2737845eeaec7123a0ab30929913634e42ce5030b0b26c54fbc9f1900fa13e8db2819ecc61a27b2691d785f8c75623cef461e57ab3231a01970501408ebabd5a5d461fe077e4420d6bd4f5a9d4ae5bc9e5d0acddbe3aae8b359a0eec27e7e234bb128bf8b5ed6623b10f2ece8929f14885bb4c6845ff38e14ace0f1a1c99c59f71579d8a214eb88dd1e28ab4cc358d8fef453715823b05615df70e1ebb4d80812fc5d89987c9917c68c09699bdbd17f9fa766207350450d409188dd4dddab3c7a30d81856566d5a4d929266ccc44dcd856fcea3ddc824104277fb418eb14e656fad400983e78b72d9fd777ab822940febb6e2148d0add75f658ff258b851fce8225e653d8434947b4a7aaf61afb345df9b62c6861816a46c8fa22d3761a454f06586135a9279198e8d55515d6865bda9e65197e43b194730447cac662f79dcf7f4c2bec2e1201c108f99523c85792f75e165bd2de25d45732b4", 0x1000}, {&(0x7f0000001880)="3583dda1325a4384226b40cb5d74020ee14631cbf7f7067594c62237308fe6fde96770971b55f432e7833b5de87747a57fc2ae884390f098333614726ed7e11272edf752652a67b673d30ae6759b717f713081260dfc879f3107c833a81bffc8cbfec53c5c5d36b359c362bf0ebea7f4ac64c9471a96610381291d283e41", 0x7e}], 0x2}}], 0x3, 0x4008010) sendto$inet6(r0, &(0x7f0000000000)='X', 0x1, 0x0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) 18:37:14 executing program 2: r0 = socket$kcm(0x10, 0x2, 0x0) sendmsg$kcm(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f0000000040)="2e0000004a008102e00f80ecdb4cb9020a00000401a10001810040fb03001800040fda1b40d819a906000500000f", 0x2e}], 0x1, 0x0, 0x0, 0x10}, 0x0) recvmsg(r0, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x0) clock_adjtime(0x0, &(0x7f00000000c0)={0x6, 0xe0, 0xfffffffffffffffd, 0x4, 0x4, 0x8001, 0x4, 0xf90, 0x52, 0x7, 0xffffffffbaa6bf90, 0x8000, 0x3, 0x5, 0x1f41, 0x100000000, 0x7, 0x5, 0x7, 0x8, 0x0, 0x8, 0x100000001, 0x7ff, 0xcb1, 0x10000}) [ 481.690460] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 481.713510] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 481.731175] loop5: p2 < > 18:37:14 executing program 5: sendmsg$IPSET_CMD_SWAP(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, 0x0}, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3000007, 0x800000000009031, 0xffffffffffffffff, 0x0) gettid() mbind(&(0x7f0000012000/0xc00000)=nil, 0xc00000, 0x0, 0x0, 0x0, 0x100000003) migrate_pages(0x0, 0x10005, &(0x7f0000000000)=0xfffd, &(0x7f0000000040)=0x5) 18:37:14 executing program 2: write$binfmt_elf32(0xffffffffffffffff, &(0x7f0000000a80)=ANY=[@ANYBLOB="7f454c46031fffe4090000000000000003000000020000007403000038000000c2000000050000006d002000020000022100e9000000000051e57464fffeffff24ef0000980600000600000006000000aaa1000009000000050000000500000020000000000000008c6b3e47ff0700006121000005000000b350a521f9d51860ec0a18a34a1b5288f6bede7b03a1a8fb5955144a9e33e7a8c13ddad76c8d6662ed9335273b11a06c6ae010988c167bd853813f8b9c31d19f427a0eea3577bb0cf5bcce824beabd1e9229543173d30d989736df72f9f03e80e90e5caf323a28b737e9b64ac2175609352f4b48cde0643d1733e8ff24bb1f7e8e8d0bab5fc46fbe0448341c6d23a9e2e1adc19de149bc7607758ed744e2331b12870bf677a06b4db280472af486622e27ecae24077b235718c8d1b1049081ddf22a0c39845846d4632a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001275ad4527efec976e389b4ace8a000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c466447e512227e6c3175d4a21c910c69eeaf826b8a3a07a51b014455fa8c7e3c1d1b54e79c2ae5c5c4ab3509f90e124a5c2699704c52194b2c09bf036ddf5734979ad9c"], 0x542) openat$vcsa(0xffffffffffffff9c, &(0x7f0000000180)='/dev/vcsa\x00', 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r1 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r1, &(0x7f0000000100)={0xff73, 0x0, r0}, 0x10) 18:37:14 executing program 2: r0 = signalfd(0xffffffffffffffff, &(0x7f00000001c0)={[0x6]}, 0x8) mkdir(&(0x7f0000000140)='./control\x00', 0x0) close(r0) r1 = inotify_init1(0x0) fcntl$setstatus(r0, 0x4, 0x2c00) r2 = gettid() fcntl$setown(r0, 0x8, r2) rt_sigprocmask(0x0, &(0x7f0000000000)={[0xfffffffffffffffd]}, 0x0, 0x8) rt_sigtimedwait(&(0x7f0000000040)={[0xfffffffffffffff8]}, 0x0, 0x0, 0x8) ppoll(0x0, 0x0, 0x0, &(0x7f00000002c0)={[0xffffffffffffff84]}, 0x8) r3 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r3, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) getsockopt$inet6_IPV6_XFRM_POLICY(r3, 0x29, 0x23, &(0x7f0000000400)={{{@in=@local, @in=@private}}, {{@in6=@mcast2}, 0x0, @in=@empty}}, &(0x7f0000000500)=0xe8) rt_sigsuspend(0x0, 0x0) inotify_add_watch(r1, &(0x7f0000000180)='./control\x00', 0xa4000960) r4 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r4, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) sendmsg$ETHTOOL_MSG_RINGS_SET(r4, &(0x7f0000000300)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0xecaeed101b25daa2}, 0xc, &(0x7f00000000c0)={&(0x7f0000000200)={0x84, 0x0, 0x4, 0x70bd28, 0x25dfdbfe, {}, [@ETHTOOL_A_RINGS_RX={0x8}, @ETHTOOL_A_RINGS_RX={0x8, 0x6, 0x434b}, @ETHTOOL_A_RINGS_HEADER={0x28, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x2}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'virt_wifi0\x00'}]}, @ETHTOOL_A_RINGS_HEADER={0x28, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'macvlan1\x00'}, @ETHTOOL_A_HEADER_DEV_INDEX={0x8}]}, @ETHTOOL_A_RINGS_RX_MINI={0x8, 0x7, 0x400}, @ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0xfffffff8}]}, 0x84}, 0x1, 0x0, 0x0, 0x48060}, 0x20000000) rmdir(&(0x7f0000000100)='./control\x00') [ 481.852497] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 481.885898] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 481.903523] loop5: p2 < > [ 481.968468] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 481.989345] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 482.006143] loop5: p2 < > 18:37:14 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) r3 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) sendmsg$rds(r1, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000480)=""/4096, 0x1000}], 0x1, &(0x7f0000001580)=[@rdma_map={0x30, 0x114, 0x3, {{0x0}, &(0x7f0000000380), 0x9}}, @zcopy_cookie={0x18, 0x114, 0xc, 0x4}], 0x48, 0x8001}, 0x0) pread64(r3, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:14 executing program 0: add_key$keyring(&(0x7f00000000c0)='keyring\x00', &(0x7f0000000100)={'syz', 0x1}, 0x0, 0x0, 0xffffffffffffffff) syz_mount_image$msdos(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) setsockopt$inet_sctp_SCTP_RECONFIG_SUPPORTED(0xffffffffffffffff, 0x84, 0x75, &(0x7f0000000080)={0x0, 0x5}, 0x8) lsetxattr$security_selinux(&(0x7f00000005c0)='./file0\x00', &(0x7f0000000600)='security.selinux\x00', &(0x7f0000000640)='system_u:object_r:getty_etc_t:s0\x00', 0x21, 0x0) syz_mount_image$tmpfs(0x0, 0x0, 0xa8, 0x0, 0x0, 0x200000, 0x0) ioctl$DRM_IOCTL_MODE_CURSOR2(0xffffffffffffffff, 0xc02464bb, &(0x7f0000000000)={0x2, 0x6, 0x4, 0x2, 0x26b55969, 0x7, 0x7900be37, 0x1000, 0x7}) [ 482.156273] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 482.186847] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 482.213123] loop5: p2 < > 18:37:15 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$SIOCX25SCUDMATCHLEN(0xffffffffffffffff, 0x89e7, &(0x7f0000000040)={0x47}) socket$inet_udplite(0x2, 0x2, 0x88) ioctl$RTC_UIE_OFF(0xffffffffffffffff, 0x7004) ioctl$TIOCL_SETSEL(r0, 0x541c, &(0x7f0000000000)={0x2, {0x3, 0x0, 0x0, 0x400, 0x100}}) 18:37:15 executing program 5: socket(0x10, 0x8000000000000003, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) connect$inet(r0, &(0x7f00000029c0)={0x2, 0x4e24, @private=0xa010102}, 0x10) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x240047f9, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) ioctl$IMHOLD_L1(0xffffffffffffffff, 0x80044948, &(0x7f00000005c0)=0x80000000) ioctl$RTC_WIE_OFF(r0, 0x7010) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000000080), &(0x7f00000000c0)=0xc) r1 = socket(0x10, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000280)=ANY=[@ANYBLOB="440000001000010400"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000240012000c0001006272696467650000140002000800050001000000080001"], 0x44}}, 0x0) sendmmsg(r0, &(0x7f0000002940)=[{{&(0x7f0000000180)=@pppol2tpin6={0x18, 0x1, {0x0, r0, 0x4, 0x2, 0x0, 0x4, {0xa, 0x4e23, 0x80, @mcast1, 0x7fff}}}, 0x80, &(0x7f0000000340)=[{&(0x7f00000002c0)="5c5046caa09a0b5d932fc1e86e16dd5ec8a5a76c4b93c520de5292a61586cb2712c7e1c5316b2fe98a0269c74eaad9e884ae17ece603c19d33bebe578ebad40f06461947cfc1f00bcfd10e50e204", 0x4e}, {&(0x7f0000000240)="a87b91da23425a4b94fac6286ff4e4f977faface74eed618369a55015c26a3d7d2615ea6695db13b5586d42cfbe83b9a2e", 0x31}, {&(0x7f0000000640)="243620dacd5e47863498b9fbcd2418b2b21d0d3e5a56da3369172224526e7cca34767f590af9a9ecfe712655841a4e43a1ed77a3ec5a48ea5e179f7eaeb0599d79686bbd143f1befa9ebf2f8a5c55c5d5221fb24d18b9f56549801415b218b76e86684849a5e4431a9f3c59ff15aa5fbcf38c2d9d462a1e62c0f8fdd28feee51dec613d5b9ee65d6705111bb58927e5c5124d1a330fcceb1e17296c12c67081527666bd07c0a3c8448999452d9b9f3b8579e44db28885474aae76df9ef465e3863412b1b2a9a83f7ee112bc87e080d7e26a7e19ed44d2a4a055690628c8da23a3e0dec4e74f1a3a17ad14b5df6361eab42e6a44cf60af8da623fa40d38d43e7b19343501c04d870b679719481361fb72f15c51eba7b9ee508f7e6e3346332b55c2f9ad764ef30a29aef72b2f9fa8c6bb637c8752d739700b5517f717a9adc18c0a1985b81a0ed48929b916f234867e5ad64b4c2e33e02534c6e982482a30244689281424ee58f42e28b745ed68243918df2dc6b89151d1cc123fc11046ab7cde12fbd98f4d6d8b0723b0b6539f68a49f3470ea2237222262a8d8ade8809b331245a2beadd9acdc0cc2a1708868861f2e7e9b205133a6f2c1b2e1cff0e6f9094f5fb553bd95713ddc448cfb578134557de3927f61106df3e5293c6e7c0f49a8a88a833b115fbdbc4028641f3509f8d836ff5eeb3ee11b072a6ca1e3133fbb688ada2c71a6b5be59a2b34bc3532525ba423cb767f3bf17db41df769e5f625a30bd62fc2c22faf89cf3aaa0b016aed80d4e981d444270151c7a1e92f0a32a99763aaa3994bded2d3bcc32f9eeca7808542beabb55db3fee3ad071655345056b23a390f725198d7a665acc80e54f6d42e2d66396676f7bc88c5e464bdc975be4ef6d8e5f87d1b23b3ecf3d3894452a94ee1ecc8a9ec6e99658e91ec32e6404f8051d08a02dfe615212cb4d9bd153aedcf9863340c78f38780331a4c4e3cba9f4fc0795031fbaaf78d79cb47780c14b8cf5d988228f272037576aebd469245570863343f7683850764364373bf8c60e8ea5facd5b266b0d2d6e9db3bf254b9c120e009c6b2f68481d9f50c300f4bdcd3374bf291e07992f0932038a2144b399845e1e8468d2928d420fc9530b3f1d6870d85664439b01702443a14a3b023ca450124c5c846cb93314b6964c69f0e7da4944b8204e868bc8e5079d0bd707279eb7836d601fbc1529c6faa1688aae66a601dd1400e2e3cdd37bcbf6d93bb32b829898a5cf110db56386f23a55727b7b3f22a052ea16b15f0b224694e6344f3ef3ec21f9385242b8d4be1f82a334b662eb8253dc6954cf61de8787d9b4cfe4fb84d22283af4864b5e82da72ce9eab14cefe20cdb355cbbb00c8144eadb7688c76dc86b08d462b1dc95ab3e7b1aa127088cf910bba32d199f5b72d8ec3ce524786242a0ea9d8c090018ea3a313f23478ed1bb418d9bbcbc630e3bdf513293f1dab7d783d4757cdb9c0a6ce5778f8578c6e7ee0141b003c9e3ff81283906c1874f67111962daa055fabf2c656b0569710c357c8612ab47c34dd43b3e2238307d30a242d31ee492f43b492188bbe8cf2a2c4c59f9bf25c8127c2c0408da1807e911c0d7be40112c05ddc66f6f76968952610390e730c314537eca7f0010cd4615a515b65c4a8c7ed49e8c46ee788dd5ffc84747180bb48d2e81a70e8e91e7f679bbce0e26e3d38e6e5cdb45e154599a1f513e66a8861a16b7df7d758bed78c5810d30df509b3abc2e6eec4b50822270bbb35b5ce6379373289b73ed955d3f49062b019117185bd12b7af26e3d26880e39d2555cc8d32a641b41781c1bdef523eff082cec3d690ba776cdbe6d793c9b3543c67adb00cf604a4fbd462d6d14bf8a9ce376e224538183c195943e65f74fe8896dd0c0ce6be010b63282dca182a2bb50d1e447c227ddab00b6b738b02222cee4a631601fd3deb2b24457c2412dd2d82c4b0aa777d27f75aa0be3cce5be557245281982e2383ac2e75020911b9b299c6f6b216dc43b42fcd879280154d79bd2defef596e7c9912099c8493e4fa4f94fd9d7fcab5782a71a25748a2aff61b955d20bcac2226c5b65c41d8a73cba8f0cc6a2ead60c779827cb1a656fafe15ff341c12fd1313ab1ec1b399033df37b772afaf9f7d551e8ad62cfd59936f3891f6acf1ae546e806d2a320a017947f2f56c0abda478df781b8f19046e204804c8a66fded38eaaf8334c6b84ed20d0b309517ac204d2b5856ea7e13aa712def173730136c84729c67252b8978b323022449877ebd87df7a972c701244d625f093c72ba87c960d118df393ebe474ac5bd951407a521e7eb767a198836902bf3b49755f46ab3b2ec2880f1da5a22e775d51d6da68c639bfb08c3d9a6eda26775172223a5fb723828888b777da2c3d1a24e7df7eed032c378530e8e4d53be0c4fcdc97ac149f7788ada403dedcf5c507cc7fd05a71df77bec3353ca9422b1471ed343e16eca32d106d08beca5959a66807c27759956778b1cbdb9858ba8807fac6c0db63af6f6b7880aacb858d40ce724572e0bb17a00d438410fdb870e50e3cda18c15be48234dfff98ed36f9779f90ec1ca4ab3a0bd242ae5b561ba57cf3da2f223c504d61eeb0948f9974254273c6f1e3a7a9f03c8df5f85979eccaa05c858b9317d6bcd47a151220e8e087a406841552c2b623c558d3761d257a51aa41fdd8e70ea516e52d1f3e17b1e155c9867fc3eac41242bd8d5f72541bc0a339e0846e9d3a50384986f81b90acf3cce1b6c809f43d831c440ef5ba6623b83e8164ed3c57a6b4152e634c0b53f3ab293cfe31e2cfa4c3e72f46ef5b1d19adeac0c2aab621f225728b6269e6fdf8140962cc201d06d09d721e00f14bb0059733816afb3fa3a556588b0e608b5cfc3220f3b6479fb010a53bac0ab30b37b4f0fa076bbde40ed8b2b6e2622fafef86c1d5fb68d9d5cae52b7a81f30c497215aedd40729db6eb40c0ce271ef5fdbd1d19b4b8bae755965d274a453730a931e25949ce897740114e76b4d583660cdb0caa9ce244dbb4d253c3a0f4627196cb12793779b896d0afb9c0936cbff856aae3ddb933a74d2e7e0ebac5540085761895c58bc6f77596fb2ae77ec72029c6a77f9549665ce2b8b824a91dc019019f4810bf389317a75bc12fd5ffb2411073ae0a1f9ca32dc0c68da82116239d2ab3acfc77043bec297b682efb6f224e19776a3acf5009381ffc9cfc6aebbc3b22f6148866ee2fea1d923f412054a590997a0327dfc3609b8fd31f12925974b283916431d16e11b8a314376c2544b324a8570f1691f6bf0f283dc4594a923ea12564dc98c8ecea7d461e13e1c1dea7925005083c7f0873b87a602e34e63846e8dac19605c791bca371b820f9fc86b5cdc7db64b77f9a1830deea30cc6616c22907770a837d8f9b1f2ee4763e4845e5c4520a83f21be0c71a94a3855af3cc75bf5e53bcc6895aad1dd67f5ade5c1ca404a5150f8ccb180f8df9594e951b140ccd287340844a45a5fbe875d08ed18d97d53b227838a8633f272cfa2e77439b4885b73da9286bb9ee9106b7c532bf064342cb32659e42408aaba0144f7a61a8fc71c06d833ade09309d96bd36ed34b472b456b393085558a4e7e411cfc25d7463ab5b0fadbb6651285dc7e789c327b0ccc0cde7851f5b0e6c53ab72c8fb53548ba28fc570bcf152b969c54a3ff9dbc5f49888236cf0922bb91a8a5ceeb153dfdfa8ee001aaf7ff0637ee81e05848d7136b76437cdc836cb57f44321c8c635989168c90f9055a17705c624ddb2e3835888e1d8f6fdcc6968e874f4f9c9a1a8ca48f21dd42022df6c6364c17ff446292aeb7bad1b70c67b320594637ccc8228a153e4bde6f768d6899186de1aa7b559f0a762d9f37feb112c8a71a0bad9943fd5e0097bf644f170121bc607ccb3ff1ab05b40ec621186d19f612bbf84b68ff80316c8b8d3d82b2a09480042ab3f36f928d9164867ed2874446623565ee1e00af4dd7443aec45240e8604c43a531a5b20fb5742f0909bd58198ef914558faae95b4de7747ae40c1386fa85cf0391b46a7592a519f9f0300d0a9ac9665246aae58801278eacbbc3eec205c6bcc99e0f1609707912f137ea72e09bf351f72097de0233ca48d869af3648840b187a9dfe0ae8cd49cfd816224c60762e03f9270d85b1f9be56b58fc6b953e63e8308db9b80506c990726109f2b5314ddc4efb4ea7e6003c64d3311385827d5774c8466c908de7f2bc0129e6702eeca60610ee70ddc2c19aee9e486ed6abc4ba95626f921ea25aa4213fff850e2472ca0798d27b7cb906fb9a49928aae18ead37ab1a53129cac17bbddc86093333997315981405a4b05f5f18988ec376e2a304ea926ddc36d92da08a6cbe76cb5701f8d46721c85410a857cb1c821656736aa95a0e9883eb13c9e0929da19264cae32aaaa1e8df36d66f763129d24de393da831869d4f8b5f584c67db21b5011c83b9f9d88c8beb8379a4db78c0ac9e4b9b4e63daebca58589ac2f1b1dde7c4bd929c2f7de175e142968b5d0f3085178505ca4b7843e302d38a5a71d1b3a621f2626e608b61ba3f6b6ff95aa911d5909f9ed20cebca74425bb51767fe0b0b5803a02c28a9155aac61aa37482b50784fee08b4ef4e23f26a56550df2a5e7b0e056532130a32fd8a1ec2317c8163422d7bd45abee207dd340d2b70c1cc5155f93dce71300a4779c7bb3e080c592d521471cd4b0655c0136aa4ae268cff509640d63f89bd10972bb1d995d9c460efbbd578ec146175a0a6127359c5b61ded34ef2f4c8626a1a57697041c80556ecf1f5332f84ae7545e945872c367d3fcaffb5a9129f50fe80688d4a702cdc9016af73f5f97cd00d9f0a223dfb38fdd3d4828df4a7ca8462b96a96b3a39682477c95d9fb4ba8286b230fa5e056e53ba5470f6082121fcf209dceeec88ae4a1e92e9d7784f3f8391b2a1970d038ebd91c4be0fc48813b8233f41c6242448f8f603067ba31a087ab4493471355952ee3f7104172c4b06436c8d87521782c500354a835ae6a343c81b4497ebb58f258cc1eee36d34e3ad21360ddd55841a0e67d495fe65db7cbb26e6f951b30a54a330c40e8314c2435d7451174330f02c6649152a47be6dec9afa1f1f7f294a533439fa036075c9f9eab71cf9481b23cc7a545f00b077e2081a2000d846d7a062c6983d31f5d95386cc6c608069633908d223806b8b72723c352de0a155e2bfadd5a25835bfe1c2966090a168fbb8f634870b5af9c05e7f53b5250355c41a947e031afac1185bc26998e42c289b10303474e484e426beda9cfba4145cddd4a4e20d74c7d0ad39e8418bde201a7a604f449edb751ecf88f37e3cf9f5d2fce64cadd1781313e282c67d44ca72926192855fc207bf3379558f7ca7aafaf0ccb7804f276d1e5185e5790dc929d0d25f3be26b8fba37520b3c762ed1cdf0f3b4217a406c85e7b545b3e5167f7db1784efb7a24f817b379150813a2cfac68345669d6567d457473a555c4d21fae04511d09480c84b1bb5e468df19e54a99923d77c294e3c3c21b055aab4b1794a2a48510e93df6ad3f26b84094a20d1d2c12094d408e82f5f22d101cb49b1c6f23d77cd07bc5487990347f19559afabc106420e0e2c50f93e29482eb08ecbd9dcc6a8cc5c1eb1fe5988cae16b8ebbb480398abcf483f49c48e134df815003920b8c1ae4b27ca6afd67532c7ec98800e8bb811bc9e3f03d47b19be46afd2702783258c7b68208516f5efdd7181", 0x1000}, {&(0x7f0000000440)="ca7da28cbf98f4b27c5c30298277b0789ab4d7dfb8402e9945ff0728fe35b9905bdc71696d3e7029217ef562d0c48ae6f50d32bad846c2386289ed30e9cded9033c7e5e98455cd133788b791415319e63b3af0876deb9b56b390f7cd8cf9079a3af29b3dd2996d9846a09ecb7b719ec08ab677785b9737b510d11f15312770d860447cfb5c6336102fe17580464da89423ea055184006e324489698f6eb8e3abe512bca1175af08d829d63bdbb8f4467c7bb4e5d31daa7a5583fd9bf11b8a9ecdab40d806cbee5493c8a7da334f25a281400a2eef6fc56171db36ca752bd853172ace2fda3605149080b35138a83f911b0f3b3c9b2d2c70e2f75d91cc50288", 0xff}, {&(0x7f0000001640)="e9a60fe6249f10b7073834ebcf652bf218b3bdf40dd8376082ee041e73548df692ab839b4da26115ac41113fc098b17556d2b9b1dd4c9e3f4d7d564e0183dbc70a180686173a4c766b70f66711b802c628786ee317d5d26a020c21befac3e02c06a707bc1308740416dd479ac3316a0c52d61f3d2828d099abda42a9436bb07d6b98f29c03bd9dc617d3fa47a6ed8ad8927876815b4dc3a9f77e93e91c55fd58406e28db7eb4a6b82fbf5441d791b0372fc6ea23dfa149e0e3f1ae59e3ed00ea92ca877f16e3c608948474c332f41722061c134c28b83ca8", 0xd8}], 0x5}}, {{&(0x7f0000000540)=@ipx={0x4, 0x2, 0x4, "eeb538f00383", 0x2}, 0x80, &(0x7f00000003c0)=[{&(0x7f0000001740)="4c4ffdcb6d3a2eba17f202c1f603cc063877a489ab91db655cd3a445c5c1e57d28da9873c7ef9f4f9eb6af0c37b19055ba6b40043f08b07ee1a8db44282a4a231893dd99d9924d4b50c232f511bd8659665c85fc50c67584a8684272398b9c0d2a29e7eca77766dc35a552e8106295933102948484d2379578b80cbfe7365658087c2c1412002b1f0ddc76bf1590674aa6c5fc7c9fcc8f3879e23844deb5d566468bf601a1e8d7d9b56fc116cd439493d57b3a39d1adcf5890ede0ad5ac43131459d85bcb85bdb11844c74025f58bc2541e7ac5e624c196da47862ee62be3527b4e51ec5abe49c9238931e", 0xeb}, {&(0x7f0000001840)="5d589ab12855d496eae817ef8719786510703ea27e24f0d3af698a2c8c9043aa866a89b00db85ab1a1f6766650349b9da824451136b541547db6196a531103aa0b2108a57dcd662218", 0x49}, {&(0x7f00000018c0)="a5a5098dc8ad09271392c1c439232bc3a57fa47a74532f4ea7671cd2a3fd3f038ce5c8d8cbb5cf3f794bffd85c9f5c920e52585d2badc431621cd876dc92cf4e59", 0x41}, {&(0x7f0000001940)="3bcdf3b4f198a2f726c48c0a638f5a35d8b76eb4bd3e54d299dc9464ae2f71f3dd0689f44252caa0506bff83fb3ecbf6f021dcb1fbed68b2a0da9fdee730f9e41867fed7885bf7cc71b0849795e86a6ecda6365b7bcd567b8d461dd623944088808cbfedc2ef07a5b8caeb0f10548a657cd3edccb9190c51d2266aca0b94e4da9620019230bc3ff1ece741585eaff4f619b7286e61d265c76560a1baf276b4234ccf4a6da1bb113e9fa2e00831d7b4b2806e2dd996aa79734894d82086665e2c6347c9172d6b222a5002e9e4b89b833642019cbe5f0396453da80da4ac5f788c65c1a32c1914a24b8dbbf041c583e894de042c73c925dcdb3db97201d7d3133ddb53885da5290b77c67b487e5b91c16d73f53933b830a05375076d684e8cbaa558f14a4c4d97d0a21ee99fc75ac0ecf74d43620ff193193f24f8d341f534ca68031a4ac49ea364ce8fd680f2c7f8938f77496a935c0c2d2f61e96890567d1ec0c6d52362708dce829a9a2294953824a7d22652bb6a61bb97de31ad2353ef095fcbc25ee4cd5a01e42b87952ce1d8d7796e6c9c3bcb016a0f497cd52105b97326285e55ae2b1a2e40d9eaac15bd52ce71498eb6f7cc04082bab431a42f69396e9d935544c9f418f15068127f68306b0bb84fef9f26d01020c1367f270fd300094a681a41ae250d746afc7d49935f009fef6ef71b0e574c6434103214076602090b9241563290a7a59915723c512db7e1e5fe3f9052a0b4b242b16bcee24651e8a1b7c1c4cc67af5da76a0ca13e7f3062ff88840f1b36a6a739f5ded2cac2299b8ad1c83dc5af06b75de818be1944e92f515c84cace0761941615e25da02a416cf5d6bfe5c2cfe0354f3eef3cc20b1b2f6783589e0a1c560675f2fffd1c4072c02ad5c1b950e34010c02ddb4a8621fe5f981a8745ad1360da2bfcb667d5ddbbdefe16c442497c3cddbbfce136a09702740cd5ebad07c8295bb86f7c0cfaafddb4efe087c78e6d4aac0f597522a9781f912bdc7010d65ac93613b714b338a68e047dc859029afacf2eef454c05020f1271a4bcff005ec47183da65082c710ea1355cd415c126bf7b265e6210c52182a12a1fee7fdac0ea27ec3ee6978aa2c7108e26529fb27714d369c2615fa7589a89b618cb73b7c4f5cbf32838445777260806cf09bb55a0656b5f72f909fb2af94b678bcda904c0236cba92e508262b5a88c6d499d25f1d5eceee0bda9dd816bc4128ac5969fb68ccd52795c61564258db570be8c281d77771677f50fef65992b1fe7a45106b0c2827732605d51faadc2c87e914cb6d13fd36049c7840bd2d75f16b34394bffa031c5f22fc4285f6ae72731ee15f0c12b5d4a043056a98b5608cfa4ad7550c4e6daa26b88f2a2bba61aa1e1c4d51babcf676691bfe9d19d2d0b62e24fb378c15c2a19bb3c6bc975c50993184f79a07e1b201a88f22753663f19de5b5ce38439281773225ea8006402e6ae14ecd652339dee9db884441660fcb0dc2c8de05f1c6828735a49041886f8a68a3c42e330d21ecd27a36ffa571d7b677c5e775b614c9acecc99f6fb50d01513d0256f9cd23dba577d905d015216953e34c6eb5143a34ffc21101af67a9801e68a4f2d07e1e2653082a7c81a27743e365e0a509328b43541e2e507dc3e2ba37b2b69ab97c8edc5fd949c51a790b7b3f86f219cb160774d8a177865fb9e1ac0d18cc0c8a037a72b9f341ae61db8f4801c991ea9239fd162f0beb16360557b4f5d35d1510991e5d21adcae6d65a74a1dc6ff9b626d49757c057409508a504efb08c852c3bbf89d591ff8f57b0a7e347e3630d4e5ad3471fb9db5d60fe9e822103df42d5a6560fd1ffcc13417f6fb2bfc84dfc1d1b4d860984a81fff3f59049eb64912308137088cc141b624e9ec469a6eacda48812d336be65e66449bf7c1f2e667ad12cb8b874b79181327f1807a3e94026712356997f4c5dd5407ec679fc420647162c154c6a149c33be372ff1ef21aa82ecdbe5425e32c2f0b42a4c609ee79eb6cafaec4983bb8bf7d914977cf0da3732a326862714effcc93ecba229f36d5c84dc6b3ad7514d3a78f7350fd91f8685e316855f3fee34f8f2ae764874fa4d5b73a5066ca57749d4573d026257ae0d005caf1662759d0ef98d02b3438551274a4de8b02dda5d73b30a108291477dc4ed74fd8c0fbb99ce1e1228b9a369e91ba6681fead56e5fcf45a1e62cb9753e2adfe1a2a3aa2946d7c1684927b9b1a2459e66a496ed5fa7c7ffdb40e9c593bd554d46e0d781d5ccb3e5d058cd18138a733a021c1e2991ef56d9eed88b9c26bc390dc2d6b5b1f1e18b2bb3dfda807d0a8997541248768a376de9155a84942675ac1e32d4f68b31b49388f67dc250b6e995ace6c4cf0cb7602c59665fae826adb0563fd2e265c38e3518825edd565689203ab5ca23ff9c3e16c6c8c263f1eb9bf32a122702eafdd264e6f4b93edafa7db0510d4111d6742a51eb6a0bac99ebdb231ab66c4392f21dbb92bb95e1a408efa2a386a0846df4f3a9ba296dfaa44fa3949966ce99a10a528e78a2b6f0c20ab084f50ad3d9ec3b7e6390339f9467298ea05b4c4114389a6d04f8df705468134c59c60b033ac3490fb60b370d5afce04cf68453ac811e063dcac3b082cca39138fc61e9f0a9bcf1e2eecabda4b624c4c92c0a40ee8c9529a8c8c0cb0fdc273bf36f92e3a1c3c16ae11de4c60cbd5d6ab798e695925c620d62282efe9095015de11da3e423ae86714fdc9afeb451b86ba5dd463516fd7a24276c612beb01f2ba29842803529e7ded1ef75d2baa406dc0851d2291c80f9d9780f3f41ad0aedb91afbc579b74f857a19f2c3812d83c3df9fc98588fcb0f75fc674680f6bcb07293da450e87660b082b2dc67b005cef6973168315cdb918e6ef43f3664e06282d3376795ce73d7247161f3626081607fe53f318d3367339cddb1ecdf2bb1b041ba6ce545795acb7ee801f0a5a7caf9689d3041c6f90fc79621d29ef5eeb62418351f2c19b52eeaf6ec3dd68fb64c8abd12b7d87c3a1b2b195669ec4dffd494efcc35673828c3f8bd38b169d22ef3dcb637b2ea16dbd0dec6655c85d3469687858778f118f50def1226c89e225d30d2cee4d2335f211e19bcbd34c7e39a07b85e2f102d97d67f6f9868929950b4eb494d46e8dba50457ebdad9c05c1b28b2942583e692e8263c65f78310e6f9549c329f142fc71af74eaedbb72fad7bbafeefd379c935756c4cccbcafc0f2cece6f1a4e720543084e169dbde86504648c9dda335e2934148eff1b8b524f60acc38b1f803b936909b83ea1860198b062adf36f1027c045426245849bde83d0a280e67a4efe6d9e91ab3d93fa9fc4ba1b5e05e53af6985b7a300155a7e55c6d408cce6068136e69c2859fc8fa9c142560ba2659ab691b06292a78b9efd13da2ef86f81a0688b63b1cfc3a0682640901f7c9343a5eebfd4f4ac70f7d125761bd39431b46568957e03652be1fcf750274d92a8afb0ce2739951ff2bb9e9daeb2073bee56a05aac2d0d1a6be49c233f41ea500b2aebd0c7ce209e020930189ea9ea97bf3886ad0fc75fb414c0385cea693d5e35eec477e2609065c323615f0b4f95d66ff1a758ed79d98c6db236fff2686058c7f8f45f00b47c33d78fd7c8ed8dad71e31a3b63caffb5e300ff8f404628fa259cd78d99b3758e2c008c31ca0f45c319030b64eb0f146cd3f133ce46252ecdf0e4beea38ca2be86080ced15ad7b2b6a202dfb7c6b5fc9b856c290c39b2593d221ee50349f7b0337365dc33a5c8f7785e21ba63eeb9ba83a905e1497a1bd1dcea13639d5736dfcb576c8b8ef8354aea8c2c29dd88f2dc348598fa59fe4f557abef68347b76b67196643cb50b0d4c922b26b5480dc3bbefd46d2b451053c6391f4753d5373a12faf9959f7c81739cc64d99dd69e670f793bedabee7f95d0fbde440027910e3c2146a09315f2a4d6cc8f006b52cd01ab1852b2476eef349b79893641f5e4985bb6e731836748c0198763bf0d6ccd52ecbb14b1a2953d63cebf30389b356269dce98229b95077b05ea5ce33e8c6d8d08635150306ee37a4c4e6f163080043017e666b21a0bcfeba45421bb4f289960a9cfab0c9ca5cad67bb2e0b708fb605aa5a07358b7714ee213fcd1565e416f8cc70884bc75d8e4c5d30cf22579512ccdff31de0b7f15f9f21b725f9db41b85374212ffa8f309c257b33e700daea7fc9370eaa7f449af368bfb5236e3794fd047eadf79f7362d36512032ac4d527f61b129cae41a4c271a164ef6b6bf17625a5ded762ff7349b21e18b75949082d33b54e3bf415acd57d13e5a1a48010087590367c4f966282901d52dc246f27b01c20f44b3038457de5fc9df692a5679cf24080b568d153261f8a780203e77ed9e93d85210d4926bae2adcc0db946ef7111d272312cada6e9f1bd52198c03f412bd3ecb31169ae836784d32f45abd6164af59207b57f2d8d3e7acf122b59ad3ade6d896cf093e884992158ae5689fee8acb19c09a1ffa467af655244a29e2b24d71a0bc31feb44c439f485ba2f3e83562fa0ddbf46fe1d1ebcfa5b4507526ee9a3bf11da009807b5e11f70d3dea8913aaa2367f339a2fdb7d973d1b08e2557d2ca836fc2ee17af55fa6793e197b88e69f8be4c4dd104747860bebcd46bc457f65137cdcbea2ba5bfec8aa536391d56521fabcb81a6079be973f6b633b1c6386a3502cfb9d95a5da3dd350e21bfee6da8c30f85ca348770af9deeb390188972aa4e065f1b065022b4afe36c44476dd755578404d0e5cfae5152a788eb7ebfd571702100e9387dd40bcdc96942e989c6f56efced9d383d8e25725acd8bc8d810f674947b4e7629976401ca7b6889664a8306b39c551d3bad12d76f5e44a15913b13fd34f6ba2c39a3a6f2b6a3da086ddb79264226f156f1cb3a8b440d32a466e035a5fb8c325f81928eea89eb066c2a196820368e0850c34ad7fb79a23b395b18c9a04c90867925a6f05bc86ce81e5839841564a7847aa8d8739c03b9fd4bc31e096c6be7d2bdd848a7153d92e340979737b8979dfca921eaf82443de3a646cbfd4fb21bb5299a514a1ffef2096a9440883a7dedae32d0918bda2f5541ce0d40ec09753850ae4ed497cab33ca946d8a1d504acf3d54afe84bed6906ee1d8d7efaa90ac68c311409c06229001a33480c05cca7489c4e29fa6fd0da3f62b89dc04c8b77d40a1a1bd946c853b3a37b61f51df1a7da0d2dc8b5bf95ca94b9ba70054e917df05ad2ab0a75c3cb43039d9105125cf66f762367c323956444d03fde0c7088b7e1734d8c4f383377be4857e005cb9f9ed666d42538557a3bdbaca0a13fc7f040c7059736e91cdcfd865f0acb27e5e3d370d6a070bfa09d45701296cad095ab34d1a6a648b6ec67cbe7a6add571360807385047c49fb4084cd98e180a2f21c338d637a78d14700cef3171b8c37817521b7a6555826512bbdf1af812ec2660a0caa40dbc5e1258bf36d11edf95c7639ab56c30a5423c635568688a86d9ecef30cd277de01f0bd71487bc7a8ff2e2a0e565c2d0ecbad2910fdd9c4b36a6deaf65f992d621f404284321bc4b519f685c8d73d477429116d315a38cb53c129c9a0e57a98a622fe400bdcc8ed92097e55ac6e1bafea7cd901f903c59faef9ae81c247d0502fdf0a88ff03bf87378cc4d53605791c507166e965de0407ac5e8ef7d14e743cdc96d9b787211e25433154970232a0618e942180683d2d1c074ac064bd318da3af2ea14669353f94", 0x1000}], 0x4}}], 0x2, 0x0) 18:37:15 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$SIOCX25SCUDMATCHLEN(0xffffffffffffffff, 0x89e7, &(0x7f0000000040)={0x47}) socket$inet_udplite(0x2, 0x2, 0x88) ioctl$RTC_UIE_OFF(0xffffffffffffffff, 0x7004) ioctl$TIOCL_SETSEL(r0, 0x541c, &(0x7f0000000000)={0x2, {0x3, 0x0, 0x0, 0x400, 0x100}}) 18:37:15 executing program 0: r0 = socket$inet6(0xa, 0x1, 0x0) syz_init_net_socket$rose(0xb, 0x5, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000480)=@raw={'raw\x00', 0x3c1, 0x3, 0x3d8, 0x228, 0x0, 0x0, 0x228, 0x0, 0x308, 0x2f8, 0x2f8, 0x308, 0x2f8, 0x3, 0x0, {[{{@uncond, 0x0, 0x1c8, 0x228, 0x0, {}, [@inet=@rpfilter={{0x28, 'rpfilter\x00'}}, @common=@inet=@recent0={{0xf8, 'recent\x00'}, {0x0, 0x0, 0x18, 0x0, 'syz1\x00'}}]}, @common=@inet=@HMARK={0x60, 'HMARK\x00', 0x0, {@ipv4=@multicast2}}}, {{@ipv6={@ipv4={[], [], @empty}, @initdev={0xfe, 0x88, [], 0x0, 0x0}, [], [], 'bridge_slave_1\x00', 'macvlan0\x00'}, 0x0, 0xa8, 0xe0}, @common=@inet=@SET3={0x38, 'SET\x00'}}], {{[], 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x438) 18:37:15 executing program 3: ioctl$KVM_SET_NR_MMU_PAGES(0xffffffffffffffff, 0xae44, 0x9) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) ioctl$LOOP_SET_BLOCK_SIZE(0xffffffffffffffff, 0x4c09, 0x0) sendto(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) poll(0x0, 0x0, 0x0) syz_mount_image$ubifs(&(0x7f00000000c0)='ubifs\x00', &(0x7f0000000100)='./file0\x00', 0x2, 0x4, &(0x7f0000000400)=[{&(0x7f0000000140)="31b74a71b9d3b9d2b2b197afb1c890ed9dd886556bd75c4a80a6380e61e5be", 0x1f, 0x2}, {&(0x7f0000000180)="36654faae8bbfc6b7775fc21c9215ae5e3be209d462f3fb08f1b5b5f2656b6b572012764889cabaefd803350546782e941976fdc530dd1c2c8742cf72f8b555c32064a615c876486635ef0fd957c334ecc88e6759343d92694049267e08621f023e196a6e7d70f9f00607191065bdec1f23975ee0a063b50ea8dd81e56cc0a41832a760b980876", 0x87, 0xfffffffffffff000}, {&(0x7f0000000280)="690107d992524978318d85330163616bfe8dd93f926c7d9d152cb8d6fe1d319724c0cda5fd2e578931a78f22a66edb35e5c8126331f93d225cb570ede5146a96d843550493051e2c1fd8fbd147189a14eb356a5d510dfef1cfa55186cd97a0269115fbf84b575cbeaae8d1367f0c9740bdcbeaec000884b83580980471c06bbddf8de043d09151804dfc58fc68877463276fb5104a770976f212f92ea5a3e2a2a0132825909541", 0xa7, 0x10000}, {&(0x7f0000000340)="20bd433486c20e8347a9afd4d1bdafa0b629b6a128e5d989723f362f60732b55421cad98cb74680c92edfad778a277e556c919e145c086e6a5df333f8e9e6eb28b6cac037d741232fc00c516a93135a83a9e4a167e7d12c22effa854d0d0b1ea479b09d00d3b6e4941fd8c4b6f5ec1971e58503cfea12b2591c190811e19b3939aa6e9ebcd3b706d4faf75a60fb9412e9027bba943ff9c001dfe6528f203e5ee049b0e1c44a29bd0e0d33ab8cb92a3d6a81d87455210d54dfe6829", 0xbb, 0x20}], 0x260028, &(0x7f0000000480)={[], [{@smackfsroot={'smackfsroot', 0x3d, '%)\':'}}, {@rootcontext={'rootcontext', 0x3d, 'sysadm_u'}}, {@uid_lt={'uid<', 0xffffffffffffffff}}, {@uid_lt={'uid<'}}]}) r1 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r1, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) ioctl$FICLONERANGE(r0, 0x4020940d, 0x0) sendto$inet(r0, 0x0, 0xffffffffffffff7c, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @loopback}, 0x10) setsockopt$inet_sctp_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x1f, &(0x7f0000000000)={0x0, @in6={{0xa, 0x4e24, 0x5, @empty, 0xffff7ad7}}, 0x3, 0x1000}, 0x90) sendto$inet(r0, &(0x7f0000000240)="1b", 0x1, 0x8000, 0x0, 0x0) r2 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r2, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) ioctl$VHOST_SET_VRING_BASE(r2, 0x4008af12, &(0x7f0000000500)={0x3, 0xec}) close(r0) 18:37:15 executing program 0: fsetxattr$security_evm(0xffffffffffffffff, &(0x7f0000000180)='security.evm\x00', 0x0, 0x0, 0x0) prlimit64(0x0, 0xe, &(0x7f0000000280)={0xc, 0x8d}, 0x0) r0 = getpid() dup(0xffffffffffffffff) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x400200) read$rfkill(0xffffffffffffffff, &(0x7f0000000240), 0x8) sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) recvmmsg(r1, &(0x7f0000004c40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r3, 0x407, 0x0) write(r3, &(0x7f0000000340), 0x41395527) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) write$FUSE_INTERRUPT(0xffffffffffffffff, &(0x7f0000000100)={0xff73}, 0x10) sendmsg$IPSET_CMD_RENAME(0xffffffffffffffff, &(0x7f0000000300)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f00000002c0)={&(0x7f0000000140)={0x38, 0x5, 0x6, 0x401, 0x0, 0x0, {0x1, 0x0, 0x9}, [@IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}]}, 0x38}, 0x1, 0x0, 0x0, 0x20000014}, 0xd5) sched_setattr(0x0, &(0x7f00000001c0)={0x38, 0x2, 0x1, 0x0, 0x6}, 0x0) clone(0x14e20200, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = creat(&(0x7f0000000100)='./file0\x00', 0x0) fcntl$setstatus(r4, 0x4, 0x6100) write$cgroup_type(r4, &(0x7f0000000200)='threaded\x00', 0x175d900f) 18:37:15 executing program 2: ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8b28, &(0x7f0000000000)='wlan1\x00\x1b\x1a\xec\xb5\x12\x03F\xd9\x00\x0e\xc0\x00\x00\x00\x00\x00\x00\x10\x00,C\xfdj\xe3\x8d\xe3\xd6\xe0|6l\xe9\xd9;\x13\xdf\xf7\xber\'\x8a\xd5\xd5\xe1\xf5\\\x9b\xb2\b\xde\xbbg\xc18\x84,:f\xcb\xe8oOArYZ\xe1\x1f\xebp\xf5\xfb\xaad\x1a\xa0\xb1\x9c,\xe8\xff^9P\xee\x8aG\xdd\x00\x0e\xd8\a\xca\xc8~\x82\xf6\xaaj\xe5\xf7\x19\xeb#;|\xabA1\xaa\xbc7Tf\xf1Y\x1c\xed~\xe9\xe9\xf9\xcfW\xdc\xcf\xe9\x8d\xe8\xcf\x9e2I[\xcf\xf7\xb0K\x1c\x1c\x06h\x8cd\f6\xfe\xb7\xbf\xae\xea\x99\xea\xb3G\x8a\xe3\x9c\x96\xf5\xf8\xb5\x19\twp\xfa\xa9\xd8\xbfSa\xb9\v\xb3\xb1\x05\xa05\xdc\x12\x86\xb9\xf93\xac\x14\x1fXf\xfd\xde0\x83\x7f\x80\xddL[t% /H\xed\xea\x80*NA\xbaX\r\xea\v\x83<\xa1d\x00\x00\x00\x00\x00\x00\x10\x00\x00\xaf\xf6\xbd2') r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x40241, 0x0) ioctl$VIDIOC_G_PRIORITY(0xffffffffffffffff, 0x80045643, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'syzkaller1\x00'}) ioctl$TUNSETSNDBUF(r0, 0x400454d4, &(0x7f0000000500)=0x1) openat$zero(0xffffffffffffff9c, &(0x7f0000000100)='/dev/zero\x00', 0x8080, 0x0) write$cgroup_freezer_state(r0, &(0x7f0000000380)='FROZEN\x00', 0x77) 18:37:15 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) r3 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) sendmsg$rds(r1, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000480)=""/4096, 0x1000}], 0x1, &(0x7f0000001580)=[@rdma_map={0x30, 0x114, 0x3, {{0x0}, &(0x7f0000000380), 0x9}}, @zcopy_cookie={0x18, 0x114, 0xc, 0x4}], 0x48, 0x8001}, 0x0) pread64(r3, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:15 executing program 5: setsockopt$netlink_NETLINK_PKTINFO(0xffffffffffffffff, 0x10e, 0x3, 0x0, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000540)=ANY=[@ANYBLOB="280000001000010800"/20, @ANYRES32=0x0, @ANYBLOB="00000000d7faf00008001b0000000000c5b4e444b8e0cb839db2f6884504ff3f5c67bde01b"], 0x28}, 0x1, 0x0, 0x0, 0x4810}, 0x0) openat$bsg(0xffffffffffffff9c, &(0x7f0000000040)='/dev/bsg\x00', 0x900, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) sendmsg$NL80211_CMD_SET_WIPHY_NETNS(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) listen(0xffffffffffffffff, 0x7) syz_genetlink_get_family_id$netlbl_mgmt(0x0) syz_open_procfs(0x0, 0x0) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000280)='/dev/dlm-control\x00', 0x4200, 0x0) ioctl$VIDIOC_G_SELECTION(r1, 0xc040565e, &(0x7f00000002c0)={0xb, 0x102, 0x2, {0xe8a5, 0x8, 0x2, 0xa4c}}) r2 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') getdents(r2, &(0x7f0000000100)=""/69, 0x18) recvfrom$unix(r2, &(0x7f0000000580)=""/112, 0x70, 0x1, &(0x7f0000000600)=@abs={0x1, 0x0, 0x4e24}, 0x6e) sendmsg$DEVLINK_CMD_TRAP_POLICER_GET(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x0) pivot_root(&(0x7f0000000340)='./file0\x00', &(0x7f0000000080)='./file0\x00') r3 = socket$nl_route(0x10, 0x3, 0x0) setsockopt$inet6_MRT6_DEL_MFC_PROXY(0xffffffffffffffff, 0x29, 0xd3, 0x0, 0x0) sendmsg$nl_route(r3, &(0x7f0000000140)={0x0, 0xfffffef2, &(0x7f00000001c0)={&(0x7f0000000180)=@newlink={0x30, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_MASTER={0x8}, @IFLA_GROUP={0x8}]}, 0x30}}, 0x0) 18:37:15 executing program 2: r0 = socket$packet(0x11, 0x2, 0x300) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = getpgid(0x0) prctl$PR_SET_PTRACER(0x59616d61, r2) clone(0x2000000002000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r3 = gettid() add_key$user(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe) syz_80211_inject_frame(&(0x7f0000000480)=@device_b, &(0x7f0000000500)=ANY=[], 0xa) ptrace$setopts(0x4206, r3, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r5 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r5, &(0x7f0000000100)={0xff73, 0x0, r4}, 0x10) ioctl$VHOST_GET_VRING_BASE(r5, 0xc008af12, &(0x7f0000000000)) wait4(0x0, 0x0, 0x0, 0x0) [ 483.255738] mac80211_hwsim: wmediumd released netlink socket, switching to perfect channel medium [ 483.293897] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 483.315814] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 483.330643] loop5: p2 < > [ 483.373729] Bluetooth: hci3 command 0x040f tx timeout [ 483.386785] bridge0: port 2(bridge_slave_1) entered disabled state [ 483.393555] bridge0: port 1(bridge_slave_0) entered disabled state 18:37:16 executing program 0: r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080)='nl80211\x00') r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000001c80)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_SET_REKEY_OFFLOAD(r2, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000001e00)={&(0x7f0000000100)={0x50, r0, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @val={0xc, 0x99, {0x200, 0x7b}}}}, [@NL80211_ATTR_REKEY_DATA={0x28, 0x7a, 0x0, 0x1, [@NL80211_REKEY_DATA_KEK={0x24, 0x1, @kek_ext="513d9ff67ba3facb82e99cd66355fc20bb9590f4d9cad266477611389e1bc525"}]}]}, 0x50}}, 0x0) 18:37:16 executing program 3: connect$rxrpc(0xffffffffffffffff, &(0x7f0000000140)=@in4={0x21, 0x0, 0x2, 0x10, {0x2, 0x0, @multicast2}}, 0x24) accept4$ax25(0xffffffffffffffff, &(0x7f0000000040)={{}, [@default, @netrom, @netrom, @default, @null, @null, @bcast]}, &(0x7f00000000c0)=0x48, 0x800) sendmmsg(0xffffffffffffffff, &(0x7f0000005c00)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000240)=ANY=[@ANYBLOB="ed116101000001"], 0x18}}], 0x1, 0x0) sendmsg$unix(0xffffffffffffffff, 0x0, 0x0) ioctl$VIDIOC_SUBDEV_ENUM_FRAME_SIZE(0xffffffffffffffff, 0xc040564a, &(0x7f0000000000)={0x7fff, 0x0, 0x102f, 0x7fff, 0x0, 0x7, 0x7}) rt_sigtimedwait(&(0x7f0000000100)={[0x4]}, 0x0, &(0x7f0000000180)={0x77359400}, 0x8) [ 483.624917] mac80211_hwsim: wmediumd released netlink socket, switching to perfect channel medium [ 483.656472] batman_adv: batadv0: Interface deactivated: batadv_slave_0 [ 483.680461] batman_adv: batadv0: Interface deactivated: batadv_slave_1 18:37:16 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) r3 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) sendmsg$rds(r1, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000480)=""/4096, 0x1000}], 0x1, &(0x7f0000001580)=[@rdma_map={0x30, 0x114, 0x3, {{0x0}, &(0x7f0000000380), 0x9}}, @zcopy_cookie={0x18, 0x114, 0xc, 0x4}], 0x48, 0x8001}, 0x0) pread64(r3, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 483.810014] device bridge_slave_0 left promiscuous mode [ 483.830194] bridge0: port 1(bridge_slave_0) entered disabled state [ 483.927364] device bridge_slave_1 left promiscuous mode [ 483.955118] bridge0: port 2(bridge_slave_1) entered disabled state [ 484.019599] bond0: Releasing backup interface bond_slave_0 [ 484.046761] bond0: Releasing backup interface bond_slave_1 [ 484.065099] team0: Port device team_slave_0 removed [ 484.081573] team0: Port device team_slave_1 removed [ 484.096512] batman_adv: batadv0: Removing interface: batadv_slave_0 [ 484.122074] batman_adv: batadv0: Removing interface: batadv_slave_1 18:37:16 executing program 5: setsockopt$netlink_NETLINK_PKTINFO(0xffffffffffffffff, 0x10e, 0x3, 0x0, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000540)=ANY=[@ANYBLOB="280000001000010800"/20, @ANYRES32=0x0, @ANYBLOB="00000000d7faf00008001b0000000000c5b4e444b8e0cb839db2f6884504ff3f5c67bde01b"], 0x28}, 0x1, 0x0, 0x0, 0x4810}, 0x0) openat$bsg(0xffffffffffffff9c, &(0x7f0000000040)='/dev/bsg\x00', 0x900, 0x0) mkdir(&(0x7f0000000000)='./file0\x00', 0x0) sendmsg$NL80211_CMD_SET_WIPHY_NETNS(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xfffffdffffffffff, 0xffffffffffffffff, 0x0) listen(0xffffffffffffffff, 0x7) syz_genetlink_get_family_id$netlbl_mgmt(0x0) syz_open_procfs(0x0, 0x0) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000280)='/dev/dlm-control\x00', 0x4200, 0x0) ioctl$VIDIOC_G_SELECTION(r1, 0xc040565e, &(0x7f00000002c0)={0xb, 0x102, 0x2, {0xe8a5, 0x8, 0x2, 0xa4c}}) r2 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') getdents(r2, &(0x7f0000000100)=""/69, 0x18) recvfrom$unix(r2, &(0x7f0000000580)=""/112, 0x70, 0x1, &(0x7f0000000600)=@abs={0x1, 0x0, 0x4e24}, 0x6e) sendmsg$DEVLINK_CMD_TRAP_POLICER_GET(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, 0x0}, 0x0) pivot_root(&(0x7f0000000340)='./file0\x00', &(0x7f0000000080)='./file0\x00') r3 = socket$nl_route(0x10, 0x3, 0x0) setsockopt$inet6_MRT6_DEL_MFC_PROXY(0xffffffffffffffff, 0x29, 0xd3, 0x0, 0x0) sendmsg$nl_route(r3, &(0x7f0000000140)={0x0, 0xfffffef2, &(0x7f00000001c0)={&(0x7f0000000180)=@newlink={0x30, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_MASTER={0x8}, @IFLA_GROUP={0x8}]}, 0x30}}, 0x0) [ 484.188861] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 484.221891] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 484.250353] loop5: p2 < > 18:37:17 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) close(r0) r1 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_MAXSEG(r0, 0x84, 0xd, &(0x7f0000000140)=@assoc_value, 0x8) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, 0x0, 0x0) ftruncate(r2, 0x200004) sendfile(r0, r2, 0x0, 0x80001d00c0d0) sendmsg$IPVS_CMD_NEW_DEST(r2, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000040)={0x40, 0x0, 0x200, 0x70bd29, 0x25dfdbfd, {}, [@IPVS_CMD_ATTR_TIMEOUT_UDP={0x8}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x474}, @IPVS_CMD_ATTR_SERVICE={0x1c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_NETMASK={0x8, 0x9, 0x76}, @IPVS_SVC_ATTR_AF={0x6, 0x1, 0x2}, @IPVS_SVC_ATTR_AF={0x6, 0x1, 0xa}]}]}, 0x40}, 0x1, 0x0, 0x0, 0x84}, 0x4000004) 18:37:17 executing program 3: r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) ioctl$VIDIOC_SUBDEV_QUERY_DV_TIMINGS(0xffffffffffffffff, 0x80845663, &(0x7f0000000000)) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f000002b000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f0000000100)="b805000000b94a0000000f01c10f00d4b93c0200000f320f0666b80a008ec00f09c4c125d5b370199ca9c7442400a4b9b4edc74424024ddf3ba1c7442406000000000f011c24b8010000000f01c1660f3881530f"}], 0x15555555555555d2, 0x0, 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) sendto$x25(0xffffffffffffffff, &(0x7f00000003c0)="7c0da8a37dad6802b915dae58365d3cfa8b3be0c5247b191e5b53effe4519218d01ff26b9758638ca3cf45be99306398992f766daf5c59552bd3896f1030341acd0a201c1f446b8fb552ec29acb0363b8da126f0ab8fed949a19371135408661669fc24cda8726fea9ab7b975470704962b62e0167ce4788b81e2cd578a1726aea5760d02f048ef5a75fd05c403bb9ae7ea9a799ee4cc1", 0x97, 0x0, &(0x7f0000000180)={0x9, @remote={[], 0x1}}, 0x12) ioctl$KVM_SET_USER_MEMORY_REGION(r2, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) setsockopt$TIPC_SRC_DROPPABLE(0xffffffffffffffff, 0x10f, 0x80, &(0x7f00000000c0)=0x6, 0x4) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc5e]}) ioctl$KVM_RUN(r3, 0xae80, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) 18:37:17 executing program 5: perf_event_open(&(0x7f00000001c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x9, 0x0, @perf_bp={&(0x7f0000000140)}, 0x0, 0x0, 0x0, 0x7}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) epoll_create(0x2000007) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x3}, 0xd8) recvmsg(0xffffffffffffffff, 0x0, 0x0) fcntl$setstatus(r0, 0x4, 0x2000) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @dev={0xac, 0x14, 0x14, 0x3b}}, 0x47) getsockopt$inet_mreqsrc(0xffffffffffffffff, 0x0, 0x27, 0x0, 0x0) setresgid(0x0, 0x0, 0x0) r1 = getpid() sched_setattr(r1, 0x0, 0x0) getpid() sched_setattr(0x0, 0x0, 0x0) perf_event_open(0x0, r1, 0x6, 0xffffffffffffffff, 0x0) msgctl$IPC_SET(0x0, 0x1, &(0x7f0000000380)={{0x3}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, r1}) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f00000008c0)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) recvmsg(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000001900)=[{0x0}, {&(0x7f0000000900)=""/4096, 0x1000}, {0x0}, {0x0}], 0x4}, 0x100) write$binfmt_elf64(r0, &(0x7f0000002300)=ANY=[@ANYRES64], 0x1000001bd) [ 484.491620] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 484.527025] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 484.558265] loop5: p2 < > 18:37:17 executing program 5: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000180)='/dev/ptmx\x00', 0x8000000000206, 0x0) ioctl$TCSETS(r0, 0x40045431, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x0, "eaffffff090000000000000000000000000053"}) write$binfmt_aout(r0, &(0x7f0000000040)=ANY=[], 0x2a2) socketpair$unix(0x1, 0x5, 0x0, &(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) ioctl$sock_rose_SIOCRSCLRRT(r2, 0x89e4) r3 = syz_open_pts(r0, 0x0) ioctl$TCSETSF(r3, 0x5412, &(0x7f0000000000)={0x15, 0x0, 0x0, 0x0, 0x0, "ff19574972ac36c61600003ffd0000bfffffff"}) [ 484.701911] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. 18:37:17 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) r3 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r3, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 484.750711] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 484.758878] loop5: p2 < > 18:37:17 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000500)=ANY=[@ANYBLOB="3c00001e10004000000000ff03000000000010", @ANYRES32=r2, @ANYBLOB="00000000e60000001c0012000c000100626f6e64000000000c0002000800010006"], 0x3c}}, 0x0) r3 = socket$packet(0x11, 0x3, 0x300) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)) r5 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r5, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)=@newlink={0x3c, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @bridge={{0xb, 0x1, 'bridge\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r4}]}, 0x3c}}, 0x0) r6 = openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000080)='/dev/ocfs2_control\x00', 0x101400, 0x0) connect$phonet_pipe(r1, &(0x7f0000000580)={0x23, 0x3, 0x48, 0x9}, 0x10) sendmsg$NL80211_CMD_FRAME(r6, &(0x7f0000000540)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x8000000}, 0xc, &(0x7f00000004c0)={&(0x7f0000000280)={0x214, 0x0, 0x800, 0x70bd28, 0x25dfdbfc, {{}, {@void, @void}}, [@NL80211_ATTR_FRAME={0x1f3, 0x33, @assoc_req={@with_ht={{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1}, {0x3}, @device_a, @broadcast, @from_mac=@device_b, {0x7}}, @ver_80211n={0x0, 0xff, 0x0, 0x3, 0x0, 0x0, 0x1}}, 0xf178b4aab3182135, 0x20, {0x0, 0xa, @random="bb24a384e2edcd8ff637"}, @void, @void, [{0xdd, 0x5d, "cce3b1ac9b08520b95a2b06c4938992b4bf6b6316ae5aacd01558320b458961923e145c987d6927fd8d74a995329698cbb37f175ae1d13522ffafceed6c34b581658f33aad61abb889ee98aa20802c4693f7b9f001bbc7c2bb2f7429f2"}, {0xdd, 0x61, "d2915105277272a3cd8bf0d1e374200ec9f154dc8ec8669e38cbdf7d017d373e23b62ec36766402fbdc20efa725fea29977357f27d4278b41cc5887d9760e5629c2bdbc93a10d4be9afb87e369bc75818a82a9524de34463c087ed914b1aaee593"}, {0xdd, 0xff, "2754ec4a03d84646cd60e3e4619d84f33581cf4dd2fcb858d7500dae2d4410b16c3026cc3a7cee9a2ba41a59840b2b705dc681979c25e2b03c3f6a1611f67ed063e344fbf974edd60c94ca3324a3ed47a1680dc99df5e4c012563fed87729d3030ecd3bf75a4420b3454f9d29bb4d627229f51e01ef5310e1683c56bdf428db88e91da7e01186829cd46d1594d921a7a4da27b90d6508783e8dd0be9c619650928e4d4f9c8dc40ab879639071cb2917b18df92e0d79b2ddb7754b56d4031b9bf5a89101cdaf63cf06eb132390ed7de3c04c0a300b9823864e9acf2780e988d390c077478738a06d72e92b6f0015fe22c9c9d28da50fdf031d8fec4f6c41067"}]}}, @NL80211_ATTR_OFFCHANNEL_TX_OK={0x4}, @NL80211_ATTR_DONT_WAIT_FOR_ACK={0x4}, @NL80211_ATTR_OFFCHANNEL_TX_OK={0x4}]}, 0x214}, 0x1, 0x0, 0x0, 0x400c805}, 0x84) r7 = socket(0x4, 0x3, 0x1) sendmmsg$alg(r7, &(0x7f00000000c0), 0x492492492492627, 0x0) 18:37:17 executing program 0: ioctl$VFIO_IOMMU_MAP_DMA(0xffffffffffffffff, 0x3b71, &(0x7f0000000000)={0x20, 0x1, 0x6, 0x8a6f, 0xd03a}) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000002180)=ANY=[@ANYBLOB="700e000030003dfa0000000000000000000000005c0e0100580e01000a00010070656469740000002c0e02800800058004000680200e0200000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ff000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000ffffffff00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000feffffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040006000c00070000000000000000000c0008000000000000000000"], 0xe70}}, 0x0) [ 485.167322] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 485.198838] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 485.210510] loop5: p2 < > [ 485.452824] Bluetooth: hci3 command 0x0419 tx timeout 18:37:18 executing program 2: r0 = socket$packet(0x11, 0x2, 0x300) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) r2 = getpgid(0x0) prctl$PR_SET_PTRACER(0x59616d61, r2) clone(0x2000000002000100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r3 = gettid() add_key$user(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffe) syz_80211_inject_frame(&(0x7f0000000480)=@device_b, &(0x7f0000000500)=ANY=[], 0xa) ptrace$setopts(0x4206, r3, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r5 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r5, &(0x7f0000000100)={0xff73, 0x0, r4}, 0x10) ioctl$VHOST_GET_VRING_BASE(r5, 0xc008af12, &(0x7f0000000000)) wait4(0x0, 0x0, 0x0, 0x0) 18:37:18 executing program 0: perf_event_open(&(0x7f00000001c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x200, 0x0, 0x0, 0x0, 0x4}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x2, 0x0) bind$inet(r0, &(0x7f0000b9aff0)={0x2, 0x4e20}, 0x10) setsockopt$inet_int(r0, 0x0, 0x21, &(0x7f0000000040)=0x9, 0x4) ioctl$sock_SIOCGIFVLAN_ADD_VLAN_CMD(r0, 0x8982, &(0x7f0000000000)={0x0, 'macvlan0\x00', {0x3}, 0x100}) sendto$inet(r0, 0x0, 0x0, 0x8084, &(0x7f0000000140)={0x2, 0x4e20}, 0x10) sendmmsg$sock(r0, &(0x7f0000004240)=[{{0x0, 0x0, &(0x7f0000000bc0)=[{&(0x7f0000000700)='1', 0x1}], 0x1}}], 0x1, 0x0) r1 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000080)='/proc/self/net/pfkey\x00', 0x101, 0x0) getsockopt$inet_sctp_SCTP_AUTOCLOSE(r1, 0x84, 0x4, &(0x7f00000000c0), &(0x7f0000000100)=0x4) recvmmsg(r0, &(0x7f0000002280)=[{{0x0, 0x0, 0x0}}], 0x300, 0x43, 0x0) 18:37:18 executing program 5: prctl$PR_GET_SECUREBITS(0x1b) r0 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$F2FS_IOC_MOVE_RANGE(r0, 0xc020f509, &(0x7f0000000040)={r0, 0x10000, 0x1, 0x6}) ioctl$EVIOCGKEYCODE_V2(r1, 0x80284504, &(0x7f00000000c0)=""/173) bind$inet6(r0, &(0x7f0000000000)={0xa, 0xce22, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, 0x1c) listen(r0, 0x0) r2 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r2, &(0x7f0000000080)=[{&(0x7f0000000200)="580000001500add427323b470c45b45602067fffffff81004e22000d00ff0028925aa80020007b00090080000efffeffe809000000ff0000f03ac71082300000ffffffffffffffffffe7ee00000000000000000200000000", 0x58}], 0x1) 18:37:18 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) pread64(0xffffffffffffffff, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:18 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000280)={0xc, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) recvmmsg(r1, &(0x7f0000004c40)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r3, 0x407, 0x0) ioctl$BTRFS_IOC_RESIZE(0xffffffffffffffff, 0x50009403, &(0x7f0000000400)=ANY=[@ANYRES32, @ANYBLOB="b64f2c10d41709c6e04db5af730e2dd734109de42dd78bf569c3891b647ddcc7a880a2e5adef46a32ede8d43867c127026b56e0e040a2196148f11a5aa46f75e8d9552f0b8dd3d8871047370bfb0dfd243bd773422da770f26c2aedb2fcc1911d827f8aacad3bc7e9670161edfeb66abf03074ccf1496e813ab75cb526befbb3e081972bbc43b3daf1b2037574e2b633a559b687d5264c90bb47dcac43edc64f47350de2a098a97d080a9cf3790a309b103fed63d2bad6ca0c0758c7975b3def6d3825a5e210db547843198cdf4d329df8c10e44363f5c1d4dab84ca856ab96cb59274e25172cce177de62f5c922357228ad9d4b0a7adf7e7208ca333cca32a245baa232ab68bc40fe5be2c9c23e663edfae9e6ba7fbffffffffffffff08adbce91b74f1b547f6b6ea6596cd83e44e1903594b5c2fd0806269e868db13bba84e1bced976c6c9665ef0042d38464649a10d0a142b277f62d8196c288f4538000925f581f165a35d7f3014", @ANYRESDEC=0x0, @ANYBLOB="f3f50efe53b91d532827d6128f3a304600303034303030133270001f0000"]) write(r3, &(0x7f0000000340), 0x41395527) r4 = openat$cgroup_ro(r3, &(0x7f0000001800)='cpuacct.usage_sys\x00', 0x0, 0x0) ioctl$sock_bt_cmtp_CMTPGETCONNLIST(r4, 0x800443d2, &(0x7f00000018c0)={0x5, &(0x7f0000001840)=[{@fixed}, {@fixed}, {}, {@fixed}, {@none}]}) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, &(0x7f00000001c0)={0x38, 0x2, 0x1, 0x0, 0x6}, 0x0) clone(0x20040103, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$FBIOGET_VSCREENINFO(0xffffffffffffffff, 0x4600, &(0x7f00000005c0)) sendto$x25(r3, &(0x7f0000000340)="a7b80c48613d40f81f5f70fbff876fa8158c03deb8bf9bddcf0d42123d1cf52cdb7e722a3e2ce858d31262fead97619b79ad6bb8b6b88092d93281905d6b3a7067c4bf75050d4bb1ad92ef030ecd76c1238925d2d03b2984153271b1481d1ee7210cb5f0488ad072c7d90406f345989a8194e79c59754079c94fb5d8beaf29d68d25927c7102a316442629843560a9d9a8d9feafc5f59cc13f6226ad91df7c792fd93885467d7bef3479be46b926176ffaa66c1fb96b", 0xb6, 0x200000d0, &(0x7f00000000c0)={0x9, @null=' \x00'}, 0x12) r5 = creat(&(0x7f0000000100)='./file0\x00', 0x0) fcntl$setstatus(r5, 0x4, 0x6100) write$cgroup_type(r5, &(0x7f0000000200)='threaded\x00', 0x175d900f) ioctl$sock_ipv6_tunnel_SIOCCHGPRL(0xffffffffffffffff, 0x89f7, &(0x7f0000000240)={'syztnl1\x00', &(0x7f0000000140)={'syztnl2\x00', 0x0, 0x0, 0x9c, 0x40, 0x800, 0x8, @mcast2, @local, 0x8000, 0x700, 0x8, 0x7}}) 18:37:19 executing program 5: perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x0, 0x474bea59, 0x2000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_usbip_server_init(0x1) [ 486.300108] mac80211_hwsim: wmediumd released netlink socket, switching to perfect channel medium [ 486.323509] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 486.357812] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 486.379849] loop5: p2 < > [ 486.421404] vhci_hcd vhci_hcd.0: pdev(5) rhport(0) sockfd(4) [ 486.427557] vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) 18:37:19 executing program 3: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) ioctl$BTRFS_IOC_RM_DEV_V2(r0, 0x5000943a, &(0x7f0000000100)={{}, 0x0, 0x12, @unused=[0x7f, 0x2, 0x0, 0x5], @subvolid=0x3}) connect$netrom(r0, &(0x7f0000000000)={{0x6, @rose}, [@rose, @rose, @default, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @bcast, @rose, @rose, @null]}, 0x48) r1 = openat$dlm_plock(0xffffffffffffff9c, 0x0, 0x0, 0x0) listen(r0, 0x0) unshare(0x40000000) r2 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_EVENTS(r2, 0x84, 0xb, 0x0, &(0x7f0000001140)) r3 = accept(r0, 0x0, 0x0) write$binfmt_elf64(r3, &(0x7f00000017c0)=ANY=[@ANYBLOB="7f454c46000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000fcff3800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002ff3e905e364660fc959b28744e40a786ac21782471fed72d659ed5dc94b5b8153f9bbdbeff9250afdd8cbe9bc6eb9cc57ca8d58a07665fa38db501e561dbc697eca898fd3c8cfea61349db8871523b947f8016430c8"], 0x378) r4 = socket$nl_audit(0x10, 0x3, 0x9) ioctl$F2FS_IOC_MOVE_RANGE(r1, 0xc020f509, &(0x7f0000001740)={r4, 0x7fffffff, 0x7, 0x7ff}) sendmsg$NL80211_CMD_DEL_PMK(0xffffffffffffffff, 0x0, 0x1) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(0xffffffffffffffff, 0x84, 0x6e, &(0x7f0000000000)=[@in={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}], 0x10) r5 = signalfd4(r4, &(0x7f0000001100)={[0x5]}, 0x8, 0x80000) getsockopt$IPT_SO_GET_INFO(r5, 0x0, 0x40, &(0x7f00000016c0)={'raw\x00'}, &(0x7f0000001780)=0x54) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, 0x0, &(0x7f0000000040)) getsockopt$inet_sctp_SCTP_PR_ASSOC_STATUS(0xffffffffffffffff, 0x84, 0x73, &(0x7f0000000100)={0x0, 0x0, 0x10}, &(0x7f00000001c0)=0x18) 18:37:19 executing program 0: r0 = socket$unix(0x1, 0x1, 0x0) r1 = open(&(0x7f00009e1000)='./file0\x00', 0x8060, 0x9) fcntl$setlease(r1, 0x400, 0x0) r2 = socket$inet_tcp(0x2, 0x1, 0x0) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r3, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) sendmsg$NL80211_CMD_DEAUTHENTICATE(r1, &(0x7f00000002c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x4000000}, 0xc, &(0x7f0000000240)={&(0x7f0000000180)={0x20, 0x0, 0x200, 0x70bd2c, 0x25dfdbfb, {{}, {@void, @val={0xc, 0x99, {0x3, 0x2a}}}}}, 0x20}, 0x1, 0x0, 0x0, 0x20000000}, 0x200000c5) bind$inet(r3, &(0x7f0000000280)={0x2, 0x4e23, @multicast1}, 0x10) setsockopt$SO_ATTACH_FILTER(r3, 0x1, 0x1a, &(0x7f0000000140)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe1}]}, 0x10) sendto$inet(r3, 0x0, 0x0, 0x240047f9, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$inet_tcp_TCP_CONGESTION(r3, 0x6, 0xd, &(0x7f0000000000)='bbr\x00', 0x3) ioctl$RTC_WIE_OFF(r3, 0x7010) setsockopt$sock_int(r3, 0x1, 0x8, &(0x7f0000000600)=0xda9, 0x4) sendto$inet(r3, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0x4d, 0x4800a, 0x0, 0x0) setsockopt$netlink_NETLINK_NO_ENOBUFS(0xffffffffffffffff, 0x10e, 0x5, &(0x7f0000000080)=0x1f, 0x4) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY(r3, 0xc0406618, &(0x7f0000000000)={{0x3, 0x0, @descriptor="c84c3cde5fca8376"}}) r4 = dup(r2) ioctl$sock_SIOCGIFVLAN_SET_VLAN_EGRESS_PRIORITY_CMD(r4, 0x8982, &(0x7f0000000040)={0x3, 'bond_slave_0\x00', {0xfffffff8}, 0x1}) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) dup2(r0, r1) [ 486.541086] vhci_hcd: connection closed [ 486.545575] vhci_hcd: stop threads [ 486.605951] vhci_hcd: release socket [ 486.630216] vhci_hcd: disconnect device 18:37:19 executing program 0: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sys/net/ipv4/vs/sync_qlen_max\x00', 0x2, 0x0) r1 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/net/ipv4/vs/sync_ports\x00', 0x2, 0x0) sendfile(r0, r1, 0x0, 0x400400000000008) writev(r0, &(0x7f0000000700)=[{&(0x7f00000005c0)='\\', 0x1}], 0x1) [ 486.752990] IPVS: ftp: loaded support on port[0] = 21 18:37:19 executing program 0: rt_sigtimedwait(&(0x7f0000000000)={[0xffff]}, &(0x7f00000000c0), &(0x7f0000000040)={0x77359400}, 0x8) r0 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000640)='/dev/ttyS3\x00', 0x0, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000600)=0x14) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000080)=0x11) ioctl$TIOCVHANGUP(r0, 0x5437, 0x0) 18:37:19 executing program 5: perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x0, 0x0, 0x474bea59, 0x2000}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_usbip_server_init(0x1) 18:37:19 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) pread64(0xffffffffffffffff, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 487.071264] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 487.111384] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 487.128521] loop5: p2 < > [ 487.128990] vhci_hcd vhci_hcd.0: pdev(5) rhport(0) sockfd(4) [ 487.137318] vhci_hcd vhci_hcd.0: devid(0) speed(1) speed_str(low-speed) [ 487.280807] vhci_hcd: connection closed [ 487.280986] vhci_hcd: stop threads [ 487.288969] vhci_hcd: release socket [ 487.300732] vhci_hcd: disconnect device [ 487.808464] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 487.842456] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 487.862224] loop5: p2 < > 18:37:22 executing program 2: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = dup(r0) fstat(r1, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0}) r3 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000000000)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000600)='/dev/dlm-monitor\x00', 0x40b00, 0x0) lchown(&(0x7f0000000040)='./file0\x00', r2, r4) syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000080)='./file0\x00', 0x3, 0x6, &(0x7f0000000400)=[{&(0x7f00000000c0)="e16337940e318f59742f21287f9673f134e057523a43d61211dbaa4b1dd54847187415b8c404152497c6ac86ad2f6db8f92703f6d0cd3539677f767b36619de96a3b01feaaf7dbea28ea774dac10394305701a4b9655d94d7a9e4496993052cb513c111ebbb37ad397a1a013c3d18f44214c7b7b621642be4d85fcf2787c603a3e9bb47032f0b66ed19beda96ba3a2d60169037b12fb9214fbbb9b246e014bc7142c408299bb8d6f7b3b5c5e74ba0d98e4a89f0a0fce92431cf6c001a78c7c531df8962075da300824f7bc7edacb2433d925afd9b9fb0beae53a501b75c30439e0885d3737c1b644df7fce97e4ae44c7fdb42e83e4ea", 0xf6, 0x9}, {&(0x7f00000001c0)="97cbe7caf32600d157558a6ca02fdb8129f6aea1efc557", 0x17, 0xffffffff}, {&(0x7f0000000200)="466b883e8b25dcd3d10f139eeb9361d0c3cb6ab238a2b095e2ed23442f0f91b3ac8153cac7417b915e2c7b0a02b9ec91b2fc958383b2aeabd4e7d21f022e046abcf610f85f822a2385252069f1611cf1e9faf03fb0cfb106a1fbedbc89485786985dd5f65f00211625c11e247cd898606cf3202c6e3d29", 0x77, 0x80}, {&(0x7f0000000280)="b8af9b5325f190d9dd67831c60f9e329e762ff7ac324cccff2b713d02e3cb55b2630af65a034abc8ac769ffa54a420608f2c57d1b8f3ab7ce5d1fe899c9bbaca2f35ef5c8530dc856d57a2bc739eefde9dc4f7e8f210ddfa12103f2640d78a5a3ba4462fa27c10d303eacf6209862bb802479b9c04b9362c53f6ecd14695a3d0f4efeda0a8a9fb2d560b3cba6601486ca933f570c09b0d6b785d076f0f4a09a6478bbaba6f2167b95e5addc8f0", 0xad, 0xffffffffffffc770}, {&(0x7f0000000340)="bd2d1c4733a7fd1ca9ddf9bb18c0e03a2d5c02402aad9adead2bf04fb1bd6ef99837fc143c7ef239301264546993b51bc692b36910f687f45057fdfa56d0ee4c5e289e9af80ef9fe555e5b2e6de821a6421f6a89", 0x54, 0x2}, {&(0x7f00000003c0)="6e7087e6b22ae22160f79213", 0xc, 0x2}], 0x2020000, &(0x7f00000004c0)={[{@space_cache_v2='space_cache=v2'}, {@ref_verify='ref_verify'}, {@nodiscard='nodiscard'}, {@space_cache_v2='space_cache=v2'}], [{@defcontext={'defcontext', 0x3d, 'root'}}, {@obj_type={'obj_type', 0x3d, '\xc0,)'}}, {@obj_type={'obj_type'}}, {@subj_role={'subj_role', 0x3d, '/proc/asound/card0/oss_mixer\x00'}}, {@subj_role={'subj_role', 0x3d, '/proc/asound/card0/oss_mixer\x00'}}, {@fowner_gt={'fowner>', r2}}, {@obj_role={'obj_role', 0x3d, '/proc/asound/card0/oss_mixer\x00'}}, {@fowner_gt={'fowner>', 0xffffffffffffffff}}, {@func={'func', 0x3d, 'MMAP_CHECK'}}]}) openat$proc_mixer(0xffffffffffffff9c, &(0x7f0000000040)='/proc/asound/card0/oss_mixer\x00', 0x48541, 0x0) 18:37:22 executing program 3: r0 = syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000040)=[{&(0x7f0000010a00)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000b9010000000001ce252f4500000000000000000000000000000000000000000000000000000000000100000101000001000808001c0000000000001c18000000000000000000001a0000000022001e", 0x9f, 0x8800}, {&(0x7f0000011800)="22001e0000000000001e00080000000008007809140b2a3a0802000001000001010022001e0000000000001e00080000000008007809140b2a3a080200005a230001010134002000000000000b0064000000000000647809140b2abdd84f366aee65d501120066ef0d00000065002e0063006f006c0064002c001f0000000000001f00080000000008007809140b2a3a08020000010000010a00660069006c00650030", 0xa3, 0xf000}], 0x0, &(0x7f0000000700)=ANY=[@ANYBLOB="07001a4056dfc83f02f2fd"]) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) r2 = openat$null(0xffffffffffffff9c, &(0x7f0000000740)='/dev/null\x00', 0x408141, 0x0) setsockopt$inet_group_source_req(r2, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) r3 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r3, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) recvfrom$l2tp(r3, &(0x7f0000000780)=""/4096, 0x1000, 0x60, &(0x7f0000001780)={0x2, 0x0, @dev}, 0x10) sendmsg$NL80211_CMD_PROBE_MESH_LINK(r2, &(0x7f00000006c0)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x80000000}, 0xc, &(0x7f0000000680)={&(0x7f0000000180)={0x4c4, 0x0, 0x800, 0x70bd26, 0x25dfdbfe, {{}, {@val={0x8}, @val={0xc, 0x99, {0x101, 0x57}}}}, [@NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_FRAME={0x44b, 0x33, @mgmt_frame=@assoc_req={@with_ht={{{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1}, {0x1}, @device_b, @device_b, @initial, {0x2, 0x7f}}, @ver_80211n={0x0, 0x2, 0x1, 0x3, 0x0, 0x0, 0x1, 0x0, 0x1}}, 0xe18, 0x1000, {0x0, 0x6, @default_ibss_ssid}, @val={0x1, 0x3, [{0x6, 0x1}, {0x6c}, {0x6c, 0x1}]}, @void, [{0xdd, 0xdf, "47a0d99598e043286a31867d4939d1253cd84c12b424a2771380118d272fcee0b7ae505becd86341afbb97ffbdf53ff684c503fcc67182a9fdda86cd6e818257ffbe78af104ec4eb57e678c269e206d34f13f94ca1a9c65e89e8108dd5da68cdf0f24949d10ad84855a9f8fca8b033603f82b1818796d2567e733bd54bb20c7bd43c00e67be96c06a45a7044d20661f66926b813df1ce0f4ff4dd94ccaa9a72c7f16eee604989c31978d35019820fde96ed2dee23a1c5d6354e4ba039f571ea62093c9fd4bbd0ded76365594231c148a5e34aca2b29ee08ed68bf023a462bc"}, {0xdd, 0x76, "e20188299cc114a64e8d4307430cebee82f62acb848cfbd08fe98cce7805aa324150afb55d2539a80bc6bb77cdc784af2741af27a318f5740a95d8bc703d7a35762ccd4c3ce55de561b7b7ae1806211ef4a69c6a5447b27833511dc0ebe514bb8ed2edc9c5061139ad1d8fb17494be37d20f6d6ef544"}, {0xdd, 0xdc, "38cf876507eddeee0e53356e70cf3aeca683ddb4f6a8d9cd56dc8218c0a82f10cab9d77a3489ff6584b19c5c6567f4dd3460cbb7c1627a225cdaca4661dd36b47ee3688e1b1e4fc921b99247bb8a6bf91c47a10be0ca7bf1b5b2cab8eb2bf0a7215032d41faecefbe9386b673f8cec913f1d705923b4e68ddd4a016f846094897ff1fbc279655ed2f26c0ed0d81345dfb7b8f726277de177d2b74faf9752ed1b44fb71b297e36d3a0f38c5fa7aee1ce7ec72138e77f0f5ed7f2f6e9c8bf2c1b35e70fd53bf98789fdd6536b02f7b1b7e46f6a194358c6ccf31233650"}, {0xdd, 0xe8, "6a828044841ea57dfa80bf903245dc9270bd50603ea77f82d4abd0f42eda13193c425b8c1fbb3598cd6aefb097607670a8e471a0aca1df39f0a332f6ad81f0e1c714d552be6ba4f835b92f3fc4c77c3f2fcebff9cdfff98cfc2cf633465a3fedc24bb5e222b77fda2a32aa9fb59e4856f81e61e93cde2e189b6bcb7ff1d1a39bf9cef6b06ffbd314c5c2bf8b130e9524ed50d2839313a15f5083800bc1e5b2c8c1dcf22aec2e60b4cd09c7b70813dfd1d95c8553f22b9f1d71b20e4c03cf25ec91aa615f24a53d6bc77b6a5380472487efb365f95a2069c250742b96284f5ea81f874490baaf0aba"}, {0xdd, 0xd6, "3c5b13c14756d67a8588b2f3451a527c46c486ba6c3e22a8b3d8cf606e6e575ac0f76599d15bae89c350700d2873254c431c2d156b7cfd8cc865e9dac0d384602d1967831fdff8b92953a36b5cd97c9193c88cd4800580a0e2de26d65666bef06fdb0a6651987ec2ee58df8a989fd22384877740af914c8eaadee2ba885fe9f5bb395793ed0b52fd2a77e0ee52ea97a1a0e49fc8e38ec7a5c6f129bc1d26eea139efc10c90427dacaba618d5a06ba145d84cbc3ea6eea7274db71c1307e4011fdc7029da90fc22a8a9eb4ea98211a8d30d18e54a9350"}, {0xdd, 0x8, "6f107a693e2b4456"}, {0xdd, 0x15, "1e08d94b6d40ee212f207a46223eac38cca93fe639"}]}}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa, 0x6, @device_b}, @NL80211_ATTR_MAC={0xa, 0x6, @broadcast}, @NL80211_ATTR_FRAME={0x14, 0x33, @ctrl_frame=@cf_end={{}, {0x4}, @broadcast}}, @NL80211_ATTR_MAC={0xa}]}, 0x4c4}, 0x1, 0x0, 0x0, 0x44000}, 0x48810) r4 = dup(r1) openat(r0, &(0x7f0000000080)='./file0/file0\x00', 0x408401, 0x51) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) openat$dir(0xffffffffffffff9c, &(0x7f00000000c0)='./file0/file0\x00', 0x0, 0x0) 18:37:22 executing program 0: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) write$binfmt_elf64(r0, &(0x7f0000000100)=ANY=[@ANYBLOB="1b5b32073500006d00000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000380000000000000000000000000000ed79dcbd50369f98257b694a77950000000000000000000000000000f2ffffffffffffff00000000000000000000000000000000000000000024de98eacc8b94a07df1ec7df190752e4c4086db23845df62ee91e0fe4a5e720bfac86c74adffcb563c4c359262b2e924f726e5dd55b13e669b0fdfc6d6c978db3e472b1efee78d518e828b981d235b140d0e1b5d5661bb90e99a976f814fc34806ad1"], 0x78) ioctl$UFFDIO_ZEROPAGE(0xffffffffffffffff, 0xc020aa04, &(0x7f0000000000)={{&(0x7f0000ffc000/0x4000)=nil, 0x4000}}) 18:37:22 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) lgetxattr(&(0x7f0000000080)='./file0\x00', &(0x7f0000000140)=@known='system.posix_acl_access\x00', &(0x7f0000000280)=""/190, 0xbe) pread64(0xffffffffffffffff, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:22 executing program 5: perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_udp(0xa, 0x2, 0x0) semctl$IPC_RMID(0x0, 0x0, 0x0) ioctl$KDFONTOP_COPY(0xffffffffffffffff, 0x4b72, &(0x7f0000000300)={0x3, 0x0, 0xd, 0x0, 0x0, &(0x7f00000007c0)}) r1 = socket$inet6(0xa, 0x80003, 0x7) ioctl$sock_inet6_SIOCSIFADDR(r1, 0x89a1, &(0x7f0000000040)={@remote}) ioctl$KVM_SET_SREGS(0xffffffffffffffff, 0x4138ae84, &(0x7f0000000180)={{0x4000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x7d, 0xff, 0x0, 0xfc, 0x7f}, {0x0, 0x3000, 0x0, 0x2, 0x2, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7}, {0x5000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x22}, {0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x5}, {0x0, 0x0, 0x10, 0x0, 0xd, 0x0, 0x9c, 0x1, 0x20, 0x0, 0x0, 0x3}, {0x2000, 0x10000, 0xd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x78, 0x40}, {0x0, 0xf000, 0x0, 0x0, 0x40, 0xff, 0x0, 0x66, 0x21, 0xc0, 0x0, 0x1}, {0x100000, 0x0, 0x9, 0x4, 0x0, 0x81, 0x3, 0x0, 0x1, 0x18, 0x0, 0x9}, {0xa004}, {0x0, 0x1}, 0x0, 0x0, 0x4000, 0x40040, 0x0, 0x1101, 0x0, [0x0, 0x0, 0x100000000000]}) r2 = socket(0x5e4dd2c586a922da, 0x0, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040)='IPVS\x00') sendmsg$IPVS_CMD_DEL_DAEMON(r3, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x20, r4, 0xd9dff3b9e43d8267, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_DAEMON={0xc, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_STATE={0x8}]}]}, 0x20}}, 0x0) sendmsg$IPVS_CMD_FLUSH(r2, &(0x7f00000002c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000340)={0x4c, r4, 0x400, 0x70bd27, 0x25dfdbfc, {}, [@IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e23}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x200}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x3}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0xffffffff}, @IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_FLAGS={0x6, 0xf, 0x482}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x101}]}, 0x4c}, 0x1, 0x0, 0x0, 0x40800}, 0x44000) getsockname$packet(r2, &(0x7f0000000280)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) setsockopt$nfc_llcp_NFC_LLCP_RW(r2, 0x118, 0x0, &(0x7f0000000000), 0x4) ioctl$sock_inet6_SIOCADDRT(r0, 0x89a0, &(0x7f0000000100)={@local={0xfe, 0x80, [0x0, 0xfeff0000]}, @empty, @loopback}) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28031, 0xffffffffffffffff, 0x0) 18:37:22 executing program 3: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000035000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f00000000c0)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0x51}], 0x1, 0x0, 0x0, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc5e]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) perf_event_open(&(0x7f00000001c0)={0x1, 0xc9, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x4, 0x0, 0x2, 0x0, 0x0, 0x3, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) 18:37:22 executing program 0: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x20007d, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef020001000000daf4655f000000000000000001000000000000000b0000000004000008000000d2e200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000008082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4e0}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000000040)="ed41000000100000daf4655fdbf4655fdbf4655f000000000000040080", 0x1d, 0x4400}], 0x0, &(0x7f0000000340)={[{@usrjquota='usrjquota='}, {@sb={'sb'}}]}) lstat(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0}) syz_mount_image$vfat(&(0x7f0000000280)='vfat\x00', &(0x7f00000002c0)='./file0\x00', 0x80000000000, 0x3, &(0x7f00000016c0)=[{&(0x7f00000004c0)="bafca3435203c46395649b17b80e0683005119b207a8c25d30c163775ac53e92657e09c0978fe12bbfdab818103d5e3e1642e569a4524f6b7e943216b00633dd754811d547e3802bb7a01c82c1b2868f4a245c7325767125aea033eeb807cfd4e55606dc50f79554b420553a657b095e99f0eaf9ac1143da072cc909848811d33f07f08ad33db52e0d9b36d806b7c262c72b6037ca8fd4e946d569111cf589e2c0be1db01e77b486064c8986a2d023a1d33327226167ea7777c793f8a23ae3908d95117aa9ad6e2df83a7ca6ee7806830fe2439ffbbec6adf2d584041b06008a9ece14280495ac4e860899b2cdd90b05d364f82202bf82676d88109e9f456802b4c87e0a42d2e10f4792c6b36d5233d69cdf2c6b9cba9f6125cb19dbd6764c2cab87c7ee25894fc3e7f6237d9a41c08ddfaa865598368dc659cdc832f4ce8e94ddae6760d2eec9e4425eedaff6d4e4cbc741d4a6762f5eb72f858dd7766b2f787cc715ede854c2b1ac89c3b922ae35b8f3f53aacc471b741da7c6a35361bdecd22f31715273e60b6496501251d6bf2c2d03b755d2261f199a0be8a2550dbd0ab8a80ac326c7cd0a4cbfcabcf2dd503238c37b732ac52f81e57f4c5f6d932c76e3d892ae2fc82fa088976912c5cbb59400f5fed4bb018877d78853ccbd61383c3a4c9377ecb43aaef3b9529ee775726ead606bb4b3f1e2a6ead6470d35be64b35f224194ce8c6ae9e14aef132bd01f9eb9a0789fd430f3d88ca287fba7baf46804e7afb9fc918cdce0d6241893f6fa23fdef298d8d70864755bb1b6703d3434c02fe5213613218c1f0657f87268c8e65681932682327e505361acfc821664ee9fc76b8527a93a93f31cca9c45e67def30ca957a1d96aab2f3720f001d7e61409b37fcb5d23ca59d761c93947b72945af50f075dbb6777aadf4a7b7bb22b5048670be111bd40a38ca93abc414bd7d76b1ad0e7f3d2a8dda27e45feea63d6fca9e9799214082a42a7ad3fad2e2a71e291615f2782d6f3405c0234537f16b56e8e9947ffeac08966479518ae5d438399754aee0401020e9f2df1c5a4a745e4013ae7a8f4b6d9c2f3a430bb36eb13a47f871f6919477bb3d33d2665a8a7946ca0918680ac8232abb23d36c346cf6d33813355629219f75e90c6bfa392665c8f3ff9400ef31b9c6d8457eb7ef463834949390824270723f69688faa717f597b7d0cb9b1e009d6954138d97e5285f69d44a3b8a7ef4d621e1499bb8bf35a572bb32aa9bb791839fa7e56d99e9958d9a5e3fee2045be524e08c96cf744e4c58949012937a4776830aa315cec3d372b7287101c0fa9e08787ec9e5abb2ec794b7b7074fe8e2e6d5db276b8e4e0808b70c120bb59ddeb43fd879e1838129a9e2644650b0b355773da91554f6a56836789d81a7315fd5bc5d0d227b00e754a2d4ae1e534500cb9b376d7fde44f9ed7073d41be724c61e5f26632cbb12fc25802cc5456bedc4a893fc43fdaedbc79cf7d5044fc6e1a0e66ef7334b332fb5bb0012a581b645d71f9910e43b087f0155cd80deb4b62ad047c93e5bbb98f3044feec8bf69947e2c2c3d74f0e9a4359da99949b399b1bb65a2a7fde179929c58c064e2da191aca8a047a94a03aaf17a91a00bfe5e15d72888e50695ba80b5bc94ba005cbcf93ff1e0567f4666f95e8734e3c562d523057abcacaf99aaefa84bd983aba41d675afe47b2e0731c27f927686ca0c7a35a6381a7d5d036b86d95e015e0926366e52a7ed9994867b7e16589f14be2555f9a145c0bab232a421bf344020e4e9a4eeca0f3c40e6799db0ae243aa495eeac858a6e15e8be6de04b215d89f7d7d349d0c5d19e59336851a5d36851aa53ab9ea8d6cd4dec2b6af08359b1101a1c0e8b73de6029a0d12f819992c847641843953ff60134dc219c1f8469f945a5fc1364e0ee9dd2c4fda3014f60c9ae3a3b016c3ef1b4e74573b927c427cb9b46512db6542b383c1125d9a993b6c8609e8fd2155c4c702d1c1e71f230016fbb3b815d4f25db9e807ca9edd6dffff6d9beae234f14089b24460d8aeafcf88f908b44d40efe1dcb75ab68334eae3c9269e5f7a48e8c12ff2dd95150e97a5d3852ac2b3dc7addf41efab01fcaa51f4734897eca485755c72edabece28e44eb0d9c84da486f5722d8e93722e2ddd67dac72784c5670b40ad9b81cc86e663c0a6a5201384da5b4d57251fcbd9a944bda706592afe4e5558662af52980be132295592fb8db7f2ee588922c429d57f447afe194793b99032a43d35e6fdde51fd997a1cea38c662e984f7cccf138f1bfdc962e7b519d12e4c05b5bc32eb61d0bc615dee2f670047d82cb55d7a42b7b6d5a0ee67931c557d7d35cc1fab095825dcc36b8360b13553cca12390c62d03adfab002c488bc6012054fabe549ba04a86fd20446c7876e8de49334c862bafd748f31963929d4f76ebfb9836e1da84aace14b9452cec8d2bda9579d04a76df18b98920753526b101f251f68cf40155ca5b6acbebee89db77318757b78549f5252242d5e5cd8da079a9faecda3b430bd90d85a3b45ac338d2de564ef55e723fa30e6cf81f01d0db3824beceff0aeff29216ea9dbcf6eb8e55238fc73fc44d8138af88ac96a5120e3b093331844d4f7cef63f79ba1ffd3037a75a42e07e1c609b8e0021d31eb2d8e54cec589adf8b3df3da3c5b535abe8962a2f31da30eef9a3c07a425b20741db05a81da579a288e5323b0f87b00984a1a7c85bdd5f6cf0da8bf1b7a50bd09ca446744aced500b1624c8717f4f5a8c19c204100a22170e3edbb540938813f81c9f3ad7e987b7a3c1be1c19b5acddc8a578b4b99f8f69493f752de63a9ab33e2a0de2e0a1984b923195f218d074d43d5b0ba35fac39fe4792dec3ba5ad857c6d0beccc7bb499c185de8a4e4ab4bee9a0ade905b86b24790ce87f6ccd6bc3213c51c11a3fe592c8a6380c758e1f212e1b5bd560628ddc9bf1abaa7a16e1f172bb123d5bafabea1ee82767587506264d44998f3ad36c1d4f67b6d4a474eceb336b53a0ebb234fbfc478ac6d8996a74d457ff7d99225fa9969d26d13fb4adc0e509a36fb82855cdf6a7fb7c6f31f9b8ae95f9cdf301a7c73dcb5d6577b50ea0f79c3d32da6d9813456acf2c888b31c2f509630730f8419aa414407d4a5079dcabc192ca6d46b65f545b45bd78b56626b0a68111ccd934f5f6bdf3d1b7618ac260f9dfd408816517a19eec1c2fa1ce2d0ce417f3abcf2eaa4ae626c75ad290ccd6ff36c2bf84a6a9e99f7ed65b0ea9f34d03dc99d05fb07cfb7b83531a80e0ede8be971ba8bf3bd94122569460b861bd91ea0e0f6a71dcea3a3598c4a507957274992c7afa7fcb5c1cb04e506126d4a0da0f728656d02a233ebe3a798b86d362ff284c342fe9a110d1802547adfeaf319866f9808650a18ae22041baada71b5b92e20b82c985124f5796c6473fe9907c2f9eeef5a8b59b5111cfbb8574f9fa6409ce78aa612719ec9c359954a4f06f2d9e28d3e48d1c4d172fa5065d2caa5e5074cdeeb0f488932126e1081bbaa5a3d49b352434bd8aeac44eef984d619e686e688bac2a2f7152d67edbef2ee03e12944701a0a830e6e0d1077c29ddd4d4ac9fcab12b8b3d79a52e5cad32adde4fc7388d722077c362a6168dd65ad2df938fe87517f7891869db2bb8175c45ef754dbd773f49e3b5a0b6d06d397434f70a6394a032c93d1984f5960d5395ba51ac55d84824536275be1fafd64a9c8af50eac510de5fc3e020a69eba91d4889c43f45bd03ad1152ed9b0d1a1cba00911418c2d16eea2813c06ce26a301b2db648ccc84977eeb76be45661ad410240405d21da023742db49a5539fba39393613fa7b2048a9a35eb37ecd446953530a3ec891dca399f2c9bf97c2174a5eb96bdef7971e33a8744b88d253312abe4cb347cf676689dd3ea5dd5d1357e06b496b077e5b56160461599f2bd63990a2db4067e3efdf0a3084347a15c9f9253cd7a8b1680597a1a82eb85b847f1449429d2b7cfe582b73fa203d8dbd79c1fb72d293d38846ba408ff728c4624d5fd1e8ace813a67938aeb6571452651ab8576e5955a3d6c6387079b726740c472f407c341bef8ce1792cd87ee713e71b68084e5420f7989f01f955e97fcd9eb28665662c70630aa42d2d7b9bc9ba1129744f3c734e614976d654bb7df993859d571ca0c9dfd2bede3f3ce3a368b2ebafb37e5d8f52a26732c1b412a9c83219cf77de7874b3c29acddd2070f6d88e9c1fde16ea789ab73d78c2750a92724f0f384cfa6aa074198512f2b115b3f6140de4a389c08593f3305fe49627cc344d93f86469af26cee00179bf60e57c0cbbc745c3d5c53c30e558531c7d320469c19663e029ca4235d45bc7560c6f97deade318a03a2b4ab8e622a22cc6a81e55fa18a73e10ea0a20f471f0b422cc3b215735b523ddacd8dbc952b90e7fb05600443845ecc0d39837297882650322a44364edb1768beeafe2fa3e5419079ef8f6aa768e32f5dea926ff8b288777104c72973679de3f7dc3715fd85862a46cc57e7e5bc7f9e288b0a8466bad0a768684ba13187a3365703583307f14b787613605de700a5f89c8fa1948b01383cf9a0fe8ca3c83bb21fbc1fe7702df8be0ce8148c629aa39fbd0ea0aafd0ff49305f32a633bcf2a37c159857bde54e5c699fcd1edb6b6f92e48b01c5f1150b621bd80315d9a132b39ea2e53ac85b22c1690443308a880bae1628cf7af87634f7b56ffbc30083aead3fe336212c6c7afafe80bb1fb10115425e86df92884e882b0a054efcb20d6f88a95956119e4fc807b88426db4c2e6f45c6b9ed3fbeb831c33e04e4d0160d326b28977b499f2f0f240e31dbffc7e301fbb829192ce0536ac81427db86b3243889a4c8717cae454568176e3910d5e5964ac6eb65d718d9100618fb8117e398131f683bde547e0da41e832eadf8c75b47bbb0998b241011f8409006484aedfad813aedde8f2b2e7b20cd8b91adc867dc3e9224e6b24081c2f0d067c973c5aef9efa766e1f4b5426a65404ad59c52bd0130e4346f46a159c258b3f0d087f0a8b1eedf073dea32d24d7c075c5a1352fa919102b1355a8d5963943315fddd2cda96722998fc387b77139aa0148e24bd339cfa818df574fa63f5e2c10b276cf2d96a49e02e31ad3c2e7321e53d63a9b8fab72d937d0283613170f29ec3590e1a291f1450b02e9d39712d5aef6426ea66779ee5c366bcc50a567851b94a50f88e3df833c2703e1004f83803171327dd69e5b624974aee866ed9ffa6835538f91468a0873f79fc62f29d1e78fb66ffcc5502984d3f3007207cc0172a740287111e679d1d3a9607b8663652b00de88fcf3c17b2ccef25803e87dda6f291d252cb213005c0266e5c0cbfc607ed37accfa169722e88083261765b701311ddb88676ddda603787e78c925ea2954aded7613e6f015eaa7b6ea8d265440a7a65b84ae6c72b3653a0ced11cdaab5211a11b3a7a3fb78e362f3839a7357b7ba690934ef1608c5dc4cbeb1361535f59cc8cbded0523a9c28882a04a90ce8ce4a4ef756ec133cc25e117c1d0bf19135d9782d30661a69ae40086edb7ce249cc098b1ef2066e2915272d3f6c8cf9bd2062849c4fc4c189f922e2c20795694ed7af8a36bf2f2fe40ee40ca2cac086b5b6a7b3ec5b2fdcbfb6d0cf2de5de85e85b9525939b4012d38394ad6a6f4a1236db2581d91b2738f4e8748afcc38c5cdace2d3f27ba0fb018fa04d19663d4b22ec343869757360197a94b23edcc", 0x1000, 0x400}, {&(0x7f00000014c0)="deaeaa4151bc617a95735c1fb54c88812fc82562b4110a9dda36e36ae4b335c100e0c82899849edd3f0d064d8060756034ea359d8788771119e9d9c22896a9f001939a7259d112cfee99fe0bbf1763fa1ae61cd42092b21b4cb15b80dbd5d35ddbdd598a18fb09a8d630bf8ebf14998b1bbd56d38924d2c5e087ca780ad70b0333c4d1d1d9973162345382760bd4013edaa8f9be400d97bc33381c4c7336131ef2572d9825c6ddda585181f60260705abeda57e81bddcb00d39ec4df94e97c3cd26eb1fbdcd116b87697be0a8b680141a78cc2dfcb1937c0f079bcf7b927e9a40b1878", 0xe3, 0x6}, {&(0x7f00000015c0)="5aff9e72a491ae0c7a4379807ecac251282b78da27e87c8ca01d42c2b4fce6aa8b9c1e06cbc13308337e34512e684796e60360ddbd9968a89af80b148d91013f61e3496db029827b0d971af288875b1a7c2f6ba58c2874344637036d48420e7a67ad3cf490bf87247c1bf580e87887efca1ce6487fd0d7c1ea9453985cd7067605086d52e8ba4ef0c8004003882ffc17d866e943c206fdcf2290df77369f6f95a9e489be7fafffaca733c45d31a5baeb0eec803fc31746a085467cf144acf229d4e418510765598e7fb5c2296fe9c2269ccfee584d84978038686439e8bc92", 0xdf, 0x5}], 0x860018, &(0x7f0000001740)={[{@fat=@umask={'umask', 0x3d, 0x100000001}}], [{@euid_gt={'euid>', r0}}, {@rootcontext={'rootcontext', 0x3d, 'unconfined_u'}}, {@fowner_gt={'fowner>', r0}}]}) r1 = getgid() syz_mount_image$fuse(&(0x7f0000000080)='fuse\x00', &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x5a396ba6cf88d70, &(0x7f0000000380)={{'fd'}, 0x2c, {'rootmode', 0x3d, 0x8000}, 0x2c, {'user_id', 0x3d, r0}, 0x2c, {'group_id', 0x3d, r1}, 0x2c, {[{@max_read={'max_read', 0x3d, 0x6}}, {@max_read={'max_read', 0x3d, 0xfffffffffffffff7}}, {@max_read={'max_read', 0x3d, 0xffff}}], [{@hash='hash'}, {@mask={'mask', 0x3d, 'MAY_APPEND'}}, {@context={'context', 0x3d, 'unconfined_u'}}, {@appraise='appraise'}, {@smackfsfloor={'smackfsfloor', 0x3d, '-+-\\@.(:'}}, {@uid_lt={'uid<', 0xee00}}, {@permit_directio='permit_directio'}]}}) 18:37:22 executing program 2: r0 = socket$inet6(0xa, 0x40000080806, 0x0) setsockopt$inet6_int(r0, 0x29, 0x8, &(0x7f00000000c0)=0xfffffffc, 0x4) bind$inet6(r0, &(0x7f000047b000)={0xa, 0x404e20, 0x0, @empty}, 0x1c) listen(r0, 0x400000001ffffffd) r1 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/zoneinfo\x00', 0x0, 0x0) sendto$l2tp(r1, &(0x7f0000000100)="685828c74c0e34d21c7aa7aa16db2196f578a729bccfc47e578a751c8519f43530f4833d59b5409a89d34f61c85cb6145aad72875db2a5a71d729ca49967a3b187e1c58f16f409265d35cea779d3d182149b932bef76f9daf46a1c539c72fdad9e31e500d89ff57a6c4bb6d01de16e625b4575df34c8c963c634087bfc9d8bbf62df883e6afd82a5964ce16a01268137e343e83545b26ed1aa0e856930c98838767c56fecdfe696a29d2589f6c16371cb32be481cfbfca62f19f32bff956d34320a79daeb2d037d18dabde85762199a47da906f40dd60de18fa2cc6b8a16cb2a547da1ab5322e1bec8baacc0938ac78c87f81a5b8b6a5803e49ccc149ee346a48fc99dab09e3bb10edb574d4fc57b48db98b62b4cc472d719a34cd1c3fa40c4c1e32d706a8420176107ca18f55681ce3f59527f7cd8533500cc3b820855aa3d4db7761580d2af6220e2e76c527e875f9977171946c104de6969934eba6ca17f8e7c2ddc96c965c0dc85d08c913fdda5ff70f4d3923f1ab9b345ffb02dc927185235c01c865ae1b4a59e5b6fe0f2247fcb910a4a9fc8f4916c5a6bfb88511c3efed77286339abd7b01e7bb82d8db32cf7fdbd31edf6da2145d409fe7e70e6ca23ffb020bb008a48a5aeec0ba013802bfe158432232df3c43083281acd98d5a347f5e1d4883ced5e38da4450cfdb0e9ab10842e5391360e95d1ac6888609e778ce2ccd22823ac8a8866819c49944d242adf0a84bcc39f6ff194c98cd9d647f7df29db1b9e1b9c32de35de16f73fcf031c5c8b356b7165e7ab99279282eae6cebb64791246513a4900ad196a9f92299bf713e77392d525f2e20de9c8e46656e59dd52bf39bda3a1e269603d444ac7c7600c708fec9a993014b3983d7a8de207320a537b4da6ef648b346e83c1c35e93a6cc3396e45e7a0a5638bcf58a4f66b3d3cede7f9fba9e06b6a74c944d388c5693d88b81a318da3385cc1a3acf549f8b61cb29e3be098dec558d908ada1b5fde49266974905583caee0ed9b768073d9f3f8dde9ec39d21b0995a7d64931cf3190c868ade171a3aabbe094760ae81986346102d5e40b2387ccb122f7366f59c40032cf9114ef141052a99269bd8beef181563548d56fe9d70c78cc42a1e44befe23fb9ba4a6c7b8c7a5bd862a4df98ac71a86426a5eaadaf81d43743e39bbb975f973af62ecafcf6ba874a79eaa48dc693e4f3bdb2242100e701bd652708a9e19fb1369b5740505d1137c9e2d5a84efd3147e3f489694dd9ba724303acccff6feeb279f7a731a2b22b597f727a4461e0167824394eef289712c646732bab238dbad6b404f140ccaecec4d41807ff402a34e7b9a694a0fae36414d292304e2517aea59db761ce2fa38888aed8b8cb6aed1646d836a3df5049e1447f490b57829859bf89d8248bf2c6ac75f013c1d182db709fafeb34251c5115bdd84ff8e3b35c55b44ce5e4c378d59c19f1c2ef1d6dc676402dc1acc4f7c89aad986313bec3e1b172be787b184f262a04bb4dff8b719624518dd702ce2b416ff8002d6f92808247922c827a4720ac3563809fcc543a332432641d1e4277778f2108d6b37ef1a1f162ef786a85b390f28bcb4a4efd50a1b0b99c422972dc932b5705d0da156742199dd329600adf35754399e58697b3ce2b533b8c3df86bfbc2d872ea121c6dfdd73a5f97dc14152b7920b00f5781f2092b8002b7a0cb7adad554d8a86cb47bb62b0bf0b8703e340c3ead98ba4b1e6ea84843dd5281d0b47866cf60dae4feb4a549d970468c8b7ff5bd7d03d7edf1b2cfd5479783d3ce6c6e21213f34e74a96fc18f957ba1cc1c844add761754542dc6969084288d68d924e2e7522af64a51b5258dcd776d70501a6b988490ee38798b7da8f5c9aa24d2348bbc1eaf48fcebd126e9d0f6f48a668d731f47e0b058928c4f35a78108dadceed5d685ab70f26283a65e3d3790c2262da21218ac662a270730826bbc4e8545cc019bece7d2e8aed32d16a63e6ae94ff56fef3b9aaa072b1e8ea7dc489140daa5109bc878d71422f036566495a573aff26731d425d9e9fe301e2cae811cbfd250c2d3685d718017391ba521b59f7f1288c02af47be40abb1bd0e1ef07a11be07ee7e81a145774a8e5d5ab23b74843482efc1d641eb2f56decb2d6e12cf25a52282cbf3e03f73018f7d96894c98c4a07d2b33054937342774cbd3d2afec6b07a53c59807991b37a6a8b1ef6bfa44706311ac6cd5deb7adf82219931037b46275ef2eb28c14466661fe27764677116a513dfceabe5acd602aa3da20e78438455078e950a4466eec8d58e7930406cd406836b075f2b49c46cec9e8a93a5804df3fb0d87c984ae75268421f5b6af26ed377a86d4c50ccdf8a01101945f3176a4d9e66f4eff21294d3105097b16f04ed034b9dfb48a5c53d1ab754345c97357acdeb28e578be405cc9041d464c24352978f9e1787f870d4d478a3244b569444ccd49453e3188011d3b7fdcb4ae1486074e0e38d32086737dd2b08a9b0864e797cf02055b834c053f78d54b6057d05eee34ad0abb37c0337c1750aab0d9930fd644f7b52800bada5fbafedafc7d48b102aaf03e3d9f23ac4b02222a2ceec5941750b7e97ea37a832ea2f74dc0b19778006b62d0c7fff00af462925e53a0ee83b4f831344f0fde0ccf76cfeb326f9c885055ca9a555f67f99b9cb324e86bbb916ea7654a1d039fe9feeefcf456b620a8c854faaa495d0d878261dde5ea14251417400803658bfc98c8cb5b27faea3ce8a1d1db11863cd0a26a275f5f853f3378dfcaf2207481f415b79f9e5eb2729327f8a0fb8e3bfe24256a83d134a0b20973bb6f44fa7d65665af5fc1ab749ebf3d42d9cc2b83579cb330949590e8491f6a5c6e2f31fd49c995d87a0c3e6e1ff9e0a5b47c26a362fa826ef3da9f3780ed9ec1ec0856fdd249532b393516c4fd18f338ee8cdb8df1c7c9fe51ad5cebbec84e9cce229d82657b37b20f3e7f8d550a60dd8607eb307e2c12c799c8fa923a2de8ad353948f900503e83a0d596cc7e86a7bcdbccae464a4a3514e46c38d295d6e6239caa88f335df983314144641354660001d1b812b7f2e15696f610168767eed40a3e44295dd57253eee360045c318c377f687e04ed23e6c9f9f36e3548e16e752df249c4612a833e8ff87f46f2894500b94700a3966635915c86688707edca98073851d30ad4480b77d2c6f08f0aa477473217b246cd3246e4f70d34fd3d035e22cc02b7a8278c60061999f1bff495e3a91280ef687962d6783ff4f842783518d7466fa7e2f56f05eff35bf0409d44026417a2fdef6531e3793ec69621b916db01d82e0be9681e99db64f78a7cd0728c37db1bfcf9acca314ed07d82003a383ddddb66d93753e701a54ee8ef01f400ccbe805d50c751397fff8ab709465af740bfc571f3e51f7e020b4d21c00a710e700d2a09e52f57094485536b7053d9e97e51b8bb37b5327610f98e43d1c71ee0ef406d0e0b284de067b58042b3a54ab4412fb09cce14cc2fb540c8dea1a5e56abecaf78d9f24c9241edb421c68b2ae1bb3a81e921da63650347f587abf3d279592ed01e29a30175bca6d55b8b004b51ebcb84f367c3d4366fb113f1f071e3a25a530fddd88f378caf78766781e30f36d75ad9b32f4715c8e1976179da76ad6a02eb9d2d4aaa6061ada89c027fca24911ff71a9111f6356c027df94f51081158e4478c3916385b59b28e234727c1b7375396e2bfbef98920a52d112b75e829f4493849f459c09e07ad63f4e4160fedae01f8c44f03b745d83ed1250f607dbd58e86298c7e511061be631de01cdcad8f5bdb5336032f3de3d229376d4b41c1f9e6c2dfcf6cc219775fefac88386773a6a9b442d5fd9f112c361a740fed099b0fc582fdfa940072b71d7efc045608fe1348a4897287c0fd1d4d555f1fa630bd18ae1c8560314a0f888de62b906e02272bfca0d0312a406fa26b49aecd5914e291ec9d243754249f230d5fee807568e98daf53977ac23fb376b659ef07ac6ba875f326bcad3fc95ba7eeeaa0de9ea495346fa7660aa6df7eee1292ad4fb1b70647c15832895b58ed959ca41eecc8f34d8573b0107a7b398a1115a2417b253270b1571f4bef1b6368fa698291c60afad7b8b71bdaf447289179e56ac99a3f81fd42dd45362f41dfa0a540fc2cd9e618c0f1b18f5e579767b92ffa99c8156b99ad1f1c93b76f32fcdb081420fab5ef4c7bf937c49d45a9a4160178043d9477395b737268349f25c4f04bab35a52b183364925085476fee791ff1ba28cc1dc5617a0d8355ce9258b7170662d3a8cb90f909a797ffd54197e67c869886756f613620071b3d0ddf3d538e500921caf180ff5f96d21c4ec10568f0cfd94e28cd221b4d534b7a4b2419e609d795929b0b6f5e19c3299b454ecbe5ffabdb6d431a9edbcc2ac75ca949a5d6f7dab980e76500b56c25037aa76805999b5390aee43df3e72d732aa4aded026fb154089d08ba9a5625dd2604bb7ee38cc0f714df992f6d75d177e671eeaf9eed2fac536f2bf196e1cb0f414fee484ea43660cc1f9021e9682d4f352953efba1c1d5457ddce3a91860c23598bbeb25ecb8ee65ae633b21472ebbf8dbc64e3e2b28490d8b8537ff575143c93ffac25da9a217339be869c33f408f3187a11c6c0fedbde54d809e8fa72f1d5e8d78bd1c2959ae9309940f40c51f3f06976cf4203b15edb75450eadd7d4dccabb5d130a7e4f7fc46b7d30b7fb1c0f2519cf17e2c178200d4dd5527fd5212f95f7d5edd3e41704562df4b1423b2d77c8e0affc7698db6e8d9207fdb21cc507c8ca988dd38915786223684d407ae24759c327b1fc8ca5bda9b37e2f5aa6dc74dcc7c11e702cb5e668adf7a4b42643cb1903e2b2fa473e34aee2b5be38d302a9401e4d7c948e1ddc423e00bedca89d288d6773d84aa13b3ad305eb0c591436eda1ff45a3ce29452d32f69959f46c01376342a47ada16c7c6f869ecac3daceb2aa3db67b0ab0c742b6afba2529201f3b7f281ca2eed057b3f627065976db5f4e5ba8277d1a82d792ed5781ced7481a7920d68a046bece9e9eaf0a2b4e3041884b2ab407bc78e619b2d7e0b3da86e732484f32f0fd39cf6e9a2bfa10a949eb60ae60aa613e065ce169da3619f218e04f2eb3ebc668458bfc1d6629d6c0423c45d40ec8b5f0945d1561061307765ee83dcd2205d878cb2717658284ee59cd40da78197611e8b7647c7496f7dc4b5176f330c05713e53857368d7bfa490313134006f5b549317ee047e90f1c25d05c149f2d719cc896216a86f796c22566be9214c22c070fdcdee33d8fca81ea29ff4041aa1746ad33a63edb9936d0fe54f44a91df5d68fd235d67d6bfdbd7031c19b27d631115ca174f993b207fd92693e974cc02f94170127d923bdc0c82008781d6e3431be3d6678cc44bce86b346577efb8ecaeb992752a58a5d84f9953edd63a22c47d8e618ea9e2b6baa8b8f3433cffbfc6fdb4ede15d8d3f1e2d4ea81addc3df453c7dabc27ff0537c0beb33f02ed8ad125178a77982adb25e64e0069cacd942f353d8598f7f346bcf0d74c22b54d33c507898019e3f61aa7dcd000b4a655ea4f0092e88ef4aa2f858ac26c4a5b2172a589289644e6ca4f5b8cba70ac8b3f408b08e7a5b2c0ca594ed47c161ad7ed221b68f8092a9b1f36e3e91bfe0f66e0a0d96e8653b90b6883a1e64348b145cfdcb51e71d9641e605c2443472e74b37a3716abe2401bf86b9c9b85a190953bef1c5cbe825e", 0x1000, 0x55, &(0x7f0000000080)={0x2, 0x0, @broadcast, 0x2}, 0x10) r2 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r2, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) ioctl$DRM_IOCTL_FREE_BUFS(r2, 0x4010641a, &(0x7f0000001140)={0x1, &(0x7f0000001100)=[0x6]}) r3 = socket$inet6(0xa, 0x6, 0x0) connect$inet6(r3, &(0x7f0000000000)={0xa, 0x4e20, 0x0, @loopback}, 0x1c) r4 = accept4(r0, 0x0, 0x0, 0x0) sendmmsg(r4, &(0x7f0000003d40)=[{{0x0, 0xffffffbf, 0x0, 0x0, 0x0, 0x0, 0xe}}], 0x4000000000000d0, 0x0) 18:37:22 executing program 3: getsockopt$inet_sctp_SCTP_DEFAULT_SNDINFO(0xffffffffffffffff, 0x84, 0x22, &(0x7f0000000000)={0x180, 0x8000, 0xb0000000, 0x0, 0x0}, &(0x7f0000000040)=0x10) getsockopt$inet_sctp_SCTP_GET_ASSOC_STATS(0xffffffffffffffff, 0x84, 0x70, &(0x7f00000000c0)={r0, @in={{0x2, 0x4e22, @private=0xa010102}}, [0x7, 0x8, 0x8, 0x10001, 0x2, 0x7, 0x3, 0x1, 0x5, 0x4097, 0xe002, 0x2, 0x4, 0x8, 0x9]}, &(0x7f00000001c0)=0x100) mount(&(0x7f0000000080)=@loop={'/dev/loop', 0x0}, &(0x7f0000000280)='.\x00', &(0x7f00000002c0)='msdos\x00', 0x0, 0x0) 18:37:22 executing program 3: perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0xd4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000200)=ANY=[@ANYBLOB="4400000010000507060000000000000003000000", @ANYRES32=0x0, @ANYBLOB="00000000000000002400128009000100626f6e640000000014000280080003000000000005000e0000000000"], 0x44}}, 0x0) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) fstat(r2, &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0}) r4 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r4, 0x1, 0x11, &(0x7f0000000000)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) lchown(&(0x7f0000000040)='./file0\x00', r3, r5) r6 = socket$rds(0x15, 0x5, 0x0) bind$rds(r6, &(0x7f0000000180)={0x2, 0x0, @remote}, 0x10) setsockopt$RDS_CANCEL_SENT_TO(r6, 0x114, 0x1, 0x0, 0x60) setfsgid(r5) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r8 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r8, &(0x7f0000000100)={0xff73, 0x0, r7}, 0x10) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX(r8, 0x84, 0x6e, 0x0, 0x0) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, 0x0, &(0x7f0000000140)) getsockopt$inet_sctp_SCTP_GET_ASSOC_STATS(0xffffffffffffffff, 0x84, 0x70, 0x0, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r8, 0x40082406, &(0x7f00000000c0)='/dev/zero\x00') [ 489.600900] EXT4-fs (loop0): warning: mounting unchecked fs, running e2fsck is recommended [ 489.635435] EXT4-fs (loop0): Errors on filesystem, clearing orphan list. [ 489.635435] [ 489.694383] EXT4-fs (loop0): mounted filesystem without journal. Opts: usrjquota=,sb=0x0000000000000000,,errors=continue 18:37:22 executing program 0: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x20007d, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000dbf4655fdbf4655f0100ffff53ef020001000000daf4655f000000000000000001000000000000000b0000000004000008000000d2e200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000008082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4e0}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000000040)="ed41000000100000daf4655fdbf4655fdbf4655f000000000000040080", 0x1d, 0x4400}], 0x0, &(0x7f0000000340)={[{@usrjquota='usrjquota='}, {@sb={'sb'}}]}) lstat(&(0x7f0000000140)='./file0\x00', &(0x7f0000000180)={0x0, 0x0, 0x0, 0x0, 0x0}) syz_mount_image$vfat(&(0x7f0000000280)='vfat\x00', &(0x7f00000002c0)='./file0\x00', 0x80000000000, 0x3, &(0x7f00000016c0)=[{&(0x7f00000004c0)="bafca3435203c46395649b17b80e0683005119b207a8c25d30c163775ac53e92657e09c0978fe12bbfdab818103d5e3e1642e569a4524f6b7e943216b00633dd754811d547e3802bb7a01c82c1b2868f4a245c7325767125aea033eeb807cfd4e55606dc50f79554b420553a657b095e99f0eaf9ac1143da072cc909848811d33f07f08ad33db52e0d9b36d806b7c262c72b6037ca8fd4e946d569111cf589e2c0be1db01e77b486064c8986a2d023a1d33327226167ea7777c793f8a23ae3908d95117aa9ad6e2df83a7ca6ee7806830fe2439ffbbec6adf2d584041b06008a9ece14280495ac4e860899b2cdd90b05d364f82202bf82676d88109e9f456802b4c87e0a42d2e10f4792c6b36d5233d69cdf2c6b9cba9f6125cb19dbd6764c2cab87c7ee25894fc3e7f6237d9a41c08ddfaa865598368dc659cdc832f4ce8e94ddae6760d2eec9e4425eedaff6d4e4cbc741d4a6762f5eb72f858dd7766b2f787cc715ede854c2b1ac89c3b922ae35b8f3f53aacc471b741da7c6a35361bdecd22f31715273e60b6496501251d6bf2c2d03b755d2261f199a0be8a2550dbd0ab8a80ac326c7cd0a4cbfcabcf2dd503238c37b732ac52f81e57f4c5f6d932c76e3d892ae2fc82fa088976912c5cbb59400f5fed4bb018877d78853ccbd61383c3a4c9377ecb43aaef3b9529ee775726ead606bb4b3f1e2a6ead6470d35be64b35f224194ce8c6ae9e14aef132bd01f9eb9a0789fd430f3d88ca287fba7baf46804e7afb9fc918cdce0d6241893f6fa23fdef298d8d70864755bb1b6703d3434c02fe5213613218c1f0657f87268c8e65681932682327e505361acfc821664ee9fc76b8527a93a93f31cca9c45e67def30ca957a1d96aab2f3720f001d7e61409b37fcb5d23ca59d761c93947b72945af50f075dbb6777aadf4a7b7bb22b5048670be111bd40a38ca93abc414bd7d76b1ad0e7f3d2a8dda27e45feea63d6fca9e9799214082a42a7ad3fad2e2a71e291615f2782d6f3405c0234537f16b56e8e9947ffeac08966479518ae5d438399754aee0401020e9f2df1c5a4a745e4013ae7a8f4b6d9c2f3a430bb36eb13a47f871f6919477bb3d33d2665a8a7946ca0918680ac8232abb23d36c346cf6d33813355629219f75e90c6bfa392665c8f3ff9400ef31b9c6d8457eb7ef463834949390824270723f69688faa717f597b7d0cb9b1e009d6954138d97e5285f69d44a3b8a7ef4d621e1499bb8bf35a572bb32aa9bb791839fa7e56d99e9958d9a5e3fee2045be524e08c96cf744e4c58949012937a4776830aa315cec3d372b7287101c0fa9e08787ec9e5abb2ec794b7b7074fe8e2e6d5db276b8e4e0808b70c120bb59ddeb43fd879e1838129a9e2644650b0b355773da91554f6a56836789d81a7315fd5bc5d0d227b00e754a2d4ae1e534500cb9b376d7fde44f9ed7073d41be724c61e5f26632cbb12fc25802cc5456bedc4a893fc43fdaedbc79cf7d5044fc6e1a0e66ef7334b332fb5bb0012a581b645d71f9910e43b087f0155cd80deb4b62ad047c93e5bbb98f3044feec8bf69947e2c2c3d74f0e9a4359da99949b399b1bb65a2a7fde179929c58c064e2da191aca8a047a94a03aaf17a91a00bfe5e15d72888e50695ba80b5bc94ba005cbcf93ff1e0567f4666f95e8734e3c562d523057abcacaf99aaefa84bd983aba41d675afe47b2e0731c27f927686ca0c7a35a6381a7d5d036b86d95e015e0926366e52a7ed9994867b7e16589f14be2555f9a145c0bab232a421bf344020e4e9a4eeca0f3c40e6799db0ae243aa495eeac858a6e15e8be6de04b215d89f7d7d349d0c5d19e59336851a5d36851aa53ab9ea8d6cd4dec2b6af08359b1101a1c0e8b73de6029a0d12f819992c847641843953ff60134dc219c1f8469f945a5fc1364e0ee9dd2c4fda3014f60c9ae3a3b016c3ef1b4e74573b927c427cb9b46512db6542b383c1125d9a993b6c8609e8fd2155c4c702d1c1e71f230016fbb3b815d4f25db9e807ca9edd6dffff6d9beae234f14089b24460d8aeafcf88f908b44d40efe1dcb75ab68334eae3c9269e5f7a48e8c12ff2dd95150e97a5d3852ac2b3dc7addf41efab01fcaa51f4734897eca485755c72edabece28e44eb0d9c84da486f5722d8e93722e2ddd67dac72784c5670b40ad9b81cc86e663c0a6a5201384da5b4d57251fcbd9a944bda706592afe4e5558662af52980be132295592fb8db7f2ee588922c429d57f447afe194793b99032a43d35e6fdde51fd997a1cea38c662e984f7cccf138f1bfdc962e7b519d12e4c05b5bc32eb61d0bc615dee2f670047d82cb55d7a42b7b6d5a0ee67931c557d7d35cc1fab095825dcc36b8360b13553cca12390c62d03adfab002c488bc6012054fabe549ba04a86fd20446c7876e8de49334c862bafd748f31963929d4f76ebfb9836e1da84aace14b9452cec8d2bda9579d04a76df18b98920753526b101f251f68cf40155ca5b6acbebee89db77318757b78549f5252242d5e5cd8da079a9faecda3b430bd90d85a3b45ac338d2de564ef55e723fa30e6cf81f01d0db3824beceff0aeff29216ea9dbcf6eb8e55238fc73fc44d8138af88ac96a5120e3b093331844d4f7cef63f79ba1ffd3037a75a42e07e1c609b8e0021d31eb2d8e54cec589adf8b3df3da3c5b535abe8962a2f31da30eef9a3c07a425b20741db05a81da579a288e5323b0f87b00984a1a7c85bdd5f6cf0da8bf1b7a50bd09ca446744aced500b1624c8717f4f5a8c19c204100a22170e3edbb540938813f81c9f3ad7e987b7a3c1be1c19b5acddc8a578b4b99f8f69493f752de63a9ab33e2a0de2e0a1984b923195f218d074d43d5b0ba35fac39fe4792dec3ba5ad857c6d0beccc7bb499c185de8a4e4ab4bee9a0ade905b86b24790ce87f6ccd6bc3213c51c11a3fe592c8a6380c758e1f212e1b5bd560628ddc9bf1abaa7a16e1f172bb123d5bafabea1ee82767587506264d44998f3ad36c1d4f67b6d4a474eceb336b53a0ebb234fbfc478ac6d8996a74d457ff7d99225fa9969d26d13fb4adc0e509a36fb82855cdf6a7fb7c6f31f9b8ae95f9cdf301a7c73dcb5d6577b50ea0f79c3d32da6d9813456acf2c888b31c2f509630730f8419aa414407d4a5079dcabc192ca6d46b65f545b45bd78b56626b0a68111ccd934f5f6bdf3d1b7618ac260f9dfd408816517a19eec1c2fa1ce2d0ce417f3abcf2eaa4ae626c75ad290ccd6ff36c2bf84a6a9e99f7ed65b0ea9f34d03dc99d05fb07cfb7b83531a80e0ede8be971ba8bf3bd94122569460b861bd91ea0e0f6a71dcea3a3598c4a507957274992c7afa7fcb5c1cb04e506126d4a0da0f728656d02a233ebe3a798b86d362ff284c342fe9a110d1802547adfeaf319866f9808650a18ae22041baada71b5b92e20b82c985124f5796c6473fe9907c2f9eeef5a8b59b5111cfbb8574f9fa6409ce78aa612719ec9c359954a4f06f2d9e28d3e48d1c4d172fa5065d2caa5e5074cdeeb0f488932126e1081bbaa5a3d49b352434bd8aeac44eef984d619e686e688bac2a2f7152d67edbef2ee03e12944701a0a830e6e0d1077c29ddd4d4ac9fcab12b8b3d79a52e5cad32adde4fc7388d722077c362a6168dd65ad2df938fe87517f7891869db2bb8175c45ef754dbd773f49e3b5a0b6d06d397434f70a6394a032c93d1984f5960d5395ba51ac55d84824536275be1fafd64a9c8af50eac510de5fc3e020a69eba91d4889c43f45bd03ad1152ed9b0d1a1cba00911418c2d16eea2813c06ce26a301b2db648ccc84977eeb76be45661ad410240405d21da023742db49a5539fba39393613fa7b2048a9a35eb37ecd446953530a3ec891dca399f2c9bf97c2174a5eb96bdef7971e33a8744b88d253312abe4cb347cf676689dd3ea5dd5d1357e06b496b077e5b56160461599f2bd63990a2db4067e3efdf0a3084347a15c9f9253cd7a8b1680597a1a82eb85b847f1449429d2b7cfe582b73fa203d8dbd79c1fb72d293d38846ba408ff728c4624d5fd1e8ace813a67938aeb6571452651ab8576e5955a3d6c6387079b726740c472f407c341bef8ce1792cd87ee713e71b68084e5420f7989f01f955e97fcd9eb28665662c70630aa42d2d7b9bc9ba1129744f3c734e614976d654bb7df993859d571ca0c9dfd2bede3f3ce3a368b2ebafb37e5d8f52a26732c1b412a9c83219cf77de7874b3c29acddd2070f6d88e9c1fde16ea789ab73d78c2750a92724f0f384cfa6aa074198512f2b115b3f6140de4a389c08593f3305fe49627cc344d93f86469af26cee00179bf60e57c0cbbc745c3d5c53c30e558531c7d320469c19663e029ca4235d45bc7560c6f97deade318a03a2b4ab8e622a22cc6a81e55fa18a73e10ea0a20f471f0b422cc3b215735b523ddacd8dbc952b90e7fb05600443845ecc0d39837297882650322a44364edb1768beeafe2fa3e5419079ef8f6aa768e32f5dea926ff8b288777104c72973679de3f7dc3715fd85862a46cc57e7e5bc7f9e288b0a8466bad0a768684ba13187a3365703583307f14b787613605de700a5f89c8fa1948b01383cf9a0fe8ca3c83bb21fbc1fe7702df8be0ce8148c629aa39fbd0ea0aafd0ff49305f32a633bcf2a37c159857bde54e5c699fcd1edb6b6f92e48b01c5f1150b621bd80315d9a132b39ea2e53ac85b22c1690443308a880bae1628cf7af87634f7b56ffbc30083aead3fe336212c6c7afafe80bb1fb10115425e86df92884e882b0a054efcb20d6f88a95956119e4fc807b88426db4c2e6f45c6b9ed3fbeb831c33e04e4d0160d326b28977b499f2f0f240e31dbffc7e301fbb829192ce0536ac81427db86b3243889a4c8717cae454568176e3910d5e5964ac6eb65d718d9100618fb8117e398131f683bde547e0da41e832eadf8c75b47bbb0998b241011f8409006484aedfad813aedde8f2b2e7b20cd8b91adc867dc3e9224e6b24081c2f0d067c973c5aef9efa766e1f4b5426a65404ad59c52bd0130e4346f46a159c258b3f0d087f0a8b1eedf073dea32d24d7c075c5a1352fa919102b1355a8d5963943315fddd2cda96722998fc387b77139aa0148e24bd339cfa818df574fa63f5e2c10b276cf2d96a49e02e31ad3c2e7321e53d63a9b8fab72d937d0283613170f29ec3590e1a291f1450b02e9d39712d5aef6426ea66779ee5c366bcc50a567851b94a50f88e3df833c2703e1004f83803171327dd69e5b624974aee866ed9ffa6835538f91468a0873f79fc62f29d1e78fb66ffcc5502984d3f3007207cc0172a740287111e679d1d3a9607b8663652b00de88fcf3c17b2ccef25803e87dda6f291d252cb213005c0266e5c0cbfc607ed37accfa169722e88083261765b701311ddb88676ddda603787e78c925ea2954aded7613e6f015eaa7b6ea8d265440a7a65b84ae6c72b3653a0ced11cdaab5211a11b3a7a3fb78e362f3839a7357b7ba690934ef1608c5dc4cbeb1361535f59cc8cbded0523a9c28882a04a90ce8ce4a4ef756ec133cc25e117c1d0bf19135d9782d30661a69ae40086edb7ce249cc098b1ef2066e2915272d3f6c8cf9bd2062849c4fc4c189f922e2c20795694ed7af8a36bf2f2fe40ee40ca2cac086b5b6a7b3ec5b2fdcbfb6d0cf2de5de85e85b9525939b4012d38394ad6a6f4a1236db2581d91b2738f4e8748afcc38c5cdace2d3f27ba0fb018fa04d19663d4b22ec343869757360197a94b23edcc", 0x1000, 0x400}, {&(0x7f00000014c0)="deaeaa4151bc617a95735c1fb54c88812fc82562b4110a9dda36e36ae4b335c100e0c82899849edd3f0d064d8060756034ea359d8788771119e9d9c22896a9f001939a7259d112cfee99fe0bbf1763fa1ae61cd42092b21b4cb15b80dbd5d35ddbdd598a18fb09a8d630bf8ebf14998b1bbd56d38924d2c5e087ca780ad70b0333c4d1d1d9973162345382760bd4013edaa8f9be400d97bc33381c4c7336131ef2572d9825c6ddda585181f60260705abeda57e81bddcb00d39ec4df94e97c3cd26eb1fbdcd116b87697be0a8b680141a78cc2dfcb1937c0f079bcf7b927e9a40b1878", 0xe3, 0x6}, {&(0x7f00000015c0)="5aff9e72a491ae0c7a4379807ecac251282b78da27e87c8ca01d42c2b4fce6aa8b9c1e06cbc13308337e34512e684796e60360ddbd9968a89af80b148d91013f61e3496db029827b0d971af288875b1a7c2f6ba58c2874344637036d48420e7a67ad3cf490bf87247c1bf580e87887efca1ce6487fd0d7c1ea9453985cd7067605086d52e8ba4ef0c8004003882ffc17d866e943c206fdcf2290df77369f6f95a9e489be7fafffaca733c45d31a5baeb0eec803fc31746a085467cf144acf229d4e418510765598e7fb5c2296fe9c2269ccfee584d84978038686439e8bc92", 0xdf, 0x5}], 0x860018, &(0x7f0000001740)={[{@fat=@umask={'umask', 0x3d, 0x100000001}}], [{@euid_gt={'euid>', r0}}, {@rootcontext={'rootcontext', 0x3d, 'unconfined_u'}}, {@fowner_gt={'fowner>', r0}}]}) r1 = getgid() syz_mount_image$fuse(&(0x7f0000000080)='fuse\x00', &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x5a396ba6cf88d70, &(0x7f0000000380)={{'fd'}, 0x2c, {'rootmode', 0x3d, 0x8000}, 0x2c, {'user_id', 0x3d, r0}, 0x2c, {'group_id', 0x3d, r1}, 0x2c, {[{@max_read={'max_read', 0x3d, 0x6}}, {@max_read={'max_read', 0x3d, 0xfffffffffffffff7}}, {@max_read={'max_read', 0x3d, 0xffff}}], [{@hash='hash'}, {@mask={'mask', 0x3d, 'MAY_APPEND'}}, {@context={'context', 0x3d, 'unconfined_u'}}, {@appraise='appraise'}, {@smackfsfloor={'smackfsfloor', 0x3d, '-+-\\@.(:'}}, {@uid_lt={'uid<', 0xee00}}, {@permit_directio='permit_directio'}]}}) 18:37:22 executing program 2: r0 = open(&(0x7f0000000100)='./bus\x00', 0x628040, 0x4) mmap(&(0x7f0000008000/0x600000)=nil, 0x600000, 0x800002, 0x11, r0, 0x0) pipe(&(0x7f0000000140)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = creat(&(0x7f0000000080)='./bus\x00', 0x0) fallocate(r3, 0x0, 0x0, 0x1000f4) r4 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, r4, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) write(r2, &(0x7f00000001c0), 0xfffffef3) vmsplice(r1, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_POLICY(r2, 0x400c6615, &(0x7f00000000c0)={0x0, @adiantum}) r5 = open(&(0x7f00000001c0)='./bus\x00', 0x141042, 0x0) setsockopt$inet_sctp6_SCTP_CONTEXT(r0, 0x84, 0x11, 0x0, 0x0) sendfile(r5, r5, 0x0, 0x8080fffffffe) [ 489.745893] RDS: rds_bind could not find a transport for 172.20.20.187, load rds_tcp or rds_rdma? [ 489.949953] EXT4-fs (loop0): warning: mounting unchecked fs, running e2fsck is recommended 18:37:22 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$inet_udp(0x2, 0x2, 0x0) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000800)='nl80211\x00') ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000580)={'wlan0\x00', 0x0}) sendmsg$NL80211_CMD_NEW_KEY(r0, &(0x7f0000000700)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f00000005c0)={0x3c, r2, 0xa6b215d75aa3d1ad, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_KEY={0x20, 0x50, 0x0, 0x1, [@NL80211_KEY_CIPHER={0x8, 0x3, 0xfac01}, @NL80211_KEY_IDX={0x5}, @NL80211_KEY_DATA_WEP40={0x9, 0x1, "5618e3a22b"}]}]}, 0x3c}}, 0x40000) ioctl$SNDRV_SEQ_IOCTL_PVERSION(0xffffffffffffffff, 0x80045300, &(0x7f0000000000)) 18:37:22 executing program 5: perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_udp(0xa, 0x2, 0x0) semctl$IPC_RMID(0x0, 0x0, 0x0) ioctl$KDFONTOP_COPY(0xffffffffffffffff, 0x4b72, &(0x7f0000000300)={0x3, 0x0, 0xd, 0x0, 0x0, &(0x7f00000007c0)}) r1 = socket$inet6(0xa, 0x80003, 0x7) ioctl$sock_inet6_SIOCSIFADDR(r1, 0x89a1, &(0x7f0000000040)={@remote}) ioctl$KVM_SET_SREGS(0xffffffffffffffff, 0x4138ae84, &(0x7f0000000180)={{0x4000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x7d, 0xff, 0x0, 0xfc, 0x7f}, {0x0, 0x3000, 0x0, 0x2, 0x2, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7}, {0x5000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x22}, {0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x5}, {0x0, 0x0, 0x10, 0x0, 0xd, 0x0, 0x9c, 0x1, 0x20, 0x0, 0x0, 0x3}, {0x2000, 0x10000, 0xd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x78, 0x40}, {0x0, 0xf000, 0x0, 0x0, 0x40, 0xff, 0x0, 0x66, 0x21, 0xc0, 0x0, 0x1}, {0x100000, 0x0, 0x9, 0x4, 0x0, 0x81, 0x3, 0x0, 0x1, 0x18, 0x0, 0x9}, {0xa004}, {0x0, 0x1}, 0x0, 0x0, 0x4000, 0x40040, 0x0, 0x1101, 0x0, [0x0, 0x0, 0x100000000000]}) r2 = socket(0x5e4dd2c586a922da, 0x0, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040)='IPVS\x00') sendmsg$IPVS_CMD_DEL_DAEMON(r3, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x20, r4, 0xd9dff3b9e43d8267, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_DAEMON={0xc, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_STATE={0x8}]}]}, 0x20}}, 0x0) sendmsg$IPVS_CMD_FLUSH(r2, &(0x7f00000002c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000340)={0x4c, r4, 0x400, 0x70bd27, 0x25dfdbfc, {}, [@IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e23}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x200}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x3}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0xffffffff}, @IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_FLAGS={0x6, 0xf, 0x482}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x101}]}, 0x4c}, 0x1, 0x0, 0x0, 0x40800}, 0x44000) getsockname$packet(r2, &(0x7f0000000280)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) setsockopt$nfc_llcp_NFC_LLCP_RW(r2, 0x118, 0x0, &(0x7f0000000000), 0x4) ioctl$sock_inet6_SIOCADDRT(r0, 0x89a0, &(0x7f0000000100)={@local={0xfe, 0x80, [0x0, 0xfeff0000]}, @empty, @loopback}) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28031, 0xffffffffffffffff, 0x0) [ 489.995347] EXT4-fs (loop0): Errors on filesystem, clearing orphan list. [ 489.995347] [ 490.050991] EXT4-fs (loop0): mounted filesystem without journal. Opts: usrjquota=,sb=0x0000000000000000,,errors=continue 18:37:22 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r1, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r2 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r2, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r2, 0x0, 0x0, 0x0) splice(r0, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r3, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 490.143332] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. 18:37:23 executing program 3: socket$inet6_icmp_raw(0xa, 0x3, 0x3a) socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000001440)) socket$inet6_icmp_raw(0xa, 0x3, 0x3a) syz_init_net_socket$x25(0x9, 0x5, 0x0) r0 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r0, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) r1 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r1, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) r2 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r2, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) r3 = fcntl$dupfd(r1, 0x86bb5bb736baf255, r2) ioctl$PERF_EVENT_IOC_ENABLE(r3, 0x8912, 0x400200) syz_mount_image$hfsplus(&(0x7f0000000240)='hfsplus\x00', &(0x7f00000002c0)='./file0\x00', 0x0, 0x0, &(0x7f0000001300), 0x0, &(0x7f0000001340)=ANY=[@ANYBLOB="73657373696f6e3d3078303030303030303030303030303166662c706172743d3078303030303030303030303030303036392c6e6c733d63703835302c747970653dce6aca302c747970653dff"]) [ 490.243008] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 490.294611] loop5: p2 < > 18:37:23 executing program 0: r0 = creat(&(0x7f0000000140)='./bus\x00', 0x0) fcntl$setstatus(r0, 0x4, 0x46802) io_setup(0x100000000000c333, &(0x7f0000000180)=0x0) r2 = open(&(0x7f0000000080)='./bus\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0xb, 0x12, r2, 0x0) ftruncate(r0, 0x48280) getsockopt$IP_VS_SO_GET_VERSION(0xffffffffffffffff, 0x0, 0x480, 0x0, &(0x7f0000000100)) r3 = open(&(0x7f00000004c0)='./bus\x00', 0x2, 0x0) sendto$inet(0xffffffffffffffff, &(0x7f00000012c0)="20048a927f1f6588b927481241ba7860f46ef65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95c25a3a07e758044ab4ea6f7ae55d88fecf9221a750fbf746bec66ba", 0xfe6a, 0xe, 0x0, 0xfffffffffffffe2b) ioctl$F2FS_IOC_SET_PIN_FILE(0xffffffffffffffff, 0x4004f50d, &(0x7f0000000040)=0x1) write$P9_RATTACH(r3, &(0x7f0000000000)={0x14}, 0x14) pwrite64(r0, &(0x7f00000002c0), 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) io_submit(r1, 0x45, &(0x7f0000000540)=[&(0x7f00000000c0)={0x0, 0x400000000000, 0x0, 0x1, 0x0, r0, &(0x7f0000000000), 0x377140be6b5ef4c7}]) r4 = creat(&(0x7f0000000240)='./file0\x00', 0x0) write$P9_RREMOVE(r4, &(0x7f0000000280)={0xfffffffffffffcd2}, 0xff7f) r5 = open(&(0x7f000000fffa)='./bus\x00', 0x141042, 0x0) fdatasync(r4) getsockopt$bt_hci(0xffffffffffffffff, 0x0, 0x0, &(0x7f00000003c0)=""/170, &(0x7f00000001c0)=0xaa) ioctl$EXT4_IOC_MOVE_EXT(r5, 0xc028660f, &(0x7f00000002c0)={0x100007, r4, 0x9, 0x8, 0x2}) 18:37:23 executing program 3: openat$selinux_attr(0xffffffffffffff9c, &(0x7f0000000040)='/proc/thread-self/attr/current\x00', 0x2, 0x0) unshare(0x6e000400) prctl$PR_SET_DUMPABLE(0x4, 0x0) sendmsg$WG_CMD_GET_DEVICE(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f0000000000), 0xc, &(0x7f0000000200)={0x0}, 0x1, 0x0, 0x0, 0x4}, 0x4040004) ioctl$sock_ipv6_tunnel_SIOCADD6RD(0xffffffffffffffff, 0x89f9, 0x0) sendmsg$TIPC_NL_MEDIA_GET(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000280)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000340)={&(0x7f00000003c0)=ANY=[], 0x70}, 0x1, 0x0, 0x0, 0x24008054}, 0x1) [ 490.677479] IPVS: ftp: loaded support on port[0] = 21 [ 490.682933] audit: type=1804 audit(1603046243.413:104): pid=2757 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="open_writers" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/95/bus" dev="sda1" ino=16561 res=1 18:37:23 executing program 5: perf_event_open(&(0x7f00000003c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6_udp(0xa, 0x2, 0x0) semctl$IPC_RMID(0x0, 0x0, 0x0) ioctl$KDFONTOP_COPY(0xffffffffffffffff, 0x4b72, &(0x7f0000000300)={0x3, 0x0, 0xd, 0x0, 0x0, &(0x7f00000007c0)}) r1 = socket$inet6(0xa, 0x80003, 0x7) ioctl$sock_inet6_SIOCSIFADDR(r1, 0x89a1, &(0x7f0000000040)={@remote}) ioctl$KVM_SET_SREGS(0xffffffffffffffff, 0x4138ae84, &(0x7f0000000180)={{0x4000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x7d, 0xff, 0x0, 0xfc, 0x7f}, {0x0, 0x3000, 0x0, 0x2, 0x2, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7}, {0x5000, 0x1, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x22}, {0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x5}, {0x0, 0x0, 0x10, 0x0, 0xd, 0x0, 0x9c, 0x1, 0x20, 0x0, 0x0, 0x3}, {0x2000, 0x10000, 0xd, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6, 0x0, 0x78, 0x40}, {0x0, 0xf000, 0x0, 0x0, 0x40, 0xff, 0x0, 0x66, 0x21, 0xc0, 0x0, 0x1}, {0x100000, 0x0, 0x9, 0x4, 0x0, 0x81, 0x3, 0x0, 0x1, 0x18, 0x0, 0x9}, {0xa004}, {0x0, 0x1}, 0x0, 0x0, 0x4000, 0x40040, 0x0, 0x1101, 0x0, [0x0, 0x0, 0x100000000000]}) r2 = socket(0x5e4dd2c586a922da, 0x0, 0x0) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000040)='IPVS\x00') sendmsg$IPVS_CMD_DEL_DAEMON(r3, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x20, r4, 0xd9dff3b9e43d8267, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_DAEMON={0xc, 0x3, 0x0, 0x1, [@IPVS_DAEMON_ATTR_STATE={0x8}]}]}, 0x20}}, 0x0) sendmsg$IPVS_CMD_FLUSH(r2, &(0x7f00000002c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x10000000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000340)={0x4c, r4, 0x400, 0x70bd27, 0x25dfdbfc, {}, [@IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_PORT={0x6, 0xe, 0x4e23}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x200}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0x3}, @IPVS_CMD_ATTR_TIMEOUT_TCP={0x8, 0x4, 0xffffffff}, @IPVS_CMD_ATTR_DEST={0xc, 0x2, 0x0, 0x1, [@IPVS_DEST_ATTR_TUN_FLAGS={0x6, 0xf, 0x482}]}, @IPVS_CMD_ATTR_TIMEOUT_UDP={0x8, 0x6, 0x101}]}, 0x4c}, 0x1, 0x0, 0x0, 0x40800}, 0x44000) getsockname$packet(r2, &(0x7f0000000280)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) setsockopt$nfc_llcp_NFC_LLCP_RW(r2, 0x118, 0x0, &(0x7f0000000000), 0x4) ioctl$sock_inet6_SIOCADDRT(r0, 0x89a0, &(0x7f0000000100)={@local={0xfe, 0x80, [0x0, 0xfeff0000]}, @empty, @loopback}) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28031, 0xffffffffffffffff, 0x0) [ 490.826791] audit: type=1804 audit(1603046243.413:105): pid=2757 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="ToMToU" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/95/bus" dev="sda1" ino=16561 res=1 [ 490.939151] audit: type=1804 audit(1603046243.583:106): pid=2759 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="ToMToU" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/95/bus" dev="sda1" ino=16561 res=1 18:37:23 executing program 0: perf_event_open(&(0x7f0000000100)={0x2, 0x70, 0xd5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) getsockname$inet6(0xffffffffffffffff, &(0x7f0000000080)={0xa, 0x0, 0x0, @private1}, &(0x7f00000000c0)=0x1c) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000140)='l2tp\x00') sendmsg$L2TP_CMD_TUNNEL_CREATE(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000001180)={0x5c, r1, 0x917, 0x0, 0x0, {0x1, 0x0, 0x7400}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_IP6_DADDR={0x14, 0x20, @ipv4={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3], [], @local}}, @L2TP_ATTR_PEER_CONN_ID={0x8}, @L2TP_ATTR_ENCAP_TYPE={0x6, 0x2, 0x1}, @L2TP_ATTR_IP6_SADDR={0x14, 0x1f, @mcast1}]}, 0x5c}}, 0x20000000) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r3 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r3, &(0x7f0000000100)={0xff73, 0x0, r2}, 0x10) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r5, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r5, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r4, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000400)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @gretap={{0xb, 0x1, 'gretap\x00'}, {0x14, 0x2, 0x0, 0x1, [@IFLA_GRE_LINK={0x8, 0x1, r6}, @IFLA_GRE_IFLAGS={0x6, 0x2, 0x1}]}}}]}, 0x44}}, 0x0) sendmsg$nl_route(r3, &(0x7f0000000440)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x220000}, 0xc, &(0x7f0000000400)={&(0x7f0000000280)=@RTM_GETMDB={0x18, 0x56, 0x1, 0x70bd28, 0x25dfdbfd, {0x7, r6}, ["", "", ""]}, 0x18}, 0x1, 0x0, 0x0, 0x200000f8}, 0x400) r7 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r7, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) r8 = openat$cuse(0xffffffffffffff9c, &(0x7f0000000040)='/dev/cuse\x00', 0x2, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000400)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @gretap={{0xb, 0x1, 'gretap\x00'}, {0x14, 0x2, 0x0, 0x1, [@IFLA_GRE_LINK={0x8}, @IFLA_GRE_IFLAGS={0x6, 0x2, 0x1}]}}}]}, 0x44}}, 0x0) setsockopt$inet_pktinfo(0xffffffffffffffff, 0x0, 0x8, &(0x7f00000004c0)={0x0, @private=0xa010102, @multicast2}, 0xc) write$FUSE_BMAP(r8, &(0x7f0000000000)={0x18, 0x0, 0x0, {0x8001}}, 0x5) 18:37:23 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @mcast2, 0x4}, 0x1c) syz_open_procfs(0x0, &(0x7f0000000440)='pagemap\x00') 18:37:23 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r0, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r1 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r1, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) accept4(r1, 0x0, 0x0, 0x0) r2 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r2, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 491.114227] audit: type=1804 audit(1603046243.613:107): pid=2757 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="ToMToU" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/95/bus" dev="sda1" ino=16561 res=1 [ 491.218215] batman_adv: Cannot find parent device 18:37:24 executing program 2: setsockopt$inet6_MRT6_ADD_MIF(0xffffffffffffffff, 0x29, 0xca, &(0x7f0000000000)={0x8, 0x0, 0xdb, 0x7}, 0xc) r0 = accept4(0xffffffffffffffff, &(0x7f0000000040)=@ax25={{0x3, @netrom}, [@bcast, @remote, @rose, @null, @rose, @null, @netrom, @null]}, &(0x7f00000000c0)=0x80, 0x800) setsockopt$inet6_int(r0, 0x29, 0xc9, &(0x7f0000000100), 0x4) getsockopt$ARPT_SO_GET_INFO(r0, 0x0, 0x60, &(0x7f0000000140)={'filter\x00'}, &(0x7f00000001c0)=0x44) getpeername$llc(r0, &(0x7f0000000200)={0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, @local}, &(0x7f0000000240)=0x10) r1 = dup2(r0, r0) sendmsg$inet(r1, &(0x7f0000001840)={&(0x7f0000000280)={0x2, 0x4e20, @remote}, 0x10, &(0x7f0000001740)=[{&(0x7f00000002c0)="51366dbe053f3ed1a50fd265d0e65bac74e2b49961eba6d3a0d59caec00c6b973d9964f5c540a51075a10baaa02237873ea3838223e9f67baa1288a8002454360184acfd981c14ea385bfaaf5adf19183b45be322067426ff018e68373c99676818222e5ce9ae414ffdb5cf0bdf02016c8c4547b29f203c4c02d2e7418f94b5eca6fe6b412e6fe10af376490ccf6be069c55cc7b4348030370ee9defae7264e0f96af2a391", 0xa5}, {&(0x7f0000000380)="c27f7df8a92d901138a716778a9560356745f56c1986befa50e136ae2a1f4235ed0279ca89d5181314d733082d5d40053ec01f2e7a606f295e17d9e2926e11106477f894ff1f3999c464c3a874bedf10bd25e127e2fa776d9fceceae03b4d0f2e32ed9dd121482fb27cf9c81a74c43adba9ed2560a07216821b6c9c25688bd3d627aa601a52f94ec29662b304927f2c2cae1f7f62e874f5ec3387646748ffa6318ded8fed980f1d225de11aaac353e12a0aa33f513f903edaa07abaf02417e29757d1799877e5a5d557df8f325b832194432f7a67a39d09018ead423c510ce6da3a22721150b56237fed80e19f7cd5c470930dc285a444a7ab3dcbc600b60d7acccadbf341055413e9348bfc948f35812a6b8563b8dcd6f60abca48c3317df37eb1b583afe130fe68c711977343377dff631fcab41ce4859d5561971af4ea855413d20e668bc92cd75b52b0f44c042c459a82fd68ce9e265c98981f41cf31b1829cc35d60bbf447ad7163dcc0afddc70ba85b4cb8e3509bd429a4020eb54e0fb77a093b6e7d28adb51ba51c40bb512d45efbf85f40d37c84129e87bb2c7026c4689a59ae036294532cd577429ded2bacef7be5d3837d254208929d17eaea06e421721003db6fa577cf5ea10d9ba9151ffe112cd8a5f31597f6b973be34cbc9a8bb4fdd97c9b2c00e339c6cf70cbb8b78802b4a28456a4258a82beb18feb4670d1f6a4368a29fbc7fec696feb2e4325fd92b34d4fbdd77cd6960b19599779a4345d875b4253d8f29ebb5e37cd7f36dc9f65198f70344a71d95673252c5d324426175ac1c8a200d5e4afa2d25db9b3511943df2cce58cd9c8c376859bc2178290543d6a1d8041cfb1b0de0010b8a7c28835d1e394f5dcab9955c0ec467ec4d33c972334f3da1a7481e9575a36e7d2b5a1fbb97cf0d1656fce9f32b9ce4321cc5774b5690f87f7a6c41e9d546fc790c81e3e94ac23ba87bd03321fa837bf66ddf0fdbc959f7e806784d12a41445632d97c182f4c91a0afdd7c72d9920f79559e67799a413d10739df3ffd21eabde5268d938ab2460b1e18108446a9e3e086061fa357582a23a8373d6737b9d6974e3cc607b8525f5661a58c66879819722dac6c9b7baa4cd4ce1734d1538efe3f12c993e867552ed67c23690b898f82fddd4ea47f428c3aa57c8a6ef1c7d754c4a933f7b4b9251d476de6a780227a68d213c72e1ee31fd26ed3ade085c0c264ed4c57fa5470c9395ab5da1305d7b16c342369b4139eb65937636cb046077585f99a642c2afb6ede900ce9011d75aee753bc26809c5cdb7e38c9a923719e1f3ae1a575e01e207a2d1ce161e035ca6ac963ef9524aab01f21cdfaedf6a7495fc78e78d3dd9a948f95e82cf2c4bbe753c5ff9a44290f6115aab0ec95d829827f5d2baca82d4473910453a484bef1dd85dd162d0beaf62ee3604a6eb26b3d5abdec80ceb2b30f1f3c2caea1ce7a45fad4d0c1815520e87ac8563bc5071d5cc529a5b41b42cb6baca782f2c7e4af2b8ac74c320adc724e3844ecf7883d329da7f6868fb969c724aa8cb48010bee2161db3ef53791041161efc8dc0e72a6594ea9166971639c5c0d1316f90454f837690da1cfb66f08c58dccc0c8d32a779ce640f7fec6bff09192d2e268d82d54607b92ca1e32cde8a4385bd378190e1ceb0c0470ba1060e3fc47b89a9d70565355bd9f7db5b59ce7b24f5c1533139dc7ded15cb7653e0181882c9e96f7e97b48352b50ec6b4dbac9c50cde3cc3690751059318ac1432bf463e4a73123c107e87ecc551e649047721f799b038a83cd11c5a7c624815622aeefd341f11f09c53ee68d37de38e2eeadc18ed8783314b41a1b8cea0e1a34ef1916a3dc43e361399dce4bf5e6203a0d01ba6510c0798a2ba723ad4c748432599870fd007e500a1099c278468ad60d95d80d1e7cd5b05db74d261acff44a3e903f18fa697e53ee657491ed2c0403934482d4406a1e063da77a21d7058f192fc5f9d9f3ad0ba388b19bb3035ee60d5c3a107f4ba668d3a217f0c60ede0ef14a1623924468a204a5673862f02a291a1f68342d23e34ef87d85e5ebf61e3de528b25323ebed2f1b090c4de2549f820099bc942cb7382221d2ea48fa8ac73a07611808d698bfac74d8209193850718dd7e69ab90c0c02669ec6b2b5a1deb8fff090628913ff4c9206be5ad468f118f8771ec4759a0f262be19f6bce630edff6cb1b6cc47561d6d60600678d503dfaf0eb478182978b987f4cff611c751ca5311cde33b462ef714131e0eea980032298bb13e438f9fe061c8bfbd7cd61c35320ba5c049e72c5aa883522c319320efa0b5cc93b12792c2bfba19f683d05616d2b81fd610ed81e8ed10ce2156a5ab9f51c2240b3748123899022cc5e3385af9e575c7c6013429d85be8e361fa06e3c1ce616a5b583ab141f563eccfcdcc4d8290c030582ef5fe5553de3dcd095c7bd03a394c193eabffb8f9bc4eb0861c46641f6e6c99c6ae59e55fafa3a7314fb3b6691e3440a24c5b55f62d04b9ee4153cd13b9e48ca96f0c4969fd6e52a0863315c6ea59d8814c870147fa5a47629b5c5b87e3678a05ca228961e155cd790e9c3eb3b3485e521c153ae9a4f0d617d1068ea1f339a9dcfdd1a9dc49fcb874de1c702ee4594002b4e2318197e12fd4915f24b480ae602d16d090ff6a8efda40a0efb6e15f95282d7c0a48ebd376c47bd7d2f09d5a4e6a95404d5a621f3b7c5cec63c370dc6219075fd4161773c754503f22023831bbd7b34499189a413c6875b7fe5d0f30ba0d31fb1ff88b99f318714d6d70b0cf1a97352a43094e4c86060bbf951852404b32c6f601c5b9085b8eee0610be96afe46f332580a5c826eea64897a2d727ba87c181155c1b902c7946d3f2dc1a7b43458d2e6b4fe599b953d1cdf6c7ce8322219b9cd535a42e782543d97a471faef9dacfb6d3ab61c5007a72ab73bdf5b21a0fcb6bc0344aa34cc9dc803d6d64615cb5134eadbc1aec1c482699dd91f6c1f5de5399cbdf712c9b4271392c9ac7038ea81d242a8ab52ed7d8e7664a3efac256df5b9cd09334e19614ae4d4f70d6820cbc59ad8f42e05efc4b0424b9d2d3dbe4ebd0f210e8cca7517057f16981a4e05f00168be6d12558086260d45361cabd5c15e4c1b15ab594862909da491b2f075b35487ff795a82dae5d1c4a703778dd89fa3d1051464eaaedb4c30b7d1cc09a5fa14a0ad574d2c29b2dc5e9980b2cd0e76368e056bf10d88485123be835fa23941aab042e9b1aa9d64c19a5100fc23120f8c928428aa61466b630a6961fd3d188b500eb822a6387fb48bb0b967dfab4708dc57fb2534736b018dc3701c5a4dc8ba66ab10a263f44edbfded7bba40f47a556e9d9040d2efb27bb3c4bc6aecd850ac075446e627f4801b55ae46a79096c9106bce5943f0a6ad35df2ad3bf2bd214b072c0db576b14a4e7db598012aac1b07e1ee2af12ded2f6c5db8249d93e2076672abae0caebd5c62e8ce39b86c7fea745f3b64af0efa936af5ab86d6aea9d5935ef751dab1516e846069aac9f00c8eac8352c48a40717ba472c8f42d60d4c32be49f7d6dbbb85de65a01af6f408d9d0c68b8a9eefb9c4699ef7e051baa336e9cbf16bd896f496214ecfada3a45352aed914c96241726a49ceebd671290c0815bc82de37b4bc8f2aa6cc1e03bae72242cbb8bf6fd57d37be38a26c11c45149a98dfb0fb00681b6e15565173e9d8ed6f644d37701d25c66bbe2493c1b3d62f429d32855518f996e85f097923139531ffb6965d4a8a0280e77d458ec53b8a27f34750cd8080f6041ad555f9665b21b4d7211662fc320029fe142afdf2f5759c08d02b309be71c0a097792e795b68455d7e5ba1c778d8ddb48aed411eac47f6ffe82917365ff543dc26c425be5c5c17100b4fefbd7e51f92e77332ada91b9072094b0620e2176aaf6db6b8a772c6f14cb9af0ce6b0662a5309ce3e4b6b210420dc9d22e49f8b044394a8fac3d166d6678f848180d8083f03cf8b1ec743e5695c90503611443bcc44c4f1b9393dae8b7e4a8b88d87f39b9f6b6a76d684efd0c48c1c566c6617bc01a7e99b973cecc4925fbfe01c017aa2130afe3278249a9d40c817a0f51561b27cf9ca7d7d9b3c17607403b666ac7dfcf0dfdae8fa00f42e766bab4b781ef74fd9a8c3038512543263e98810cd08fe3c83cb433b18cfb2bf00e308d9bc77d22614517bde2f2b996f4cd415fb9f44499061731c4b3deae44841950985b0e7ada0cd5ecfdf9c88c63cdebf1054f871794f9cf01106eff97e882e2bc07d0fcb14e9669e16528caaed3c7bb89fb39312200049a0bcb7edd3516b908a32c4aaae36f1376b5f29c6803d7a0fea53bd88783ae85a7ae9a54719a8010bc0aee7bd36b89699d983fe4b98133f1e80913b2faab84bd37e947caad56ae734e9a2f2b06463ae207dd00b91cd78f8a99452a7e10b55d1816b45e17be8f690fa7c2bb14bf4986e383458cedf1cc8eef0eea22c6a5756d31cc6c8b653eec5481f763085949d613a8c1b86a606febadb51b837630be7f3748698e1656f96d7a57c0d7784207d0e80f36421a953576d4196f628db51be492e8ccf33c51a4a68fc6475a73d51f1d3e3ffe663b3de6e2337683cff6f595988d6ae443328ccef4168bc13351c2d0081da914945719c54ab9ad5a13c27add3eb178947e0c632bc0247fc08ba53bd5184e1a0e119ea31483c96c80fe6d38b238713a5c159a14773c83479f8146bf3e76e7dc4813f0f64a475bf1116109ea53c88b2c5110cadd9dc521b60b330f44951216242afe91ef3d7457eb2ceda705db6c608dfbd60b5c144debb06736681f1dabb990bccfaf11f92565d09f3c444bfcc7889ab30e644421e725eb7f5f20441ad131a206ce15b492ed67c2cc82ebe0d883800a5f6925c2af6ce7e676d0fa4c923a3f51b703478a25c5b69053ced93859a20218af1979acdedf4ad0aad971df1b270c528574db1605662c970672b0deaceedc4c3d9cf5db4d29d99a31388778d51a8627f7247b83a2021a452442303242c3d04a6d4855e404f14ab7edd7af99e80fa0068042510f1cb2c4e1b1203599707e1e555bc2c57d415917d2bd29497ba39c3547175a1f52a0eb0a7f3894c0cdc6d370a6ed6872e08e32ca4ead2941f69ba26ee50db649958c719cdd3ff67c3076a516a03fe67d6f24542d509e493841f93a7fe743fe62736ffbeeda65930eff92cc21613f471420bc793611db7db827a776211622e2f31dd565d91de493122aef9f9e799b4e88c30b4150a66cfbade227137597d7601232aa3ee7713b915f0af1ef425606152af6099ec55e630ee39881e085856e3c076b696dce49cacda017548858d8cf00da09f259f823fa1edc0aa4b0979df4a7fd55b6fadee52da77945f81c62ffa60d7b74f11c59eb2c9c8448132ac3069c77dd8b5ae90aaa2a6b9ccb7e7ae87d09cc93f5b5ac890c4c350554a6aebe0ccb9700bc5f84df9ba2b42eef0430f7299a49d6de46b766cba29a67a0d5e47c954b4482483b37d014627f942f354d1af3631a196555b0e15d58e5324148b4bf14c1de8981f2edb0be5f0b81ea8a7a74dc0cee02e9bff3337e6bac523d768aa87975303d6e68186a5782d5580bf032927236fdc080e2f72bd440f3e7b73d05c3b9683d3dc637532c8d940401795e9791616de2cc367085ef4ea7a3a06cb6bb800f15a537142b6f6f549aa74ad0501a7b4883c28039529f494da8fb11baf8963a5f96e4b56ce76a2cb4a6e60fb49e34cae", 0x1000}, {&(0x7f0000001380)="aacc29ee145b617f40b70376e2a02fd87913aa7bcbdba05d4edea154362200624bc6aa5b9b5839c4aa7e28add7de1d4d2a96bd2339f8f0d03a23382eafba9b1624dd6292f00d42a3d03f98a58ee4e15dd88e0610c8b0de2ccaa64a62ee9eda128873985ffcdfc02097c2ed5439b45b42936282a92927d9e7eb2cf671a1ae7974bdaeb0ac07dd798773586bfb19c261c40a3c4ba627c133c7a2910f73185e1f820cb912257077", 0xa6}, {&(0x7f0000001440)="3ae5f17a02870835d027fc45bdabd245e5c43b6039fd59c621a64b3cad6cc560ab3de7ee55fd0663c326f6054e1b6934328d82ccf4639d5f38d51814ad242def2467120ae2b86e0559f2bad3de0cb16015a870fc5ae2fa7c0ae480089b044d836c803cca257296d14ebaa101ce71522f5fac28d743f2de3912000061fbc9d9e56ce7f9ab19e27719e1a38ff847333b3af304b639c7ebbeed50354063dae6b07b862db20ef9397172938b51e4ca84d6025105c8a0efbb98acea54a5c2927822", 0xbf}, {&(0x7f0000001500)="7accb61cb3c837044201a3998cd87f717525d67e9b9eed2a136ded782e325517d73d5a1e843ab6fbaa6632206777b668dd94be60cfa976b3b7615067add400d8d8c8cca64305c037146b98704f41130c9527ac", 0x53}, {&(0x7f0000001580)="90de3dd1d310d0e7d131b6877d229679f5fcb2302c658b6d07528aa7bc362ba162f65edcc0133f419ddc151a1ff83a84e0be7b904103a4ecf24e8f367abfc17d34ccb0fee21c87243072e4067f2ebe5ef13dac5949db1ce26ce69653a851", 0x5e}, {&(0x7f0000001600)="adaf8c7b09771d9b17ac1a32976321f009f5490c7077dee6139b82e842e50c42d6376987f94febc356aab0a713428d63f2018ad23be1fa5fd2dc2381a0e43e9c82a0ad464ac58e06c8e768cfc735ac56661f8062efc6004e528a9ccc18677973939f9b3b68440b012c48534223a9325c10630b5ebeb2526b84c691d97143629c48ebb7a9d6f0a7105bf7c1751b385db0867c673f7c32541f63c777a2df2fb79d1f34f42cb808112f68464a83ee377fe13a0865abbbfbfcde42d26500f2df442aa2038faab3d8e3d9026b4c09814168ec091d1f0f87b5d05010", 0xd9}, {&(0x7f0000001700)="a105f396062ff29d8fc2dfd2e4c891bd83f491a430116daab5616ce96bd21e04d9f4df053d7a59c50e3bc71f53d4ec50afb4f824d0b2fda7e5", 0x39}], 0x8, &(0x7f00000017c0)=[@ip_pktinfo={{0x1c, 0x0, 0x8, {0x0, @loopback, @rand_addr=0x64010100}}}, @ip_ttl={{0x14, 0x0, 0x2, 0x4}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xaf}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xb8}}], 0x68}, 0x40000) ioctl$DRM_IOCTL_GET_CLIENT(r1, 0xc0286405, &(0x7f00000018c0)={0x4000, 0x7, {0xffffffffffffffff}, {0x0}, 0x27b, 0x5}) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000001900)={0x0, 0x0, 0x0}, &(0x7f0000001940)=0xc) read$FUSE(r1, &(0x7f0000001980)={0x2020, 0x0, 0x0, 0x0, 0x0}, 0x2020) newfstatat(0xffffffffffffff9c, &(0x7f00000039c0)='./file0\x00', &(0x7f0000003a00)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x0) fsetxattr$system_posix_acl(r1, &(0x7f0000001880)='system.posix_acl_default\x00', &(0x7f0000003a80)={{}, {}, [{0x2, 0x2, r2}, {0x2, 0x3, 0xee00}], {0x4, 0x7}, [{0x8, 0x0, r3}, {0x8, 0x2}, {0x8, 0x1, r4}, {0x8, 0x3, 0xffffffffffffffff}, {0x8, 0x4, 0xffffffffffffffff}, {0x8, 0x7, 0xee00}, {0x8, 0x4, r5}], {0x10, 0x2}, {0x20, 0x2}}, 0x6c, 0x3) ioctl$ifreq_SIOCGIFINDEX_vcan(0xffffffffffffffff, 0x8933, &(0x7f0000003b00)={'vxcan0\x00', 0x0}) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r0, 0x89f0, &(0x7f0000003c00)={'gre0\x00', &(0x7f0000003b40)={'tunl0\x00', r6, 0x7, 0x700, 0xfffffbff, 0x400, {{0x28, 0x4, 0x2, 0x15, 0xa0, 0x67, 0x0, 0xd2, 0x4, 0x0, @dev={0xac, 0x14, 0x14, 0x12}, @multicast2, {[@cipso={0x86, 0x26, 0x3, [{0x5, 0x12, "d5abfea76378813137fb95facf1bf95c"}, {0x0, 0xc, "ccf8d0407252e9350d00"}, {0x0, 0x2}]}, @ssrr={0x89, 0xf, 0x6, [@multicast1, @broadcast, @broadcast]}, @end, @cipso={0x86, 0x39, 0x1, [{0x1, 0x7, "117b1970a0"}, {0x7, 0x9, "a09e806cfeff3f"}, {0x1, 0xb, "bf7847aea17a777b75"}, {0x7, 0x8, "8ce047185a98"}, {0x0, 0x10, "65e43d210da1bcf9c6b777ec7d33"}]}, @lsrr={0x83, 0xb, 0xc4, [@multicast2, @private=0xa010101]}, @lsrr={0x83, 0xf, 0xc6, [@local, @private=0xa010101, @dev={0xac, 0x14, 0x14, 0x20}]}]}}}}}) ioctl$BTRFS_IOC_DEV_INFO(r0, 0xd000941e, &(0x7f0000003cc0)={0x0, "e5e16514e729f61b0d08e92f86a7ec0d"}) ioctl$BTRFS_IOC_SNAP_CREATE_V2(r0, 0x50009417, &(0x7f0000004cc0)={{r1}, 0x0, 0x0, @inherit={0x78, &(0x7f0000003c40)={0x1, 0x6, 0x9, 0x7, {0x8, 0x9, 0x5, 0x9}, [0x64b0, 0x81e1, 0x10000, 0x5, 0x3f, 0x40]}}, @devid=r7}) r8 = syz_open_dev$vcsa(&(0x7f0000005d80)='/dev/vcsa#\x00', 0x2, 0x0) sendmsg$kcm(r8, &(0x7f0000006380)={&(0x7f0000005dc0)=@can={0x1d, r6}, 0x80, &(0x7f0000006000)=[{&(0x7f0000005e40)="dcb0a3de3d1c00e18c7b28", 0xb}, {&(0x7f0000005e80)="60a0c53f4def4c64d7964e52c724bf40dc6142289ec8fdb7fd5bae029b21dec608e8e8fbd7daff110dbc2dac3754cef68ccc7a9b21bc451fb3bbc704b6580b92c8216a25237ff48eb53894ceec1f363d4737e5fe400110a9af006c569cdfabc45a6fd4b2f14bb0365b1d952a7e606963559424eeb0a1411bc22a88dc", 0x7c}, {&(0x7f0000005f00)="8f642f567a81594aa14d0a162777e0018f21cf8a65bb1a903b6441899824693448968eb12801bb5ec45623acf0c5c41e87d408b77efbc32f02f864527fe1ca40c4ebf954b3d7a9d62c92ba0531a594708c6beb4d44822ea166a84da06076001da3a84e9c9d8eed01dac712b76d21b5b5e8a26679503c516038944ade472397e3c112c384e9f58815175a98ec3766e28bd295d14141e2962591493736ecd33423be7f0e14d28c0c23c07675a25ca31699593c79eedc3ef7ba7c9dee034506cf8823", 0xc1}], 0x3, &(0x7f0000006040)=[{0x20, 0x115, 0x40, "837f4555dccac32ade6a409dcbbc56"}, {0xe0, 0x116, 0x8001, "1d12983049f3ba0505135e197cb6f56195987c32d38be25e9265e3b8657a3754d0fac12d8f22c285b81d1b39b3109bbd502436623d624487d18fa1e9bee0ab2fac6be65eec2ae1774dabd8b58b5d1c3d2a6257fee5a1bc7d668eaacca6b1c0d5610b8b5cf189d294b8ef2d86a63ea2e5a72418786ebc4ceac103844a738e842d91eb33580af1edc22bd46ddf59bc60715ea9820f7e625f0c018cf6bdf036efa02ba679097848d5f9ec7b050291fe47e03fd9447bcb45e8debe75132d4416b54e6e6544e527a5624c5c90827d"}, {0x48, 0x117, 0x43, "177855adadd9ce3205fa6f8cf6082f18c3665deba3a164cc3c86fe54f970234584a2cc17270275b89365f07b96ee91b6233d"}, {0x68, 0x3a, 0x0, "dca300ddee5d2a8a73230eccec4b295f585cfab42129d81936ff598752cdc057442daadb9c0fc76949308b3d446da085992a851190b2926de01786484b91234799b5293ef789ebe77bb167a8c2c0613b36e1"}, {0xe8, 0x11, 0x1, "5a4deb55b8290e39487728f449b80c1e051907908cd74f7d1e1485d7d00ec6b55467a0a1809eea2c90cca3afe00d62236ea097536a178afd5025c0e99b41200d70bace64422aadc324dc2f24b84c12e56db5073630352241a3b593ed6456afe5656188cff4ffe9eb7e8458663a304a057c9a1b838c048253cab6e64124ac7a2992524e08cbb301b8ef7202fd3a5003a3688a268e4165866638f1a87139aba56799133a16fca689b049bed8a100876172cfcdd033ccca7f3ed4a8dac8787769149b756e65721bdba83ac3ac18da9483570462503f9c9a0975"}, {0x68, 0x103, 0x7, "9d148038fc9f841f3ce839fe2a1e799585de4c9fc98857733fe149104ae4db954c439ac8464fcf94661fbead437306e970addb71472a72fc88c4b199dd4281437c4c185d67f166ddf530077c79ac1441928218cd49"}, {0x38, 0x116, 0x6, "534253d0d1a535c9f7d781bffc4cac696243a0f8fa1ada4acb1bd1095f712a5ddc71"}], 0x338}, 0x40000) r9 = openat$pfkey(0xffffffffffffff9c, &(0x7f00000063c0)='/proc/self/net/pfkey\x00', 0x2000, 0x0) setsockopt$inet_sctp_SCTP_DELAYED_SACK(r9, 0x84, 0x10, &(0x7f0000006540)=@assoc_value={0x0, 0x1f}, 0x8) [ 491.260828] audit: type=1804 audit(1603046243.623:108): pid=2759 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="ToMToU" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/95/bus" dev="sda1" ino=16561 res=1 18:37:24 executing program 5: r0 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000001200)='/dev/dlm-control\x00', 0x0, 0x0) flistxattr(r0, &(0x7f0000000240)=""/54, 0x36) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="2000000040000000030000002d0000000f0000000000000002000000020000000080000000800000200000002bc4645f2bc4645f0100ffff53ef0100010000002bc4645f000000000000000001000000000000000b0000000001000038000000c20200006b0400000000000000000000000000000000000073797a6b616c6c6572000000000000002f746d702f73797a2d696d61676567656e373836333438323637", 0xa2, 0x7}, {&(0x7f0000010100)="0000000000000000000000002f527b43270a4164871303f1137e5908010040000c000000000000002bc4645f", 0x2c, 0x1}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000200020000500000000000000000000000000000000000000040100004d", 0x39, 0x540}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000787371fe", 0x20, 0x7e0}, {&(0x7f0000010400)="0200000012000000220000002d000f00030004000000000031245cf20f0062e6000000000000000000000000000000000000000000000000d4189ee9", 0x3c, 0x1000}, {&(0x7f0000012f00)="8b8b0000001000002bc4645f2bc4645f2bc4645f00000000000004000800000000000800050000000af3010004000000000000000000000001000000030000000000000000000000000000007702000000001c000000000000000000000000000000000000000000000000002f49000020004f3f54a9d2a254a9d2a2000000002b", 0x81, 0xc0}], 0x0, &(0x7f0000000080)=ANY=[]) 18:37:24 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) r2 = dup(r1) ioctl$PERF_EVENT_IOC_ENABLE(r2, 0x8912, 0x400200) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="3cf5ff0000000000000000009b11e8ef7b4560b5bfd32f000000", @ANYRES32, @ANYBLOB="fe2f0000000000001c0012000c000100626f6e6400000e000c0002000800110001"], 0x3c}}, 0x0) 18:37:24 executing program 3: r0 = socket(0x11, 0x800000003, 0x0) semget$private(0x0, 0x1, 0x98) r1 = add_key(&(0x7f0000000040)='.request_key_auth\x00', &(0x7f0000000100)={'syz', 0x1}, &(0x7f0000000140)="6f1edf48231039cb53277609af25c510ea223be5e6c984e6777532662a9ade6620f0caf16be8262ac5a0b2bb0e6d7019fe53fc029231bed6acb49f68442c3dbade804148d1e8eef89cf931210580f230f2092545bf6194701037566f67fc6d57de5d1f20dd9554d2691f8567cb2eb2e7047addffcc3ae2812f4adf9d88111583a760366e8499a05a1b6a59041b161e3de664145dd819da337b050ead5eb92fd60212a4dd383d13566d4a18622871c0e457e8eccb5ae73c22e6908e70651036a0f73c19a69977f3b25ad2e99083da28", 0xcf, 0xfffffffffffffffd) keyctl$instantiate(0xc, r1, &(0x7f0000000240)=@encrypted_load={'load ', 'default', 0x20, 'user:', 'red\x00', 0x20, 0x0, 0x20, [0x6e]}, 0x2e, 0xfffffffffffffffd) bind(r0, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r0, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) r3 = socket(0x10, 0x3, 0x0) syz_open_dev$ptys(0xc, 0x3, 0x0) sendmsg$nl_route_sched(r3, &(0x7f00000007c0)={0x0, 0x3d, &(0x7f0000000780)={&(0x7f0000000440)=@newqdisc={0x2c, 0x24, 0xd0b, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x0, 0x2}, {0xffff, 0xffff}}, [@TCA_INGRESS_BLOCK={0x8, 0xd, 0x1}]}, 0x2c}}, 0x20044040) [ 491.371980] audit: type=1804 audit(1603046243.623:109): pid=2759 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="ToMToU" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/95/bus" dev="sda1" ino=16561 res=1 18:37:24 executing program 0: setsockopt$inet6_IPV6_PKTINFO(0xffffffffffffffff, 0x29, 0x32, &(0x7f0000000080)={@mcast1}, 0x14) syz_mount_image$xfs(&(0x7f0000000000)='xfs\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, &(0x7f0000000400), 0x0, &(0x7f0000005a40)=ANY=[@ANYBLOB="7377696474683d3078303030303030303000301230303030302c67727071750000000073756e69743d3078303030303030303030303030303030302c00010b980483aaa3e2b89ff0e1c7ccabed1f63da7f9a9619533f941fc20ec068d57f4ff38f01100afa7d0881ad117395af5f403a"]) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r1 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r1, &(0x7f0000000100)={0xff73, 0x0, r0}, 0x10) sendmsg$DCCPDIAG_GETSOCK(r1, &(0x7f0000000140)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000100)={&(0x7f0000000540)={0x11cc, 0x13, 0x400, 0x70bd29, 0x25dfdbff, {0x1b, 0x1, 0xf7, 0x40, {0x4e21, 0x4e24, [0x20, 0x8, 0x0, 0x8], [0xb9b7, 0x101, 0x2, 0xffffffff], 0x0, [0x7, 0x6]}, 0x401}, [@INET_DIAG_REQ_BYTECODE={0x73, 0x1, "4895374b6c364afcac3ddae3fe88b032b34afa436734d80e64bd2ce02f2412f602f38071555ee0f680f2486c447ef52ce821aed36ce7fd0d8c601352afe183ffab649eab163ea17a234a94301ab021c63ae9a229872dfddd3a30639859f79486873f3769c9bd4eb6cbd709e3391ff5"}, @INET_DIAG_REQ_BYTECODE={0x7d, 0x1, "ddb003925e274913d05996892041ccf05f3a4d91d9c9157d22644d2e73d692a27cc98a11e7981ace213c8e22169884dcb16ab040e748a194b532e7acef3ff8899ae367847d69ae3f9db51f92df71d3612e0949124ae55bdb1b5c301348accaa681834607b96fe5e268cae4fb7fbbcad16ff2f497d844fae048"}, @INET_DIAG_REQ_BYTECODE={0x88, 0x1, "b01efcfaaf6bd7a4d2d1abbb0fc8e010fed46b90080d4515421f1d9021ccd08d36a28dcd9ce3c3970e7b19ab3db5d19301442eb31865a1b477735d119101d02e31d1ddc6b2332e89f96af376b8fb1e12105b82d1933e9bfb003502683342b83e9f43e177932b3509f3756b90fc6e2d1fc894de69d66e7e95def23c8b8435210ff7e02c2d"}, @INET_DIAG_REQ_BYTECODE={0x1004, 0x1, "7ec7d94d9fe259a233641f4ea0b3fcb88d0d64be824364ebe9cc8a09970717f3392c962b50a11077279a78cd24a024480327858bdd1b88a6a2d4cc83252832c448027c6999513f661445dce01073dce7554fc6ad0238a39dee81e7e5046d03ecdcf3d49141ef1a81375d04a834b9ac8aaefa77f075d1325730e112df4ae12c8ab14be21d4258c21d03b0b67bf56e9357e86ceb792e757ec59929cdcab92b4f6464e3ac54a834a747c658ff25b566939ab61e72bbc7d8311b461e5b8e05ffa8533f62ebfe9b7ae69976dcd8a52cc6ddbba02f9bb9a9f8c5f4392012cfbff52ecea44afd6a8e2475e9408eb56d0e3391a3a81fdaf7b19453a0a24226034eadb9f1e93f7f04a7776dd8d7ad20b75fb50c8dfd67e888210bc957afc0c533a150947fb839710269998106650c171e3ab1b739b973163955d8cf0d5462cadb657d98b8cf8b67bcf5a6d9d75c6eabd6675e47277b552d1dc6132fef6aa7a4042a2443367dde6f087af397deeb805ab0fb8290683a0b67aa24e46ce30c48459cc203dae919d010107452829d0770c95a80de965e725e3a2115ccf3a684882d1f2a350c48777b4b5d4d90a3870fab73b3269546ab95772b581f4eb62b8ece126f0a97ce5e7eb19e2d8699482410def7a089e648e643015efc834c99e2942547af49fe978877b0f87ccaa7cc3185422e58e402144b5ec617cef7c5c602b6dc7178051dafab4fe5d5ac8bb3d88154bba8c7b8c52117027a414f33d8494b9e89e14f415920ff04b562069a31664b2843fe602fa28596e7ec7c294108dc637df8374c282d2723c9b6e143581d6cad772bd04970446fd44453c089cbed860605cb611d63ff2fc5ef54a3cdff20b5625489f645b826ddd043e29df24bdede80aa758af2b71375c995d136b84c355b937d8415693de74cdd119e5ced2bfdf82572d3f4ee82b2a3de61efc7d472553208ec61693e92061c61983d284e95f02d9209f69178202a82239e6a086d4839d0ed8892764728b7217c58f6a113feb9f0780622bd4181b571fa32251fa05545699c924aa13d1ddd557ff5622926f1486d665a520ce8833367792e0b1bbf039f0d8c5bb60127df98b765cac1a19c84bdcf1fa0af4aaec761186079ee78dcca1972bf27762e0e151e15c12f9f6f0bff6026a06c3b12be565d702ae1e5560a4db7f11df233664680bad1d043a3ae93d8abbe0ff09d2f1ef72a355814c458680039c55db32683c1d36f8d2d2cd7ddc4d8c87765231abd97954ca6960ab4e4068bcde4448dc193c4a46f4c2f3cab0a8c901b42b0f647607be6d6a01c68785a529404d455941da95c4cc9da1f348e0c8ee8a1459caf90659362d53d99400846a2412dcf181364a68cfab192bc2e06152d51b41ddc36ce2f394a02a13b4d690616658157f7e9cf7d3d1f1814e4586d46346c49ebed24c069cb722a26ccfb41c076b695d07c12cd05337ecadffdf05a643b0eb9ca9b5b6d250cbeaef6361668ef2835cce2dffd974fd3950f485b62d8ebfb2863fb06e56f26780cada78c71271b3ab3cc91abe29b93f6c16aa8cff1f9b44ed014b9a8f963ac6b632f6521b5184f3946b12d12ca9965e7e3184238d255148b40498563e79575c41bf36f91e38fde77f63f14a0a9217aec3a1ae38e8286de260e6831623dc50dbcf2cc9316e51eef62aafcc9badbc691d1c056aae5702901263f1b0ada21f53b0d5c7c8fc974d75c0cae9e049a26a5d51dba3fa6807cddfa928120ae798d9d565ea06f7a288d65be6262ad489a614c386d2097e0b2daaa5732135ea7c9cbdebe00f0c3f675d32042b88a9f51d74e8dfffbd28e8cbe0a238f5667e428da73a345265d00ed7d68f9c8ac75dea7532dd1b44dc3e02b4f2cb87ceee12545e801bbd8d189060a7a818178404192008e5186ad4456622d9cef9a4e0d832033ecfdef84162a29e3d7da0db9b8eddda1155efb8a8b041b9430e257b4d4f616d1cdc214472d48fc79bc274b32dea5b309acda16a38be230b49e31539aded81ce081dbbbe0d049aa45c573d9912cde00852395a40b8e76c49cd6ba93b1c70d680cba570be588fcf5afbfa9c89202600479be00a4b70e7de9aabca1519b35d5260427b4e43d6a6a60d6b03560e4856066653c3a2162facdec9eb7d398f24f7da55d3ee2c1c71f43c1b3492b34fceb37e8b33be7753a0acacae32a04e0ae2a5ad03c0168b42161d10f28ccc651c6d18436fc3b3e193040d8f0bc1c847d26196092bbdd215c0aff50641b78b833cee16f381d2eb87ff8f8e99deb62e7c7b6e58a2d80244fba521f6e7c2e28ddb01005a2539d45ba032202e00926d4313e48c772b778fc8284074939fb52ab98d27feaa1d9f5ce6412e7dc3c9058db9412475b41a0b9ee1c018fb0388abd25c54d8d4dab6ac7c31d6fb2a23bf27a36bf2827614098a97f87420f6fbddbe551ee0acdf8783a7bd653bdf2c9a03e2e8214bd54d24be56860547568d201ec7b8e4b7fc99174eac6ad492fd077854eef58361387f3ed91c8a20148de54c6600384d5c3fa9c4b475f390473938775eda623732c5b3b0641c2d430228396875994570260ed5cc85f6a63a63dd2dba17890a4aac0e347f132af8ad89478d0af52184a8242e089c6a82d1c2959c92b963117f5230f66e23f1701e90d767fe8bbe012be822a7f4085dc05cfb24eb625adfa3a394c6c0678e9cb2e10e9ff2a7f03ce878ecdf9ebbea6190aa6ce37d2ca29644a7f6414c06010e7c1f78a3de370e3470bd95c0d5289ed412f0a74c945e5126526adc0145a106ede56c5b2a185dccb1fc9544378e0143fe2ad077a12cd148b520cc8a9a3dec40e49083dea9bea3bc519fb55ce469cfa8554924277f7004b03b68bace1e65ea1ae556ba2682aff1a22ca146231c83f65f372b55e470cd754186237bd18878a08055702b744e9fb8f7d25ad50ec052ebb408000c278e8300180321635a89d95c282cd871f47e3a83c3c7728c5058e4544ad576eeaac3a8f45bd4e09ece274915d2e24e60fdef1790ced497a422a1ffb9dcaf352e85f488149b39e0b179f3054da11c2dd6d83d4b08734d6c7008a123e8baee6066c2a1940026fc0eb0b0cf4134b5161f72c02d936222f45dd02b232f630992d167a768235cd0ecea9f3a112f3ddb66d667ec5c7e9b461418d035dd119fd640b2310c9d5a466e5f1f3fb938c4052ccb7df2f8c815b070fddfea49a288d809d04186d50d27827cc1ef48f6715a1de9b3f42af4306a839d5c0db51f96f33090c751889111bcc3b0c9c01d38a582980fd9cf23ca0577c9530feb425c7e5800343802e567437b29cceaca7c10d40d87aa1a8e05438e1ba32eefbc062b5712f0aac497ad14e185a2d8b2bd05fd98d8133d576f970338a8f56a6c0d3dfafdd10dda58e5eeb837179eefa936ded6f865b02df8dc7830ae3de09a347f60d788c8d1d397c2583ab55af5200c57a71c16e5a2fbd5d70df01a2eaef55880b6d4eec7ddaf37e7e2186cc05cd53473b0012181536479b1723f1f56bf1ae218d2c1d205378b9bc3c19cd7bec97ae9b7ad970644902c8931b0c10f355a8346d80c1f57e4ae76cd65dad675e4c856c595c62b95a899d675ffba2aa34435b6ed7f8519cba9e8f20ca4ab77989ebba9efc6e9c655480a1e7623bca2b96f7975bd6f1454c6b6d6862aba46c4e6e6b07e73cc65ec8a6aa8e4c4bbe19f15f7278b6c9017608aa3a5dcf34eb574c392dbee879a7a1481313de6018ebe3fb4e327cf89f8e012719f375a68ad5417d0adea8b9de7dec673ae51635a745a2d57e01f614a7e359f39e429b82df50406b3be45f3bb97d9fab0d4f10eac19b6d675492ecca298b800007b207862c481d1a90e8a83e5f74ede1e04aacffda8e5d13ffd8f216ce8966200db6df299983776b723f1f90b9382d5d72fb643a972ac0ee7d03216d769c05ecaeeff7e8cfff452650f6c5681f788cb608ca9c48630260869d807ccb495c0f94af8b22cb7dd97225df01512a18cb9963909855fd87490f7f623d4dfb2c00cb6d7e52e5ad0b7304a0cffddd894ed184d18dbd392041da30edaa767ae5e6e161865626479365b80eeb69863e97aa58698baa88d59d12e32e5ef472037fc4caa1117c1d1f5478a1fdfec88a3f18f972195a5199f11298c77698f9a00fa66e0345d2e73d289764fdbad9881bcfa3bc69f199cb18e34462348821266dd25afb1c3211db18fb5a6492ea85c1821d179a88640d823a887e809d7ba7a9e78f68123e24cbf2beef3a5dc611cf8cedd38583bcf8ed7c0f956df11d8e5a4a7be26686c7b0baea8f35e1601ad5169dcf03e6e8e85d7346dead5559ae01e811404b4d738dc77833e3be1ac785882c8b6ad4c3074a6f28aae6d2bee3a0ca6891d1b073b744e8bab70851113aa1168b6bfaece97606702fb6811b78c81784f8f577314a0910c7031c742a107eef418f3a2fe2d441489abc10f38ea68e0862422fc5f5168ffcf5242a39a8a0e7ca5cb84aae10ffed6030f6911d05828f43cc93f65fe5160a3ebf84c8bafc9cb70415e50301884b6dcccceb7c768a73557def1a4b01d198a432729cd429e8172fba80c24fe4564b029d644624b9781345488d39b83e7abca59cb07e00f8e01353c11a868652a06de6fea65eb008f39780ff9b90d083027a69ddaf972f189174bd3188ca3fa9b79ce42573be09fb79f67dcd822aa8899a2d7169e964264e65d99d76c992d0b97fabc2616ea7c3e0e298a8259887057d81a34c6e6b7cde890f6c415a0c3da7b06169abe4a15ab51c43e93bfa8f948f8d6862857bf21f1eae69ea770e3ed4eebae051c395c6cfceb8bd8d13de75df10b6fb2c3151dd4a4733bf0b80012d424481ef0de1296085bc80372fe9f749bff597aa3dffb8cdaf4876ca10f593e39c91d4e833e88f104c4201da3d77e8f2bf5b7de66e2ccf522211c409ef2c646959a18a987cf10ebe1c24aac6fafb5e18753452631a16a4aee064440df0b5424755c3f857742fbff60217f10b78daca59132695f90e702bd08d9bd89f57953bd924aba026bee45b767bb0135cf4a94653af381103b3b816364ed70555de88675344acc5a134b6d6766b9fafcde676191d73795f2291e9e62c6165b31b3f5fbaf42575d803055f455be88c73f60089d0b556b98a16e8315c9f8ceaebfda30411102c649373514be3ef39fecb03c39979f64f153a0853de8a0efab28cd285139c0a014ae4790277a079873019f1a2ac4b69be13f4f4a751cae3178e0e9271d00083b5bae280204370e7843064ee9327798cd814c31ff244af922cc16c12582cb8772cef3d5227b6c78b6315a06a97f88ea7981e96a12878e733e956cd4baec4581662244551507b479a3ffe69c69d3481d63db5a80e61b3ee43bebc138dc27df0af5d14aee167da3d174c03264cf5d5845625257c38cbf056f74ba4982a8baf2908a2938e5d06501d5d5b0750199b2716a00b82278247d0665477647fc221a891a0a3c519cc098f9044dc69594a9c3efa4ac4a978536de20fdd8a001ee8b432119bf4ff7026fa0da51ba88764e17a71863bb8b6fec0e4ba3448168863a5a139620bc60894e5cab44d32d1da95247baaac23107fcc88c670e21d5810408533fdb888116e755ea08cf2259934d2f7cd6b5f9412422244069b359006329a4e66a2654e7b93f414e2870b7f60e57efa2537a29887e2ea6a83789311d296d5abeb9925d1eb190ea48251d86def698dfd35a60e180bface82510949f6e3b6c979bc31171e67129edcf7f0c33b85c0965104ab6fb00adafb1c0d362d5f"}]}, 0x11cc}, 0x1, 0x0, 0x0, 0x4000000}, 0x840) r2 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r2, &(0x7f0000005880)=[{{&(0x7f0000000180)={0xa, 0x4e20, 0x1, @remote, 0xfff}, 0x1c, &(0x7f0000000340)=[{&(0x7f00000001c0)="060323df1144f3f2addd426ae2c4cae87e583276bb309fe7c555491cba56d584262b25cfb0e0ae9784f5d483359ed299e883d1e80ccccbaacb07410e03b20f429c855d90fc2b7e0f843175fbdf7c8cf9a6b57390ea8b6e8ed2365de7df99b564b59b48f36d960532ecb8030dc142a4e36c5bece123f21a42ec8777583603e4e4df0db5f54d35f0fbfefbffce3629c4d2ee7aefc5c2f1ce2747a45ca136bdf0322a319020a683f0fcf2d3ef7ebd239b9f482c22d3d5c19075c87ba40e0800d6fc8e50e671110d98c9e9421a577e002ac3824648", 0xd3}, {&(0x7f00000002c0)="3efd2a66b27550b5ac220c133b4ea04a862580f632758e9a5fb9751a26027a4bab210602ff86652e3d44729d9b278dc0a52f25c8e8c2bb02285461640974fd6fa0fb43c679", 0x45}], 0x2, &(0x7f0000000380)=[@dstopts={{0x40, 0x29, 0x37, {0x16, 0x4, [], [@enc_lim={0x4, 0x1, 0x9}, @hao={0xc9, 0x10, @empty}, @padn={0x1, 0x3, [0x0, 0x0, 0x0]}, @ra={0x5, 0x2, 0x4}, @enc_lim={0x4, 0x1, 0x4}]}}}, @flowinfo={{0x14, 0x29, 0xb, 0x7}}], 0x58}}, {{&(0x7f0000000400)={0xa, 0x4e23, 0x3, @private2={0xfc, 0x2, [], 0x3}, 0x8}, 0x1c, &(0x7f0000000440)=[{&(0x7f0000003380)="f7669a2dc432a1f6f177d7964aea60bef99b65fc409f68e0c71133adbae55224aff5225dc4414a2b8272ba7411bf14535a3eae41e872ce24cdf6c96b2eca3c06f53280", 0x43}], 0x1, &(0x7f0000003400)=[@hopopts={{0x50, 0x29, 0x36, {0x3c, 0x6, [], [@calipso={0x7, 0x10, {0x3, 0x2, 0x8, 0xd5, [0xae00000]}}, @hao={0xc9, 0x10, @private0}, @ra={0x5, 0x2, 0x95}, @enc_lim={0x4, 0x1, 0x2}, @ra={0x5, 0x2, 0x7}, @padn={0x1, 0x4, [0x0, 0x0, 0x0, 0x0]}]}}}, @dstopts={{0x20, 0x29, 0x37, {0x5e, 0x0, [], [@jumbo={0xc2, 0x4, 0x5}]}}}, @flowinfo={{0x14, 0x29, 0xb, 0x8bab}}], 0x88}}, {{0x0, 0x0, &(0x7f00000044c0)=[{&(0x7f00000034c0)="b492285c30d974bc2d1c7b59c54325ec026bc776d600dd9c9bb8efd2895b3f1c4c0ad9b473fc313f11849558d8ede7d427aab1a6ca467b1073602561f35221345ac62f69147dd67222a2af6a2b9d76c84b4873b90e8276f428db45b6f9e172ae12d7a292af280b81e4b6d08faa4c03b39b29dd565e641a664c3b9392ed206f86e91e6b16ddef36edd69b95694c8c7f3aa781dd2e298feb1633c481be272001b1d9b7ceab6c6782535643f2a9e7bac4e3bc68c36a166ae0c9371f7eeb98bce9ee1f6f3381af3158d18e7ffaba68c63917d97794d38e812981aec1cd9d4118beccfec028216e3a7afbfd55b5adea2a69fa9f82cb5a433cda719a234459a17da048ef5109b0af03d8c21aab50b90180deee66d765fd1ec14f3d37d22b835a9b40b43de9dcd9836ec9c7deb6106ed2b41fc263952f95f9b2f95ba6c3f9e50e840ff4e762f952f0506cfb06a6d6b4fc530c964f80c9aab5c09edd752228149868e1e965e76f017ab3b29cbd109d01b92136d3131b4ba0024f244e485e2051137a9912b43b2dbb65056882eec22d41ede8bb0d781dd3ca0c9a0727bc68ae14eaaf0891769835d518805bb3caef37a15dce2fb4745a2203c3406ef6b9022a74c41dfebb4a5796879db761d2410eb6c8d5f87ae289856b732017111fe3c22db59fbaeae80cfcd45815d8acabf36836df5c566c180aac0111943c5e47f1c7c1e37827315e2c200dc6ac3b3c9c07a5224bded900c788036a35d693d954ae12d1720fabfe69a11773cbe4b2e899b29e105f5d468c4be711212657807020ae56767705ded9b1c8fbe79d4822a7c0ffc9a786532b42d0ddf18e0c2dc09728cd0284bbf3a28dc12878dcf9842a7cccfaf07bee57be54e4542d5d460157504e54ace2275cf93e82deeccfbf9c338f35d3ddb6f93ffb4ec1bd66e2f701e116dbe2142421930f1d15d4a887e848e20c2aca6cd2d9b1607754dae95144588e75838f10a63083cf7d428b16ecd12ccec152ad8a92d4c1c8d09ae527adf4ebb81ead0ed5a1a4e9457e6301f49b48635704e7ba782c79411ff59169ea2bfee800efe06f74275d005e0745cfd8576d781790b48be470a89e3c0aedc7f08a23308d0573bc8690bb08c8c72037bb8419672f6467d3a9cd393849c3d7e035eb014d0d33965b803c52781c138a0b0f338f60d17c6e76630361a16fd8783493552ad9229441e344224803f4743221e7a23e0f0682b1d31ebb853bd290f4998d75fabbd368b49f2574d68a987292cd3106e1b5cb1f2e04651ab4db7bbca1170d81c971968f36f8ccc3c47d4eef3624b7b8d2486ddd1c82b8c92174a0a56c969d523ca8e6bf824cf3806a419349dd3b4aeaccf80a2a32932c125f52b9a3905dd7b7ee21501d0ab1cedba54f5bdb85d612e213fa533a0d703b168e8da452f781d5bfa7e26b7fc150698d16294ab16b299fbf437f43b3b9d0a716842c30137b9ff2dc1bade70d49b7b55835c59cf754445e7728db92604682734e66b382aa51a5a22fa531784e472a005e6df42331d0d4b48e00dafab927ff915f98a8e4341d370c21c7ccbe196e3537467c88d2cd05994159026616bf9be70690012204bcfc358c1d79d1e85a31c4a591cb31393b310b0c595aada36d1a53af84d21d16e35aa4ef575d6225eccd847bdc2092b52d849dfeabcaec18568fffa05316f0c01fcc27b2c3e592df96aa1f0673bcc30161cee47397d76625b3b972c7e1d82996789e0a9990ec2448597fdf75536e59903c827c2d965422b185f0e867c71aa09e1c98ebb80ae4f4102f1d21945caa9daaba279f08bd0889ef95492d22423f76a19e8b547be317d2f4c642ca76d89a54a9729e928cc408ea6f3abad3498a19fd9636dd7bf25262e0f93f6e1b231737ac32e6ac4640eb92fd356008c0567aa08ce9b49bbaffb37600c9da299c26ef5ff7af2a04f68e7a9ade5c73a452a5e0e4b892c095f524658a8f6b8a7b2177c198c9e924f3b7baa584a836502ddb91dfc914f4111b67f60ea668e139c89b8f02fcee30a1ee69d77fb82fdf93633088dc7e8f6a2e6117f22984ec805a39d321e8570a64f241b4c9f0d3ec159069c9da8baf8e54f5fa5c5a6e52aaced952dfe79e6b709c2945cf117b45b743775ee4fa2a2fea15325390fef707eab1e77ebdab2c45698fd44050a38b5252d22db1d5eab6d14a431650c4f24465ee4971e13cad8d84d3c07ed9d53f47dc22fc275a6fdcd62a53f83ad076497be558077aeb89afeeda75d81b0def5e054db61b06afa932b2a5dcfe29678106e8cefd7df7b0724e6ca3ea3d55de3b794232bab483aad1b3ab1b900a2bcaf6d2a92881eca62a59abdaa681b0e704f36c4c401cefb20cee70de741b743bca95e65fd6fdf67d7a2e39fed3ec46c5e5d0f5f6e9a12208395afa28aae1224dd8fb8a9e4b76484dc99b770465505d6fc7a271f58f9aab1c414064220b5bc76028cdd143c2bc4647550e5aa6bce9ca850007b6b41bf518e92d0263b9bb8153f6cd34276fdd6ba410fbd9c01abce51799cf523bc8e4204140e71e10c21c06895cfcf314891e31e87d4cb849a779d2ac12fbc45ccaab8ba103e4a91e86b61a4b5e8973662b6c247b7c07cfc34b2fba907ab7fd0c9e9d97ddf8625250ca8f78917107c5f942fa5ee638284406dc504f9726c9703e0e71be93c724d3b48de24588c9aa591f90142781f64e20a94d00c502a8bd57bada9397bba67a73e3c5d73cb88d63f746cf2d3a5c5ece3006a88aa60120810a81795d0c5dff3ed0a8da8bbda1e17fe4836cf7b37b4ca45f4a5a1f5a0b27436776257da8e9eda06e7c5cbdf810f264eb08fc84fb24273eb901fdecf580ba18e27355ebf80c7422e6ed24bab1fae5ecf7155d1dfc2fe184bc0460a7eb22425fa4b3df9ebdff084184b63eaa271379b1c27cc0b5647b7a14090767cd80f8ca11c5e4e77533c251462744f936cec8a66e5532af757a65f4e2cc4789f65343902e9aefabe3af9bd96002faf23544ede40bb5f514884f7f5cb50e7e96341f4dd2c1ab504c95cc8c980d13fad7279366e8ebbcb4a4fdbb307404d2613860a3c3629ee9a1fbb2114edb652af7d4a1f8ffd21e07d2a0329b11a6302a62be3ab058c57dc1fc948548410c0700e2ab8589d069a288f24f77da040e718c3c4cc4c8127f1df926b526ab36261d570b65eb2985d51e15109ea6694f14474b4922dd6ddf15e6d137491974ad3115af98761960304a50ff424a52e27686a25ce5c1110076e0b5e2edfefe3f04683c7fe5ae41ca38fa3eea43ff56e70ac8a3b8891b8f0797da1c22b70c5b6181bcbb792c12c394e12098e209a6a3bc7b1760a1cd00e20053c8ad240a4da58d6392f64586020a4a4911c5560acd1788c097b3211db6d84ddebc36467ed934c990667bc6d09b9cbd7c4ac5d6346e7d7d49d95057bb74aad3a561ac478660309fbe151e22581853ab024dd604150e1f2e8d56aa2876268e3173b6d02ba57038109374f980f4f136cb215f8a7704f7f26b806a510edd33fb1caf9ad9e196640e0aa128e226191f914d91bcd93c893bdca8a18547c7a50b2bedd2422cd9efa4366210c9872b10215e95fb420d2ca0648375d27b621c58231d1b80b255d1799f57b0e1b4574b36707eb2e2f6c4384ee5b17a8ba9c886da04084cf17c62b40fc1a840d5aa361f144613a0f9fcc6241e3c078088c076bc771807434efa030b38f49fb0309dfe4ec588b2dde540c0c382274ad56ee84ffaa52ded2d8da9b67936a98a1690011c6960c7deebc68f7fb307343eb044a56f822d9d1c95888d10aabeaaa240cf8f009450f142727a14b6def7fbda9593a0e166ab4f6b973c31e8c5b0f8bdbb08ee58a41bab6a7c157e6cc53f2dc0b76c498278172810849de30adbc39ac37e038e7d4ce605c661049a568e85931f3e7fa5fb435f7ac355b030a67b373c4c2b8307af3e9b46042abff149ff792240480940f3e9e94ad1b75a790409c125adc582da7c44c8ddaced84233a4821f07a5bbf53409498fb399132ffefebee7590e8a0a901d4ebc52d8d2210917252b62af7541cf68041f1b4f3b6e0cdfe6d37b1b4b19e6f0f329078388e9ef945558ad61537d3fae30fd68828bd9a22aec280664f3dab6734a9e7f82628cb94f9798c9094de33baa584f0ce75c6e3b136bf6295bf6dff1e9b95f131fdb6206f195061671d582f30ce9533f1963b2738c12c9c893e2789e66768b599b4a80287f292c8807e53bb10755bf4f948394cc5ea9f74f7501ee70f5213b4e68cce63ba3f4941170c5754e539c190d86cc3b0e2ddefb632de539dc7535cb226c5a38735bb89576bda812e3026642a7778e18f1cee70b233d4bc02c1e8db2015f317e5f00900b3912d2fd3e95a78c3f95c875e04d1ac2ffa1b84a1795ab32a49cb4e0c3b7927ca1d326de770a6df16b200d04fe9811788183bc1dc4806a1a087b036c30d6e63f1ad833013bbc73250abf9eae37072e4ad3bb8ca8e1e30538e896a1f81d3719374faf2f806314238b233eaa28a7fa4bb21cd663f1553ceeb9891c8728c07d072c6e21d7fe3bc96b49c357ff8b92ca70df01297ba567ef6564710d7d7fbebbae87671f82677848c9556e3265e5f7cbd9b1cde117f6f24703c3adfc0d7b8ffcc1edd243cf68e6a3df02f496e19de0d78eaeb81e79c58e8362a040352807a8fd9d9c94bc57e350373a3c74962f68c4ce6b4471373c8d9d34cd1cfa68df64d555b1c306aa01d3f7bd811eca5b3d722c0b3a3c43295bbad1fcf5f3e25fef7deec8a64cc6e79c17fe5d8d4767ff9fbf48773b673f5a0391d260bece44172f1194e63a457d0217bb5c631507258e1293bcdce9410b72f5ead5883a5de3d2f1c252c92635f08fa0b0a22b62c8c1fbc690e6dc1e6235c9a9bf9da1d08664056fa34fdd15ae5192183359595c0a08c47a8408a7508237b94bceff3ef262cd5c31ef2fe8232e405496ab4398dcddf70cd72f9a9ad3b4fc5afa38eab2e738d7d0bf1f259f54a2cb1bd443a14a9610bb0a6a389eebe2eb49c923b142aff2f212d008e89f75ed95109d916cd267d691c9a3f7ab93bbb766207724f649c6c293c7cf2657e7edfae35c5662ed94e2f40cb17dfd9bb38f4d0148189882d918f8df778731691610af5bbd18ae9a0e7e16038abe8aed9bbdb4097abc11689d3418bfb3c238131b011cb214e77ce6a438a35645c22020d08be15d72b8d243d9da15166666fc71944ce82253de6034708d0469f3bc58e20f6d9c15d7a8c9c8565d6e075586dc8a587948c0455ca820ba0ba34ba6610a5e3b6145a7320dbfecb3b36354850c20bb6aeee66b5a7aca777b6253fd126bfa78f65e32f6d9ccfd789e58d1b56498f4f456b3c213541bdb5d4d0e4e1a7772095719614171793f1d298090041f2d32233ab59618510d11c75f8aade9c64a126babb31054eece9c43094c47dc579f3713a66742331e85a2ee9d4f031c30c63da51e13b1afc8c4645d6534a8b69208bef97d98857d1f5507717f26b81bfd765925224094cf676a26de3d1d711e5648b2b623db394a58b5d29f61afc7609d45e32afcd176558de951650a2b71559dbf15370576925ef807849cca015af8df61a3d9187cde892b5bbf8942317670f6c9d32a47aaa5ba530d63c0b825e3a4c606f546250183d0882a58fe8a8178c9e752d582af4465a6c2b949c90c4fc8ca98e2a79fed98442fe1de5055900fa5c047d0143e5d321c8423768a8daf93f121a3b13b39dbd07515f7ed0ddb790f1d84a21fd72549343f0f930391626682dcaa0ce397c62be20", 0x1000}, {&(0x7f00000004c0)="a4", 0x1}], 0x2, &(0x7f0000004500)=[@dstopts={{0xf0, 0x29, 0x37, {0x2c, 0x1a, [], [@generic={0xff, 0x6a, "22915c3546666be413af73f698febc950363bf401855ccaad78547ae4a8b7feafcab9619c72f798698b60b6e878b8c41f29aa3edd7f41b4a82e39dff50b93b0a4f402d7fa306e59df92af7adfeac8e938626b285c7c3b02eadc69b1e45c4f09fd1f7e171bbcb0fa84c3a"}, @pad1, @generic={0x30, 0x30, "cef391c2a36340a4997b0477a0ba544b0c5f56eaf250f2edc6dec4e9358983f0851362e35f56f974f92c334cf0fb982f"}, @hao={0xc9, 0x10, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, @jumbo, @pad1, @hao={0xc9, 0x10, @mcast2}, @ra={0x5, 0x2, 0x2}]}}}, @hopopts={{0x48, 0x29, 0x36, {0x2f, 0x5, [], [@calipso={0x7, 0x28, {0x3, 0x8, 0x8, 0x1, [0x9, 0x5, 0x100000000, 0x20]}}]}}}], 0x138}}, {{0x0, 0x0, &(0x7f0000005800)=[{&(0x7f0000004640)="550ba79d641a0c37e1629f6212f191453210ac86172cad4c05c28e26a33231cf4f7d9c6cd186230cdd5ef83ee8a6c496acd62035e5b5b44ed28d79e40a3760aec662beee9cdb9f1c2388eb3e9d6a3cfadad2e71dc7dd8bfd8337208ffe451391af4c50d0cf87c3804dff8714ba21f1dd6c59c12a1251dce8817fc54a32166019a5ec49a952e1641b173a2b3a186d6153a597ff1e2f89e720f3e2dfef7a0b98bd55d7", 0xa2}, {&(0x7f0000004700)="45d12376708de9db2be6b789c0f4fc764f7ae807c354cdbe93bc33be9d78bbc2f46d4a16b0428d28e24e0887d058a2dcaae18459efddf4450d", 0x39}, {&(0x7f0000004740)="612b3abc2334990b64c9e0ad9872e70a0e375213fcfacf878b7a1c80f7c60b2d71625a16fb4432fc00e4e99bc10a5c979b6613c8f8b69cfbdeef48f03c6a8f1eb653aaa4fc32074d001e92a3a47517a27045dfa43a2efe061d701279fb5a6253b32880b3b6926cdec466c40508a9b5410953b81fd6f1c58550538b0cd7e69fb8fa346d1e6c6b96666b082b0126052b4aedb0392404db3ceb7091e34900885dc180093421ab4f987d84e3848a4a6b2cc47c7290579d6de30513e5c154df9cdad93d4e0b8db6157362e67d83dc5100b407d7bbde8789fe0d2dc5b1bb687f32cc5482eaebaa74fc097c8ee9075385576c616b6313d907b85deae7a823ffe3ae5eb0d40a9112e5ab58e1899284faaf3e1b830b24ce9efcc7cd150fdc6a9b02e47e4661f92aa305e9c0ae4b74b0a604e84c1e8f55c2b00f6f3e5e2f4cd5e533f0708f4af798ab80b28fcb612ce258ee2efed2c6bebbe6a9e480691e4119d2e634d9f34f536b9d683f5b3ed63df88522d8b387a4477e36fd097bc429eafa7638abfec1e8a7b8d22b0dd32824b3657c9d1d18b065814b9accb87159f491ab5d33f655a9e75981bf4811b89ae3ae798a0e973433e2b5efe9d5f92226f769edbbebf8328f836b0f6cf6ba916cf052832b90d977adc15b15e818b498aa82757cc8efe3b00157a78a654a0a4c0db4d96bdd5a5c9e2616adfd3d865c7e8841d81c1eb39ffc59ab15b6f53d22d0971521c090603653f5b0f23a1af9059e3bc1780c90936c93f3c3935d13701f3d3ea2f8b79581b96e3e3b5e6f7a1deef184031932446238a7e9974a17b61e5a85efa0bc74b7343b7840e7ecd3438d040c7fa95571efa57ea760fd007ade1a42efe433feefb244cd3fe72ba167679738c7e7b9f3bef04c2d0525eaff5d7a7a2f057ba81285bb8094429a27fc70b189c808b1176da4a2e72d3bcf03102648ccd3057177863550d34a98c5eec6febced4617d50bf52775e471eae85c6369a57b42d7e78cbc6ff664a1393ce33b8ae55dbc3fe2bf7c5e5b12309271e22e7a8254af1a03b3ae77a2ce1b2d9db191cc8e4086f5bc9e98236c65b71e1e2f4acea88d1fda036bc6636789e06378cb3c6c53632128e47dd776a02d3b109044bb7ff12f6d6785b845545e9048746aaea11ae7127d4d02ef5e6136c74d0ef1292608e477266a806d0b6cb89bcf9a124cab241f6f7b446d97c4bc586692eb4c4b78feb9efe5e695112d50212ec001b284cb9e76a5e757ffc19d99f196c314a1e156446c5158e6135b6999c2d8984c947aacaf6de9b98e35c87df7b8abf1248c92bfa8f16319936adef9c593d0e6ff018dbef6cf2c4d3d24b391591b85ac3ee8195a6366fc4985ee12047b494d97f88f2fda9966aff70600d18632a7a1636222e49b0eb6f231e4639625f9fc782be0f8f32ec8463bc5080e955e0caa9823c414f7335014a0f921d96b1823310399eb00d41f34a4a1af45d16c59814f5fbc6fe6e4daa8630df58e193600030779a4e9d1ec5aa498a5c817eafb340d44414149cc12390765f25e8a01dc5a3bbc936673249e26648e41f5afac5989291f579728452802a162413f13598f58541d8fb9889c3f8593f8be8e20a80e1ebde38ec1b4c545e1df0e96e326faf778321bab05024fff51d1625a43dce92c8eadfbfb8081e4df9263cec76fa82ef23c352cf424310b78660335f56f983dc050e96a117746fc02089c10111c327022a2439de9c5946a8981c2fb9ec3303ee2d0f4c87753bce38e8d551396b572ae135642b33be3fe891f544c987efbe3fbd03ac7e029b4fbe3081976951941377f95caafdff531e9b3dbf5f03e5bb8cf2dcf928d07a2ed8147643dc5afe67997d28ddb4fe6f199f853226ebf051f4cd74d96945c15370c16ccff66dcf947bfcccb9872d7dc5f6fdefb5ddfc847ece71b289affc7a173b285a36e6ccff1ae1bf81a72bcf0b3ffba10f481945505846a23903105f881589f4acc57be76c2652613d9ed637c4e2b022c626660c9f28ce3e5155859affa69b9f62b7608354889c5c349f4994748ca9592ce8f04b1d2490bdd40f2ae959bbee0707c84771ff21bdc05a96a1071172b122acbc8a07f42f8691bf30dbc94da61fd6675c0ceed135385d68ca77b93cd60c4e737903efa3ecc24ea3a2c0b0feda460709049c745b0b11265c1f596ce97c728b589a2fee8a3e25765ea10eee6358b341a030d3f5bec87e1a6e1314adcdb9e9b7db122fda474a7ed7a6859c082f04a53bcdcef3024b23704b06d728f91d441180409fac8ac18bf4fce6129a41d70002484d52faef468410dc18641bd30ca3a5eb359c3a21171a1f3ed6573f40c506f6fa1f4ce29f862fa12835991340c722542703627fc571b8a7d100e0dfba7bd8f75ce3f9c6dc5bb5116e5c17094154361dddd9452da97763e38711cd31db89ee0f3dabad03166f3115c656c9947cb2555477caf02176fde803c8514c827f4ffd9dfd770aca8af16251e63136c40d840df634d66c6923148562f6e031a55778e4de2a8c7caf30cc2ae7553dd7762370412d56be8f64dfd3b204a4f2512de00df0f0e25b8913e0efabf14c7888d548ccffa209fa484cf3afaafb81f88b22612542e5b7f0b3e77113b2a1a9c8ebf9b73bed448dddb313bc9a3ad1aff81a83a70ba883cfb0c23715dc659f6cf642cd98413a2e9d75fcb1fec4f20103b9019cfc5d3b8bca617978852f7ea38c67b40c2dafdea67c3c3638e2f18afd16019eeed4a447e3c0e709c03f59edb5748a981e4d8072d6d712c1e64b5b1a36c3f80c1373589f5e6814c0121cc45923753e3d9c4d0b859f1e75b4f2636ea5e34ed977291c924c49f14d46e78dad504941572774475200206423ed0769a3bf90a34bc6c1b3b42f9d58fc46efcdabb0d1979639c619e4224e0b038cb7cc556ce8cb5468b0dfef6e48252f0601640181826f3ba3684f62bf23ad9ee5810800763da08d444212eedcd6195607271e38e7f8644c70446f4731916920f4a39b6de601555c899cf89171f44d827a376ec7ab513dcf41776d137e33ec59d0a0b14401dbee1df53120e1048bcede59f260c7430c7f16ddbf6aa636f356dc8143cfdfae565a1203bc3b32451a744b2f48841661c603fd2a97fc28c5c83450938481bb5eea9b9724e9f54d82bb143a1da12ccf6bf64f3803ef20270e7a84044ef12926d387f9cc6d7e5154028fae6b685488930fce18e7ecc7f04ef6735d53bd1c593655215a3226e1f020595d145deac9531eb52dfcca551815f9c1fd769e19f057319f47e364d8155007e35fe9b816a316fd7b333f84e8e5732533e60325408cff4c1559d3abbe22a84d00bc9aa85970826a526c7ee74151d620d511bc75cf2a4ba39beee8a5e1c7bd54156c1dd5c0256fb6453b3f2cd2bd1d39bec8b2dcf74a0b20cc40538eed31856e14509f757dc1905d455e4466e34e0e20930e76071b4d920bb2d504fa493ed4bd9bfee41ac3f2577271481f360bbae82876d2e8275edbd2bee811be1e70d193a4bc8588f687b960f75abbd0ee54cd2b2f6c102100ec1c762ec06faf40c4f03c5ba2c8dc0d8cc420a7da6fffadd88b2e2ffa8ebbe4945b46038025cfb7d6c16c3832b75a6723fc6646fbc9bbe240746262f7207fd63426146d45892608edc870a5583a0246a036b4a055047620f11520e59701d5aeba7a01cce0ca0cb6ae0577cf7f25235a1cce2a4f9556a0fb100584a86d64d087afc324420b05a845a90505f5ce3e0e03659cd60c753375126c0bbbef92206faa8d9c8acc9f109fa7eda29c8b71e3f7b8de5b4b8ca32b8bf6e73c944481b1ef84f685c2069af5db98b9062cdb06ac547d3e39868a042711854eb886164ef51fe8be6f503d73d694a8d2f45c6a1cc455525ecda38e1015d10f95ede511e898ef69a748fd72c338c9d61f85ae2fbb2afe7af35cd3c93b4f868cf03fa6735f09a56d414ca3cefe3471f35a13cd733a6ec9db2d2861b7c98412fa4fd2ea22006717fdfbb5b7c5218750d0cc35b1e52e0b6a8d7750e5805384b139e80def7f2fec4e5137d96d98384ed0e3af42692375456d4df3330d119af9a1f97eae546e32dc88d06676047f70ef88d7ed1025de0571b2bb5102d1e97007dffd5dcefed7f334cc27f3ccce655468984d37cc039f3f8bd8864da499f60fde95788d60d7c06185093835dda760e676c74a198f79a4f12c6a48f588e0246309dd1cea8f2701fcb322239779dd2268eccd035d0c1c9b726cdae01e2e25a578b3036755f03e0b32cfa15cac59ee6fce63a4ce311b4c0972880e5d2b37a642c107afbd141da6412e212209c89568969e3049dfcbd4ed42623314795fa8cf25070d6a7dae423c4446229628b6ffd759d987a293cbe37796b7896d9fa75cad0270f265b59de7651e055f1c5699ed7fb5f002d5863a245992480be9cb255871480827ecb97edd7263a2212a019949469d476ab178badad687259d33acccdcbcf0492cd1c94c4f732d0e7547e6d1757027629610bdc5de745711f58b7c6eb87d1379da99996258a1aa91152a93005f717ab00c85438df52046f584ef1606602d3cb78771e75f9e37d709c1a40a0c19dafb3a1b4f7621f084e5400ac697b06d865255edff391f08ebaecbe207687c98fac4b6085ae119f27bafff2a888fa7f7e6919b5a6a9bfad55fddcb520d04d2fd4e3138aca068b340f8bcfd829e60435f1f6cbdafb5889841eb2c47822bd2d8afe632fb9bb64d720aac5918ab84f4f65a7de77faa874881b0f5603f96f304e8a4df604b4ac8853b4c171048f3da1fa36da6ab05768fd5b5d097b89bfd693b07c9277f7c8a2b46cd3c40bcc27c0c472a0b0100215a64f14b950ce6fe3d9b3f528491ee87aa0d9e0f0e34a13868f2cf47c6f5d3ac23dff8bbb54da4335056b345cc50b5525abe38dbcb8c16f00e532dc60d711c646205f3e1d26363238e65458c1aef9e2c406f5ef7856c3d58bc8cf51cee034b030a18ad4520c8782a0c22ba648ed2dabafe3b36f512982b2a9468551d069efaa34b80d851e1b2ed34f862be5d5f58cd0862a4742b647a40fa25ab029dc311b13b05c98af7ea52e5601fa635da207188498ab31284a4dd6d89126239f10e455ef5ff030c3da015df18b9f8214ee4ca4c5b2478c853ddca67f84de41e4c8ee79077eaf7ec92d18d35317b0da2a50bf444eb4f564baaa322f9fbb066c8d3c6ee2e8ce6f7d989097096df68a4b346f154da97d3fe30d4c32bb4605bdd329bff8712d0fd5f9b85642c39f044bf9cacb78ce5d681aa0a1d155795b01d1b7c1bc71458ed4f042d064e2f3e481a0fec770caab87725eab0dec86998f0572b3222491b28cafe19bbae7aa26aa2a0a36e6a8d0565e113b7ee7bb977da7da5888172d1924ca544879d8fa6cd3930553768b49e715f07389f1edd8238b862141e692e7a8c10547a49f412534b8412ae3fb72c68ce4bdc7a8beb8b7ccf92e026b766a36072d76648b3c21b6043a94f908aeec2ebc2fb6740e01cfeb95004f9a139a029357655a6b5b073adb3ab85ca0542c70b9ab0203d1853bb2d8b8e7ac7dfdb40f1c468b1f4a0c7ee8d95cf6a7c17834f68ca09e9ca332479d435528932545dab1dc4e8d4852f1c8ff1da335b5b5360b5e76b6fc25da9728ae79c84653dca54530a5362826c66576feab4cde38329582335333680d30885d15956faf1ba446129f7781ccc12dc273655ebaf57c68b868db6b427a2c2c88c18b9d32bdad3a56feb356050b189b11c73a3c95dab3ac458de5dc386e497638d63591bcdbd378382fd7", 0x1000}, {&(0x7f0000005740)="5b10d2c80e140e55c36d769aa740e18a850c3d941797e80a4409fa34ca52fb3d155f527c10c43e4e99f12e11be5763b3dd5917fb8e4b38b7e4da7f5a7f561e66646e82931feb196950d5c5f86ff82027eb84b39dbd8280495bb6507e08a2d5beb25f6a34b957070fe9a6e15b571635ca23ca7b35c836af3588cee41744dbe18ffd8cd3f6229ea047b432a85ac8fe80143f8fde7705dbc322b994f71bd44defbd7bd5586156c74d1c5e03b6d096ef", 0xae}], 0x4, &(0x7f0000005840)}}], 0x4, 0x0) prctl$PR_CAPBSET_DROP(0x18, 0x9) ioctl$VIDIOC_SUBDEV_DV_TIMINGS_CAP(r1, 0xc0905664, &(0x7f0000005980)={0x0, 0x0, [], @raw_data=[0x1, 0x1, 0x10001, 0x2, 0x5, 0xce, 0x10000, 0xe7, 0x1, 0x4, 0x4, 0xffff5e92, 0x2, 0x0, 0xba94, 0x5, 0x2, 0x4, 0x1, 0x101, 0x3, 0xffffff81, 0x400, 0x7f, 0x0, 0x31fafcbc, 0x7, 0x7fffffff, 0x10001, 0xf08, 0x9, 0x6]}) 18:37:24 executing program 5: r0 = syz_open_dev$usbfs(&(0x7f0000000000)='/dev/bus/usb/00#/00#\x00', 0x2, 0x54200) r1 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r1, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) getsockname(r1, &(0x7f0000000200)=@qipcrtr, &(0x7f0000000280)=0x80) ioctl$USBDEVFS_IOCTL(r1, 0xc0105512, &(0x7f0000000080)=@usbdevfs_driver={0xc4e, 0x7d, &(0x7f0000000180)="49147389f4720b004720044590cdc676621082a99f56b3480e01"}) r2 = syz_open_dev$audion(&(0x7f0000000440)='/dev/audio#\x00', 0x7, 0x181000) ioctl$SNDRV_PCM_IOCTL_WRITEI_FRAMES(r2, 0x40184150, &(0x7f0000000500)={0x0, &(0x7f0000000480)="c6f3618df4d0945ee00e2bfe6798b048bd30da628227c65709bd7349cda61d38642a2d7889ad26459aa01bb4b8843855523573c97fc8de36b49a87ea0eb9459f808431440e3aba1fb199ec38d502bb3def8c6aaca0120eaf3e547970bb7bf73c51", 0x61}) ioctl$UI_SET_ABSBIT(0xffffffffffffffff, 0x40045567, 0x5) mmap$usbfs(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x8012, r0, 0x0) ioctl$VIDIOC_REQBUFS(r1, 0xc0145608, &(0x7f0000000400)={0x7ff, 0x5, 0x3}) r3 = openat$vcs(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vcs\x00', 0x4100, 0x0) mmap$usbfs(&(0x7f0000ffb000/0x4000)=nil, 0x4000, 0x0, 0x1031, r3, 0x0) semctl$SEM_STAT_ANY(0x0, 0x3, 0x14, &(0x7f00000000c0)=""/172) 18:37:24 executing program 2: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000240)=0x7fe, 0x4) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f0000cd2ff0)={0x2, 0x4e23}, 0x6b) mmap(&(0x7f0000280000/0x3000)=nil, 0x3000, 0xb, 0x110, r0, 0x97944000) creat(&(0x7f0000000000)='./file0\x00', 0x1e0) recvmsg(r0, &(0x7f0000edffc8)={0x0, 0x0, 0x0, 0x0, &(0x7f0000603000)=""/81, 0x51}, 0x40002123) 18:37:24 executing program 3: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bf, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x6}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x8, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="030000", 0x3, 0x640}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000012600)="ed41000000100000d4f4655fd5f4655fd5f4655f000000000000040080", 0x1d, 0x4400}, {&(0x7f0000012800)="8081000000180000d4f4655fd4f4655fd4f4655f00000000000001008000000010000800000000000af301000400000000000000000000000200000030", 0x3d, 0x4800}, {&(0x7f0000012a00)="8081000000180000d4f4655fd4f4655fd4f4655f000000000000010080", 0x1d}, {&(0x7f0000013900)="111fc0d90100", 0x6, 0x30000}], 0x0, &(0x7f0000014a00)=ANY=[]) recvfrom(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) syz_mount_image$msdos(&(0x7f00000000c0)='msdos\x00', 0x0, 0x5, 0x2, &(0x7f0000000440)=[{&(0x7f0000000340)="0861097d6d4ee25aab3517491282ebb5345a5a38dd907bd2f3453d54ea2adc35f44fb0c960114e8f51d79e2a042d53d514e77d4c45099a011db280bfa4c4f012d98e28f677e1cab061a17ccfb5474b86b171ccca7de340b666fc334f5c23f8935ba0674ede424c8809c859a0fa0fe19dd5b9a8a288448ba8410ed6f0e04dd49e81582690813e8afa5b2fb6888263de33d6b760b138f718f7f69b04f74cec7a3baabe0c4f91", 0xa5, 0x6}, {&(0x7f0000000400)="1deef8217c8bc49b1dfa89dc1d6b31965e9ac037a496648f2c94207094c0222b85d2c111d86eff5cf1a4186bda", 0x2d, 0xff}], 0x222084, &(0x7f0000000480)={[{@nodots='nodots'}, {@dots='dots'}, {@dots='dots'}, {@fat=@codepage={'codepage', 0x3d, '936'}}], [{@subj_role={'subj_role', 0x3d, 'dummy0\x00'}}, {@smackfsroot={'smackfsroot'}}]}) ioctl$sock_inet_SIOCSIFNETMASK(0xffffffffffffffff, 0x891c, &(0x7f0000000080)={'macvlan1\x00', {0x2, 0x0, @initdev}}) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000100)='/dev/kvm\x00', 0x0, 0x0) ioctl$KVM_CREATE_VM(0xffffffffffffffff, 0xae01, 0x0) r2 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$EXT4_IOC_MIGRATE(r2, 0x6609) r3 = fcntl$dupfd(r0, 0x406, r1) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r3, &(0x7f0000fe8000/0x18000)=nil, &(0x7f0000000280)=[@text32={0x20, 0x0}], 0x77c70cd7ab1fe31, 0x0, 0x0, 0x0) ioctl$KVM_RUN(0xffffffffffffffff, 0xae80, 0x0) dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x0) io_submit(0x0, 0x1, &(0x7f0000000e00)=[&(0x7f00000002c0)={0x4, 0x0, 0x0, 0x1, 0x0, 0xffffffffffffffff, &(0x7f0000000340)}]) sendmsg$IPCTNL_MSG_CT_NEW(0xffffffffffffffff, 0x0, 0xc000) symlinkat(0x0, 0xffffffffffffffff, &(0x7f0000d06ff8)='./file0\x00') umount2(&(0x7f0000000040)='./file0\x00', 0x8) [ 491.495060] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 491.538334] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 491.558911] loop5: p2 < > 18:37:24 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)=0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000000000)=0xc) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000005ac0)=[{&(0x7f00000005c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000000c0)=[{&(0x7f0000000a40)="b5b38567769c4715bd260dddd33813cc0569d2f6d4497eca255ba93fab41f67c0ed233344fa961e6ff1d79dd50f3f94ee36a75ae75a75516f36f3642156e16edeb931fdb233eed99d303ba20d0261006554e68e0e05de523fb3e78bf83acfb96ff6de9b46625fa8fba3ca18cca20656cc0424820984e08735f3245ee186a59031f7137e9754fc97efbd8fdaa614f7d891cde2b08701ae33e1b8fa49fc0b71e643792eb2bf0352102ac96978eeddc0e08945df6db0d02a2710aa7ed484f6129005aa2d653cf8b51ed14208ff7376f129d4f7c48481b8ed8b606bf34fb30d1bcd67c480dc8ae4f1ed78ad5930e758a69f8d0f9c093f360960a9eee", 0xfa}, {&(0x7f0000000b40)="c863db746b6d23f7ccb114bc72acff7f76f2d0156ac62cc9b7269255509d4939b02ef7a809cb08d153a6403d6cea697a6a30f84bfb60fbe13a4f01d9b50b308c21487c05648fb94f7b81d30ed3424a5ffcc98540bd3f101d3d8b63dd7cfd6a559ea8b676508373db090f3c0e7ab3415a48dfc1620153890ada098064f6dc1a32051fed475fbde91b31a8f5bbf32e233282e7ee8f5d67cb2bcc0326f1f60f07d58128ab3f06baf2c6db8b6bcb2b32cdf8b5aaa9a72009c332c22cd7cc6b26ae", 0xbf}, {&(0x7f0000001e00)="408244aee4c3ad13c20f711ee78b681d8c7800bcb85261fef9393831e937ef75c0a96f2badda32c67c9c84c496d2d67c44378cecb6ee8086a9f6313ebcb28f812727824a28c90a569d1d60f10d7d732af3032043a71178f80e3fc81bde7e5e9edc663603a8914c317a27cf3699d6d7943bfb5d247219c3ff9e9a73181781edf58ac150bef61be9b75c38dadaeca4b745d481a5807dcc340d51d22ee53a2d21f77e39c624b6ac65534989ea5ad1a3686aae20494657bc59d33498b8b95e8350c4ee939536a2336bc1099eded42c0d2c540257bd0d339071489b64f1364491496fd381af398a0a1865d729ac16e02ee5887dfaa8e79a50abff87a943ebb579f34caa1790d470e92d51e7146ef8f1cf61aebd82cb644633cc2173f554603751e56b3cfeb0ea32071bdff9d237e39239b579929fd5789cc7bd71e20b4023844ef13bb3d723b7dcec0f8332408ebf2b98c09716851d5d572a6b7b60450aa9406ea6738596d974133362660d2ecec0534e7f1e366902383a5cca676a93ae10840826d2c2389a89732e828da1ebe6c68382e4b256b1f4554aadf49ab40792b940eec978497d48c9c37f2d65b01ff10ce9fff2ee6dd3f7a89927349481d16012b7eb5218aa639910a1832134c8b44910eaf49118dd836d9abfa90f604d55a85966e7765dae1144576fa63c95415bcfb091c1bf57c8967c435427176c7ed79cfece7d1bc2a460e80e025d8545fe59b5aeac6a1ade4af3aeb6def0882af6ee4ef61c40b47f78dbc1dc67247893b939d3fb9a657b15ff0b41d1f0e13fb8136160b99959c83e7853283c0d3e0d1b3af99be2d3e1e6ea9e18e74f9e663dbb6e9501195a330221053e2e8bd264f235a98b33ec855391c675315ca04660b8f842c451a65e845c5951fde69fbcfef39d3ee7d8e59c71bf145248e291bab2eb341c23130d48ceabaebcac4f11b63bba720edefb95da8396dbf0428c8892df5dacc44ffb5843eca8833a9f4d1f78d0c00b6b150d5b70db5d6cdba9023483b99aa322be3f0b60a8eaad0194dfa5749a95b417922a2affe6644291bc62168555e169b738da0876b6786cbc1bdf052eaff8bbd5e885bc4815d4d81b779480c6bcbb0896c3484844e20d4d4a0cfc4c94b21c95574af1a6b32a7445f0c07726cd9d680adc290d55abd3f0862e65e36b7d06c26e9e9bdf5a6180f418ea78dbd280f8f4870f86a3b373a851d017f0fffbbd96570c1c1d5384e4be7a35ee26b124df329b431a15c8329c6f8699e1552b2ed829f2f1adbc57f07bd6202416c2dff2dfe083428f799aaf08544dab23d67b221f7ade83f5b339992aa626d61a370d951c607c29188264916e4e97c93d574fbb575332ab3dc03e5407c20bdfed3dd8877b42372a9e1925926496ae1fa57633766206473c8f0884c28d455a415ff5ea2a53693449bcaa4c6a19c85eaec0da852695b3ba9189a844c30868a5e53fb3c4792d6243798c35fb3da79a2d7f3cb5873603e8f184bde0d3323dd6faead0b7a7bbf5a3126aeb00a4578d2a8823573518e6cd0933a965acd99e176a2ab81caaa83792957340453a9aadd77c439878d286dd2f053ef2e1c435501d8d879cc3c5a6ddec46c04efb6b136fc4993df210b003184858c5557cee116298188585a523261b1018e106520d75f04a431598783fffed30edfcbd3b2a5b6e91ef3eecc40a2519885c354d19f6cd93cd2dc82b1448c2dff90e9525b54b6ee9e400140dfb99f7951b0f4b74708e679cd8641b5cdcd4dc95866ee0761177ffc20323aa00688707ee284d3a6360a316cd9138f317eeae07a1650edb4328b74026eeafa34ff04c631805f35f7ee1850187b0b0ece0858dd33c4aed6eaf8e9a906c19050709293ee90bef9e8c1342fceb34da2883fc7faf5d1c558b572afc152aa33ef26c1adfba4c9d3cae73eae240b54f548fd7e6d4fcb0d7e68a504829caf6e3c2ac555e0f0d534c9aeb0ed5b5290d79332bdad1a8c0123b9009db1899ec12c79a39df2eb388d6d0b6b162a27e8a43bc35889eb3ea888ea422d28680a23168d6713e5cff1153127fe525750c43dfddcf16e2c056dcc406e3afe069526a6c7ab2524762b652c66da2129551b03a7d7d0b596a9af66226c8cfbf0e00f831c77fe272f989321fbcc6bc7509b06fefac27081651cfced6e3a9276807d13017993c4173b70e0d4efb432301e237f4c58d49af758578e1a64007ba6b379f9c3f1fd90949bb8fd91d5d154e7f82180cc9b42df502c725ac805cb44c1136da1b1cc7bf78793569e2f16ad9b0858ad514d44880436b9da12df565e0e250f640fc932603bdb8f974169a9875dd392a04dd7d25079e7ef02c9114974356358b6fcbb5895c4b502d15aa89507b07dea273c7183d43a0f1225d3664cb6fa4dae95bc84e58285a276041bb5e92c0203a9513cbba3ddf4053b4d6d5d197314284241757d1782ffb5c9d7f831b83a2f329702f64be7edc3f4b9039736656dfb6fbd7eace9e4bdf1523dfef40198941d8e7a0145305a6b8c926889201711ea9f7aa72c6ec994b1bb8f8553d94d9fcfd32839e54eb27e42d096e3ce3235611db3d319608ec4034772db08a93737b9dd623c9b6ac0f2ba6bbb26d64186caefaf39bbd5ff82a84c8773019adc88d33874bdd9a4c9a3abe329450b16c4c5891f80b3fbf61cefecb146f6ef30fec917a587ee6d5b075218194adb36ea4dafaa46dd5bfcba7d993780e9120a485f955cffda333f5c19fb1c7a0bd3673d329955ae66cd19336cc70dd42e082935e3d3df0b069ab524dd33d0803a87deafe4716b70e69a6ab8add3d95b120a2eca813e6e325e4cc2d92f9cd81dff26326366f27432ebe32fd0588c850d04676792bbeecfb3d2695675d796858e208159ec293dac9a82e64ab6d21b6856d7d29078387a355849d8e1c207e0acc771a319bb8ab1a58e0dfac12ecf0bf57a2977f51d0f236e9c3b4edd28347426abe3fd0984a80f59a436d9531caaeded6aa892eacf696372874b769a56ecee7d6abd08e82e87c9f71dcafb4e46b7db1d4fb730707c07a9b54d51b0c22f656938b14c4e4f46bf193d28212e91e754cb4415b9df76ffd7ef758b9bc5442e3b4a248a50394e8c9317ab2844ab569cfddbc788618366cddb61bff3497f25c684aa0b95d864c1f348c32a2d193baa2934a66640cc160775f15e1af2ceca3d1af685b629d509e921839277d267b19579d5dae56dd2a42903ce1f877bf369cd570cca10594713899d66122b86ae1017ec326c8c1813d2f76e07df16c89c968f9be39dcf465add0dede58593b87c622b234774f82fc7276cf1a3bc79dfbd4091d4151af3d34e2e20f8a43598cc879afc5bc52e58e49d462b0888b9a7fdc1b5536451eb4848f74b0b63ef70856d16c62db6b5a6833f163c9e3c07c569b6e0e32523957a4960205e244ebe3d0ad30124da32ae396c80242746e87df6c31a8a5dca0cb84785bfc0d0b5c876a2cf24b5579b33a0d396abfd61c42b0566501fd61e402040a9cee0dd6caa3b93647140a7456532a6616b528cb795c0bc6078a21b8696a17b4ccfb12c02f055159b94f84ecb74baa42e069f4bef4248c6d0925215a70dbf74f254e14139e16bad13cdfe490c9d3a1e1a9e3e6160496d61352d32215344f51012ecc69ff272ebdf634ffd63074f3d7fbce8e14079a78f1c43c7e1f53f4b4ac02f82e755f98ad3e427ff55b2dd10ea60aa28084aa5b0dce773f96b35de10d3f25abc8975f722543625542ad40c6c357fca32201b87c333de24d8cf46089825a7527df4d23fe818fdbd5367b1b211f43f8ae472d8156b23621cd94611de5d1ea6c4d5407d3dbbfef7d7aaf9e3ed7a74fa95b23e42bba01f3be92a1aab4fae78222e4e43b4e5905be50c841b1b246507fb6df976215de8a1d548a1d3016964daabef22b790dc0e54d9e98899d0bd6deb7ccf52798092f2d8449b1730bd82e9a004c8a866d89a7bd5606208d6fd6c340b8b3c7ab674a807bcdd6d07077d6ed321e429a076a3235382308b62466dcb8c799b8653b8dca7786439ea561eb7a01245b335e6cdeb399b3b1184263fa39ab92125a59d559b8f0d58e37ba3e2bf80242db470f36f1bc44316ff130a977b4dca53307e62c05c6d553a234cfdf0b153a85fc34f108d0d1965b8c971dd4531613befaa9f82351c4f319bd5679d00a84386371f236e2291091e1f690ad950e11e3a223d0fb97296a83634a89fc56cbf4741dc5042dea9794e1f8f9fb15630e0c906542ea55d6480431198114eb3650e30480a7244de19d4459c96dee02ba2f7dbac0304086f46ded7b47c5bacf412f79aba1632f27f235a365b697b13cfcc8848c69a839b74a5c89cb5714bb081eef53d9c84b54a1d48131ee39b215eadae4ce2a179934f8c3d2e48e41fe2a93d7dccf47cf7b65b377fbbccfc9e0fdee294da2c5ac663c9d532bd3d82621bb3d63bd6a14a2e137a96de9f7ceaaa6ca179ecff5cca423852bf64df5531a45c2c452bfab042da662d4502c2df59249d634a60f7f091281cbc205106b4a871fc8153d2848cbbfc0f3d86d82ea71325b3c4cd5fedc93de6d1372ba8d841e6059352660f3f01e22c7ce9893f69b8fc7c69fcba99692b7cc1a69262fa314c81fda46880ac4978feadb69caa3fa4786c1f4574b675172034878556b7b63f4f78fea3b8264d8154ea42d7e958dc748ad6bc43f6a6e7f0620fb4abe530c1defa558752953e6b1c26c0f8b8d1ef298b58e8aa7dcfdb9d035a3587e2aec04e960bc0c8e3c321af17a1bd4d58b5f72d092c9dce096b430e3b2aefe9c718d4c812aea54129171f9027c3dc6f8f1c20adcd2912e2c4148ac3a80abcd55a8e311b86a739b81763b8e74bc27eae7be8c9528832d7623fbe62b2f77729ee50b9d611aa3b43831ef371f2011a36445df37a1b9aa1efca0622b0f77d3dade1919c9312572bf0069157a77cd011e6e257d4a6476d1b68e5189df9e14cf955229aefb9e59ccef31fb967ed6bfd117b3000b72f701396f55b7f81bdc20d7568994d38c1b68ed6043176d2756ec8ad5753baf38958bf4d5ed1f97d09175bbb771742815bef74bacf7f4c0953562f423e6ff78a9eaa1ffe89f548a8d61f24128aef9e06466f7cacf109e93134e9dd5b54b7dcb0c894942292afa90f76298ab3a4c145b7fcd604cda8e96afd8e4aa8f54112ec364c2f0e7e081054f8e397e8fe5e6ffaf3b1f94a72aa5ea345f37001349f721f77d6443a6a325b16b511f5c9ed3c01fdf825f79b7c42ca1b7d3c2fb7647ee039982981eea6c94361f1885c2e6bd0aa1e333637491d03fb7dec5e87a8c75bb16c387b329f41d65cb81b3496c9aa542f450739859c9ecfb5016dc9e4a19fd3bb4fdfe27cb4e5e38082f3c8e56c8e3997fc31082624bc18f1dcc364324ec96167c6c410f06d920bb7f644226327f684288ae6ac619aa542f2346f7c48194dd7e400dbb0b5a87127397bf692bc81ac13e4f25a84cff691fc2e5dc9451f9812b0418c4845ead7e8bc467eafb64c0a11d2ea0e9466f7d40d214657df4cf77e75067caaae947160db79ecd011e58eacb8a9fd082cf82b2954055aa583540fceb9e71741ea2d4d42331d182e8ee2f6da36cc7220efb67c5ffb23162e386439a7873a94b7f5153f24394a4c355e8b675a975e36091e504c2083e7f25a8191b0200acb6fc63ee0f3505c0fc80ff8aff692659ca64f9d43f1d9c909edc070f280594858c0180e69c1b874010f637410b16bdb7e346525f19cb7f879027404f5ca0fa2d2979b764ca2c806c64881bb9", 0x1000}, {&(0x7f0000001d00)="49dcad16ffcbaf30469e6782c5da8ad1fadc102751ee8ec0d312e197cf39a6b802e40c9416e7072d3bab15d749b80e09169629fde0cdc249c11da9866ebed6bb01b9b5284f0bbfd7a4e0ec4c0ec1a3318f40e7ee951659ded97ed264532ef2ab360e6a8b2e59c590df68e193c304ac5f6337804c0eb18918796d71819a3494e038ba288125999852d884999ea434d06595378b0422eee9922e9744aaee29adc259451feed4c48705cb4cb19fccd12b549b399345cabba4a7c454d5eba38a44ceb4e298aae8e7ac65378382b75fabab31e0378a13b21d7bc1e25e17e6c0c2410a2e266cc7d954a56c83df6054e0b3e1c7ca", 0xf1}], 0x4, 0x0, 0x0, 0x8000}, {&(0x7f0000000640)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000002fc0)}, {&(0x7f0000003040)=@file={0x0, './bus\x00'}, 0x6e, &(0x7f0000003380)=[{&(0x7f00000030c0)="9515d80ee43e8f596659af649e5dddeb08ea3ccbd6d3999ad80501305609bbdc1a0fe7226b8b55d1a95cc8b060086543542ac14da9c5a16803a91f6853d3f556acfd041a2be2f855f01c744ef3040f8da612c0b579fca58d60b1e50c3a85ffa0d13a2ee4da35fe4518d8dc16265a8a56209a53625347de625fd94300db37941df69821db6f8546d8c402be43ac103066597669b1189911c832ad587d7e0025023cf462cc3ed8c8fa8591c5a78022e9a3b5f14fad2b5babaac44a8c26d4169563e1d5fb0b30bdcc23f354a82033d56f7ce367b7145e76b7b9d785515594dd24a61915296e9a92b6471839baf566c440f3961cdd066f055d965ca403839f23", 0xfe}, {&(0x7f00000031c0)="53c01763e811f5900695f178d78dbd213a872c2b4a4a6349558333b3d55d9dd5657ef38ab1742ed0124bc824638540ca2d9fa626b24908e6eb8548b164530f0b1d2b949429bb6cfe0eae0c7e93d356df0015ffb77ece478bb980ba56f82159f9613f151bc5beb31fc7722896a70f8dd0d9fd987b2da677a37815d7655eb1e24bfc7078622709561b160c5de4b93c03d1747c9a942578e169e9634f", 0x9b}, {&(0x7f0000003280)="52b8d828a3a4bc895ab80c8f9fc29da6b89f95b21cf2efd791756dcb5418761d97c9a34bfa4091058f646f33b060273418e415e6168a3fbd326df77a33b715df4e0bab4a50b04bc361ee160e207d364c915663264159395ad31864097212b9e807662defdf864a22aceb8492ff09c7097716f41ab8befe10d940caa26822ad91260b13c07cd102541cabe4d7b0e8ce", 0x8f}, {&(0x7f0000003e80)}, {&(0x7f0000003340)="1016b163af216135726f7bdb1551339b92686cb80ffa3d47d734a13b1d1e17", 0x1f}], 0x5, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRESHEX=r2, @ANYRESDEC], 0x30, 0x1040}, {&(0x7f0000003440)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000003780)=[{&(0x7f0000000400)="9097faf54ee711e97021e369ce5c3c522bacb45dc307cdfc4da996c67609f0e28f9c41caaab4af8811e4aecbacc38e938f607205e3cf7924d624577506c72e4aa08cef107646408ec112fe2f3230fe1e0271faf05026aff049", 0x59}, {&(0x7f0000003ec0)="9650cba1e31db6e02c0ce93cecc11bea48dea9437f5716d030060a6744eabb5736fa3615f8fa76870ce0f1efbf897fc35233dde6f879adfbfa3a2bcced89157c30015484267cc07a042aa6954db6ffcd5a901d7c5407d222fe6b2a5aec1bd1497baf9414201591ba102930fee5c363a893b7bcce555e963b8bd27205fdfac520b35b238fde8ae3cb9850d994f2324ba595e0bf98cc8c9c2cebaff1995f74b447e280f34e9b7f", 0xa6}, {&(0x7f0000003600)="a2ab7678572f6f0b9766a684a1907bc5c2abfb2d3439fb7b364ca7d5fae59d27da5ebf3649aa4afd065387e81ad0de6df0a96f5e42df3865e2b1bce5cbca9eef10a1150cc3969b189330724e853fd2bf4dca17c4d4c1e91d03bde66c540ce473ef3fd788b5ad0f2db37198ee51be0619225c3b2ab6f13fc5666b45", 0x7b}, {&(0x7f00000036c0)="4fbba31d434f", 0x6}, {&(0x7f0000003700)="6fb70cdf1ee5bd77a35c8cabb37c6f134b1b8a42a3eb189f6f5082332083adcf2be8431a88fd30198488cc0442ceca3bb03a5696759af7697f2232e509e7c5d7554e0efd18737fd1d2d059c4f5b10306feff3e8807a1a7eea5a0c5119cd7a5ef4039", 0x62}], 0x5, &(0x7f0000000200)=ANY=[@ANYRESDEC, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32], 0x20, 0x24004001}, {&(0x7f0000003840)=@abs={0x0, 0x0, 0x4e20}, 0x6e, &(0x7f0000003c40)=[{&(0x7f00000038c0)="baac0249cce8c70102c9d4a151dc60ac831ba365db1bdae1af3ea52d59991a235dd714100bd4fced58e67d5f65b001f43eddb1802b667d3f9682eb1f08c863d37cfc9e3628c2c6dd", 0x48}, {&(0x7f0000003940)="3d60e0d7fdcdd31931040a697f90e3594a33e2001f7fadba03af5ff3c34213ff4cf7c4254ee65a1bb1883fd0b18c441b3574b89dc605df6844a9febf5785b56df5381b0e66b9336421e56c140b7f3c3a54c2f414e10aa206a2da17035488ab3117476a25e09c86bddda2cf5d59928eba3b3c764786b5ea0b04a333ee46c7a5a901cf45db6387cfd025348171f4eaaeede20c31832bb53a3f35d27b722eed697b2c84c0f1007726fa7b969f6d841a4fbc8a2d4d76023f525bab8c6ad7d0143782d0a509523746358365b04fcd718340df027850445aa58eea", 0xd8}, {&(0x7f0000003a40)="3497bd3e729b1585f1bc8fc7ec15d7722ef9fd34210c17b93cc27ef50487b185e07a6d6e2161e798e0693d4e40cb5dee0f7dab1f80bcbf43636c146b7a1f964bffc2c5d2e445b51ced70", 0x4a}, {&(0x7f0000003ac0)="ed1d553d723fcccd2d9a3950a6b166ee5450bb0769497d09c304bc605ac67f56fbc30580d8cf55e2b47899cf08bf553d5b3226310162d2a9c50348e7cc47e0c8", 0x40}, {&(0x7f0000003b00)="a92403dc5d21cdd35424450e3fbc00e6b3e607c119a6f79a8848c4df280bcb14aa42bc663bf735d1c4b00531780a608cb1c2bf73c77347fb15d427b9f100cf1f78bacb608170e1e71c4389d039504925a1e814aeb5cae8a28d08b681fcc837f961449e973875456d4630b1d284ddce49ff05216cf0d2908dc061151a593ebab04d3b3c25a1299ef4993a763cca36e2bf3930fcc708c25df31ae9459a986a62cd5fc22aab144ebb80b204c7156251d732ebfcd5919de021704558aaf11dfa4afcc93f58477dab0725fd834697777616e01b1af185c40b8e7a104e73857f20595b2587f92cd754f6e6bd80da74395aab22f8431be3552eac3cbf", 0xf9}, {&(0x7f0000003c00)="70efe372f6e28da6edde3abbe5aed126480cfdb8b900a9b8", 0x18}], 0x6, &(0x7f0000003cc0)=[@cred={{0x1c, 0x1, 0x2, {r4}}}], 0x20, 0x4044014}, {&(0x7f0000003d00)=@file={0x1, './bus\x00'}, 0x6e, &(0x7f0000003e40), 0x0, &(0x7f00000006c0)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32=r2, @ANYRESOCT=r5, @ANYRES32, @ANYBLOB="0000000014f9ffffffffff7f00000000000000710017a425de257702f800", @ANYRES32=r1, @ANYRESOCT=0x0, @ANYRES32=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e00300001015c26d733afc27251df02688642f916551bae95127ddb950bbb28720ba0f9b42e04eb0a9e8c43cbb33613584"], 0x58, 0x4000800}, {&(0x7f00000040c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f00000046c0), 0x0, &(0x7f0000000f00)=ANY=[@ANYBLOB="1c042c8f8d42d584a58200000002", @ANYRESHEX=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES64=r3, @ANYRES32, @ANYRES32=r2, @ANYRESHEX=r4, @ANYRESDEC, @ANYRES32=0x0, @ANYRES64=r4, @ANYRESOCT=r5, @ANYRES32=r3, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYBLOB="20000000180000000a00000001000000010000003bbc486dac4e67931a8be19ed2a48717025cc3ae006edd4eaf7b53e3eaa52996f15f97fd266a00448f417d4f276a6db56f8c764bd490ad9c4c44b490864e2081c9f9cbe1c2357e5fe8370df0152a74908d85e62bf09a4a517fee71aa96db9f61e9b9830cd38c13d90b8875c7", @ANYRES32, @ANYRESDEC=r3, @ANYBLOB="28000000000000000100000001000000", @ANYRESDEC=r4, @ANYRES32=r4, @ANYRES32, @ANYRES32, @ANYRESOCT, @ANYRES16=r1, @ANYBLOB="30000000000000000100000001000000", @ANYRES32=r2, @ANYRES32, @ANYRES32=r1, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES16, @ANYRESDEC, @ANYBLOB="0000000024000000000000000100000001000000", @ANYRESOCT=r0, @ANYRES32, @ANYRES16=r2, @ANYRES32, @ANYBLOB="808247bd22be9cc5e3c74a412ffea1762033f4b468c7c55f64869089ad6e0de94d845bb413f2423cf489386185819ebbaa2c0118887735b75b376299b1fc08d5a3a361a6dadbe02df8175e8455abd2c1d9ff04fc9f854f2966655a2486e3fd772af61d3371a492d08786ae3a715c0f60b7846e1278816b50bc820044adc0a5d25a6fc38e22c19fca58a4278f12883d634de7e5098aa76b2380743993ca1de077b60ec7519f4dc1bf290a5e71431f47300fe63aa9aa1ddec094b01a2e9652e898f48a564410ef559a51f4", @ANYBLOB='\x00\x00\x00\x00'], 0xfffffffffffffe48, 0x50}, {&(0x7f0000004940)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005a40)=[{&(0x7f00000049c0)="ede81efdf03d2fa904d7cff7351fe8b2a89cb8a94b69ade2cd425e0384a5d5df5a2afc01b25eedc256dc7cc63c9a94c308c688b159ee1ad66de5bb9aa37626d8f57d4e3914750a79b5c45b8794de8ede3e2323", 0x53}, {&(0x7f0000004a40)="e63b86f8ebcc04b743d5fe914be15ea7ce821417368ed519ef5759a0c0dd313f299de4f8c1f434c6d5faa662535744e89684f6e39e2eac6a4b765780cee828f0773f167d704ab9266601d6558f639227708aeedecabfc801f360b7f9676559564497cb6e4e26f82ea4275333cd4aa92169aa7bd7fd2400580aec4f13cd11b3c3e46ec8f9ff663b11bc1c890bdf36b40a6db1093f2dd7bc1e11f39e27f15e540f32a959a5dc3c1a4f61a49711a35810778235fc6295b8670b7fb42ba3fe28dabe3eace5155003048bbbafb193b65de7e2cde18b1093a531805a56f15441a3b41e3ea75d24bb221005b03191977df77326f24b94ee481cc846ee9c2d7bb7099f9f401111b7d8b275593179f59a5aae91b9a67dd53a2ee70e7456bf7a42baed49a1675cd141f339f2c4d5605b899be3e97da530517964221a5208e06582739911574b9aba4ae53fddd63898a8b1cd3b1d2a27bf00c42e13bf38d20f64efd1dff711ee541b8af6f55af44914c634fec6e1ab893d21727ae37f68151ea79971f15ae731cdb000392349453dcaa08cd797ad1f46534345cb4bf320f72755ec77fd860fcee21770fe11ba17fa96213367ace655d34e37de586a408f17e5cdb4843e5beaeb0215ce9c5f9711d9af8f0b58094a4d3723d6201e80c867db7473db174ec7c16e663333b47e79964333e178319eb9c19d579ed53fbf44e7a9cacaf87d2dec60feee906bbfa18ed399db854c78a746cf4944e9e0af0dd15d0bd915ae43a5173f9c73c0333db28de454b0ea76446c4b3763be384d072fd48688dd27e43bf4d2045413160c140898412bfd5eb3bb880e1bd1005f15d1791d6bb476bccb78d5a00365adb7eb9132ca020dd1a0afd12f87c593036c5219cc0f4a4ca2b5861130050a486e35e367afaa5562bb80faf0b6daf06c27b04e2ee68e94bb944b6e75ff87245e5cd0b49084725921ce7de4500925f799bcc0e22fc713ad78b2908998c0032bed9ebc86045099e5b66a189aff2d60c49467d912f29db7a2fe29c35c1c0bcc2ebb001dd6875991848465805311cc58347377a6600a719d8b8ae25ad2d786adec6af7fc7a11590fa58b40dc6d508ea56e96fa50262426ac0d88c47f84745366847b2e5a39e4b4998d0cbc6dcc0c2a87e420278353d96e33e73a45042b1af98b89dec1e2f36f183584b81a75a4dbae1ac44fe8015f29dc4e87dd587915bd5b274f2de2b837c847d24ee5aa1116790a8e46803be7e6d3a0a721c188135b9c1ad1ee2265455f8c0b90e4aba72c506afbadab3b99e899068202b235c73df394010d258a2672958e0cbcc72d644518a99229afe45e21fec74fbc456985be4ec4471b144cb447b7d78abc5cc23ee68e4f7a6b8d680e11376a84b8ae045e048a8b59159191456713363ce3f46c9eb59af3c92b1382ff45e9227a7989acd952f75198db27168be8a572c5899821ac15c17fbddc813aa2d655e551e9278b59f560acac799171abc9ed85bb3886bc17d0d88dbfa09da8514e78b9ad1b75018098851ad3ecf54b535b38d15205761a1cbd36c9d3ba28e07c9621b3b4ffde4f8313f2d2c70f18b2e054c100b7afe86363a4f2bd032a719416c3674499a5de28fb5854bb91492bb9406f24996084fbd1acff58c8e85234ad5ab24c8f609219c2d28c67443cff02be52a5fca19fc32db0947bf97ca21dde25e93c430fab78713eea2fbeed4a958f5c9b4ab2319151ca1609348f7e4b0daf17b8066083e7d408ff77c4f8be5585b4fc9ef278e614d91b698458f440654981b9419496f9c5d19e89b70d2b997bee8a6f52b3d56d94d49a5829bea201768f75e4d76d186c8572014ab235ad8283e9c920f628daa57e36a091a3f3f48d0c700ef84bbebc8b3c5e36af8073ece45aee5b9ec528d5d14b32a0db82d3aa527308606df1b465aa6fdd8f5875ee94bd77bf2420ddf7a77bc35a8b1f2bf064817736a513030678e8adc437ade3e719452388a59fee50a71cde26b29b95c7657f437669523d944893cc47bf41d6d71951537130f68f4e2265c4e44a34377767155e004feac0b2ced9f027a18629a93854a3f24bc1de20048be2fa5d1b4f00a9c87c9016ca43821e52d9b313532964d1aa4f3a2f145c18926c14cc7fb02bc82ff46c00c14de438f8fbe9c60fe3a778ecf64e8ad4a82bd722a2b68cff02cfd0b7bdc22ad2e991517a252ad93e20167882ea1c8adb2a2b8f45a228e2353f31408528ee1052d7312e925e5e2d3afe962e7f4da29e02535f5ef4f86e31cad5651a67b60f6d705ae4ae4a504bd5de7a2d7925422d9a1feb5597272a3307ff3b6d376e5299f9f9c6f632dcf965eae5e4148b9d10fa08a751dcf08b332034814f7dbb75d9e6c130f7ee66095537532832331be1386b39c1bdad75669b984362dbff0da1ed0b7c52ad8cb102d764a333cd472a492f2477b32f3e81b38689d98a042b1c663c7f1486618446659d30c0235874a3bc3a11a74a5739681b7ed7d484bf52822cb9fc84e78ac7a9a7f3fe2d8e513c930d6bf46ebf13f3e1da98be1777a35fa0f48f142cb0bee46fe6ce1b27cbe9328dbe015351876d3443830c76f5ef4755a6f7cef7cba294308c122c7631e1ad0429ffdaada20cf0caaa15a6387a96bf578a6fe497245844e8f658bac90cbb82e290b3e3a49addc30eba1cde25e62d0738d07a9bd2a37ff7596e03ac9d3451b1711bbaf13c6219f0efd1d85b30057c88d70819aa810900f20f987bc89257e401c26aa0cfc7425ff61fc4385587d82faa06dd6d5541cca6b372131fd579289bd7ca94cb19ad309c30a4342dc531f0c25ebeabacc065ca8ab735b769614ac1876eeb456289c424b474b12c6244c4e25bb920d923ffb07bfa87eb82fbe8c596165b976bd3802b2d7b77d9e90e6cd74961c6c8a4a96b6c43597fc6c2bacabf5f9da14d98f598815fed8edfe8fac8c978431be9dc563b91691ccbf052955cbf8a4819ac2651470827dffeacc3f926f9f5e20c75331e6cdb6eeff128c2a6fe6d475d3e384381bd6f6bcc831b0b980f47c80f8a52994e760e76836e1489df47b863064480bbba9726adcdab869e102c8ed27483f2f643a8028e3a4b1f813037896a0412b75755bb49835d60510391e9fa5c2c491c2a20b03d389d44a56914832a66525c242b209bf061b8fc4a993e53dc7864090f39e76412a7f69363812d92af16d4d6ea5bbca7c90d1b66a8c1ea8a95cc10042a601e484af51ba2dbbb819a98ec158fd401128e387239a8fd511d942b287215693959dffc7dda0728dbc0730f0b16a9f111d3cde21f739800794843a44a63c9bdb3d474ad07c072d444862a89ecd1b7bea61668e2dcc155330bd06c31444a9a9bd9e04eccefb2a6a853b6f75488471ea0829e12da9a82e3d2025b6415e5ebbcdf2dd395ea1f2ab1f202d9b43712b24218119aa1c895e4b7b29795563ca8ab5bea7789b162c841fe3799cb875d6f7f78adf1d1f04b0f7f04f6342868b2202a5b9c263bede0a1c84556a9be5bf6b6df0fdacf0dc44a1bfbabfec2483a69586e8b2c9fc7f23e6f58116a4e46db882e2ad524c92a23c72b98e5653cdd5d982b9facde03063db0ca002aff248a7ce179ced26eca30e68aaaec3a6614110972c7971c6d4157545bdf26abbb1d2696bcc7003da93452060f98ae7f3c56a1f263d16ad5559dd239986dd7a94f6ada92042bb84f0e1f3d9999617c729e37894a0de5a5f190e1a6c7e4dd64acd72ff3960347a0e1066f590c7b47678b90b6bf8e40b64e0fc349ee0a56341a48a58dcd1ac3b3863854d4c654f4d8ae0999eccba22d7a2d9c1e6e4c2c0be460d40948f455e085c158823bbf91d942c6eec130bfc47c3f7cf5accb5dad5f3a00a8c79c3396b00f5e639f1ee3ab59ad24e451efb80524064032a828461b3acd8a1034de0a009e709cee46e736eda00b1adfaf7b7ad5aefcb11ccc68722cb20177b767957366c89c3e560334bf4fc10e2b512e910e85d90ec3eafc8f7a6e1e27ee92a47b973c6fc523bc488edd47b513db7045fa70030f20d00f76909964ad052c110169e8510937a8553111459b47b3d37f6a3af46f5f1430e3b02d68888fb404582e20d12137227579f3a370de391d8561fef5c41fbe755c0a1a5f4e5589564f90675129ce9a575f40209716d12ac9cc1ac2edd17264277c44ec2949745cb44a834e2017558ffe31ec4234d72f08cc3a94dfdab5259a2a1f5d32638a8b818be96e417828144cc35e1c784ade3848e11ed3ab2200487b9ccc3d9172b3cdca835e17e62aa3ef17d648594343ca0eb01e853ca8ca3446a84acc8766cf9999b5e20a51787a02d7452e745e0e9e59bd3b31066deb8ffe2586f3f7db7d3f21a0f08a5482faedec043bb91e9dba0953c5891ad3ed54ecb50194dd50505b0f811cb60d2446be8bd6f83139f6f5d9a0b3609045eb914ddec7807da8e48758374ff56647ded3a3f5b7d6e92ee79eade013f2337bef6a6c402943e8cf3fe2bb4bf7ccbe5fc9417f258b81e6beb2053e6d665dee38d58be608438ca0052cb4ddf3d0af3e02721c849d80d59d1d778b6329c2e2d6d927e9bad76a243a34f0c2cee8fcbb0c6d7812c4d370b86c3a0c26cd8c6f05d2e8167a25010769cb9bd321656655346c622ac361793cc4fc01d5211257c7a7a5798cf704b1cdd06a457266c88f6fd5f311f28f849c2015cc6aa24fc2256172dc7cd0cb82383f7e17c123202a6c4bb8f83cdace0a1e26af35e45696f960ea7a4d156ea571b3f2100a7bebc6c600258d93142a07cb5fed547231cb973792fd2128d0ecd4c1396084f5e356c25e4bcd666208fd5227c145901cbbffe7bb1887100391980d64b17a91e5ac18e42e284f321a210d93e5047c99080c8b87709892acdf99d00e3bf0289ba2b7ce2996d8d214631b49d6f5ce5a4cc4485a5ec6238f17631281dd56790ddfeace0027b9cbb15197da3156098bf8a247afade4663fc735d891ce770788f22e2ec84427861be1f95c21787ecb4ed0a1c02bdbf4b97c3880fd397dedb032eba1ec7945c14b5bcc235cf0fcda171b065ccf9c32b49b9fbe78a12ea5d2693ac1ba40ecc8d5b24db0e3fdc5eb1244aa4c8b4276de9b6b08a4949a160f85f00b67a14c0222e709ac2eb5feab2d54d015a309e653d52e09900fd6ac1850d2d200a6969e3eb83267d02cb2043222654fc310a5b369426561b70909976875e9e226e6cb8314967c26ddb8779a581392fa50b6b54a034ad2ee81edd94ced0f62809b061076595ce797f2b448ba04df8f9a11e85ad498aca7c94a38625a4fad96b5bc4fd7f5a8cfb3951518f55e42e525d20e4ff60dd16cad08cdbee5cd87459e9633cee0728692692f5d0b8595a1d34d9c9309d9ede1ce8394ec79d03132ad5f870fdb70a6ede0b9e7892c77826f55018a310789be6304a9ea0d3ea2fd83d9b6b182404191c05e009d975acbe51a4169a6d9f22df54d129561215282cc144010144b14182615974402c13c11f6c5da70fe2dd063a32124343fd054d42e8aa331069de60d4f59b99dbe796603e79fa7d56ff2157201418d7b57c943082fd5fea59d8e422867d68a6cd1ac6f01457236800708d61cb0d9ab8fdd1158058d09fd8546ed61c13135c910d3130f80ed77f5dac26ef0784242f094799413dd19a7d8a1c8fb96de3e2b5b0af397b09a6a57a2d557fa4d6c92f5908bcb1d261c86f7504ad74c9f34a226b69bd557ffd906db1b2ba212ccd7ecfe0d0302c10aeb1f66b00e3ec52eab90bb0a645b6601dceb7a09a22ee15ca0b9014ca6dc76a18f89044c", 0x1000}], 0x2, &(0x7f00000004c0)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x28, 0x4000000}], 0x8, 0x0) setresgid(0x0, 0x0, r6) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x2, @thr={&(0x7f0000000340)="34379f652f70887715ba7dd692fe4e46a93595d7e37ce853630e87fb1c8f4f48ce89447c38e6fe459fd9d8ef849823ae1c39d5ecead78adf4a7a914c13497deb6f97f0c922c9cf56dd9978d8492a50e927472443d7f779f29c35306a020dc8aa302dc46d07b77c00f228facab340274f7f60b3be1da782b036da7642d720e9969e861fa74005fd30a8d44c5e760b28721b526318d2425b797dd69691b9290f3972cb0af8256c82b03061f6e13df170", &(0x7f0000000840)="13df7d4646bb341244537ef49acd64f38cb5620e018a8355707cc542aa8557f5001ccc42036a81a2e88360db43ff8a85e64b2546f0ee3933b4bb3df69129f1e0cb972b46689673e5c68a203dfe7e710f3a329827430d4b5dcea5d689aa499e871ea08611718393f2fef1b915ac85f89c2c952e660eba677b9caa7b892a9608467bbdab2fc055d89979f0d3255bbd396ff063652dab79d67a47ad07bd31700c33bd772eadb17a0050d88c3b2d06768f843f1927221faf2ea991943b1e8a2814"}}, &(0x7f0000000040)=0x0) timer_settime(r7, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$EXT4_IOC_MIGRATE(0xffffffffffffffff, 0x6609) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) r8 = socket$inet6(0xa, 0x400000000001, 0x0) r9 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ftruncate(r9, 0x7) sendfile(r8, r9, 0x0, 0x80001d00c0d0) [ 491.593249] XFS (loop0): Invalid superblock magic number 18:37:24 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000900100000f000000000000000200000006000000000008000080000020000000d5f4655fd5f4655f0100ffff53ef010001000000d4f4655f000000000000000001000000000000000b0000000004000008000000d2c200001203", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000000000091b73ef4b8d944c4be6aeaa0d6c47e6c010040", 0x1f, 0x4e0}, {&(0x7f0000010300)="03", 0x1, 0x640}, {&(0x7f0000000040)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x40000000000}, {&(0x7f0000012600)="ed41000000100000d4f4655fd5f4655fd5f4655f000000000000040080", 0x1d, 0x43fc}, {&(0x7f0000000680)="8081000000180000d4f4655fd4f465a45fd4f4655f00000000000001008000000010000807000000000af301000400000000000000000000000200000030d2ff7eb8812e172b24f219132cf04c2525c7f8b8c8e99097feb428c3d0d69a8942d319d44a163bfacb02a65e2687639db00e3ac413594f9e4418742dbdce2d000000000000000bcbb61550866059320841dcf1c35803c5", 0x95, 0x4800}], 0x0, &(0x7f0000014a00)=ANY=[]) r0 = socket$inet_udplite(0x2, 0x2, 0x88) r1 = dup(r0) ioctl$ION_IOC_HEAP_QUERY(r1, 0xc0184908, &(0x7f00000000c0)={0x34, 0x0, &(0x7f0000000080)}) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x8912, 0x400200) 18:37:24 executing program 5: perf_event_open(0x0, 0x0, 0x800000000000, 0xffffffffffffffff, 0x0) keyctl$dh_compute(0x17, &(0x7f0000000400), &(0x7f00000004c0)=""/225, 0xe1, &(0x7f0000000680)={0x0}) fanotify_mark(0xffffffffffffffff, 0x10, 0x8000008, 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00') prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x30, 0x2, 0x0, 0x0, 0x5}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) recvmmsg(r1, &(0x7f000000be00)=[{{0x0, 0x0, &(0x7f0000001b80)}, 0x20000}, {{&(0x7f0000002c00)=@un=@abs, 0x80, &(0x7f0000003d40)}, 0x81}, {{&(0x7f0000003e80)=@l2tp={0x2, 0x0, @multicast1}, 0x80, 0x0}}, {{0x0, 0x0, &(0x7f0000006380)=[{&(0x7f0000005040)=""/83, 0x53}, {&(0x7f00000051c0)=""/162, 0xa2}, {&(0x7f0000005280)=""/186, 0xba}], 0x3, &(0x7f0000006400)=""/4086, 0xff6}}, {{&(0x7f0000007400)=@ax25={{}, [@bcast, @remote, @default, @bcast, @bcast, @remote, @rose, @bcast]}, 0x80, 0x0, 0x0, &(0x7f0000000100)=""/19, 0x13}, 0x7}], 0x5, 0x100, 0x0) pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r3, 0x407, 0x0) write(r3, &(0x7f0000000340), 0x41395527) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, &(0x7f0000000080)={0x38, 0x2, 0x1, 0x1000, 0x3}, 0x0) setsockopt$inet_sctp6_SCTP_ADD_STREAMS(r3, 0x84, 0x79, &(0x7f0000000240)={0x0, 0xa3f, 0x3}, 0x8) write$P9_RLCREATE(r3, &(0x7f00000001c0)={0x18, 0xf, 0x2, {{0x0, 0x3, 0x5}, 0x5}}, 0x18) creat(&(0x7f0000000000)='./file0\x00', 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfff8}, 0x0, 0x0, 0xffffffffffffffff, 0x0) clone(0x103, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f00000000c0)='rpc_pipefs\x00', 0x2008480, 0x0) sendmsg$TIPC_NL_KEY_SET(r3, &(0x7f0000000440)={&(0x7f00000002c0)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f00000003c0)={&(0x7f00000005c0)={0x94, 0x0, 0x200, 0x70bd28, 0x25dfdbfc, {}, [@TIPC_NLA_SOCK={0x54, 0x2, 0x0, 0x1, [@TIPC_NLA_SOCK_CON={0x14, 0x3, 0x0, 0x1, [@TIPC_NLA_CON_FLAG={0x8, 0x1, 0xfffffff9}, @TIPC_NLA_CON_FLAG={0x8, 0x1, 0x7}]}, @TIPC_NLA_SOCK_CON={0x4}, @TIPC_NLA_SOCK_CON={0x4}, @TIPC_NLA_SOCK_CON={0x34, 0x3, 0x0, 0x1, [@TIPC_NLA_CON_NODE={0x8, 0x2, 0x4}, @TIPC_NLA_CON_NODE={0x8, 0x2, 0x7}, @TIPC_NLA_CON_FLAG={0x8, 0x1, 0xfffffffd}, @TIPC_NLA_CON_NODE={0x8, 0x2, 0x1c8}, @TIPC_NLA_CON_NODE={0x8, 0x2, 0x6}, @TIPC_NLA_CON_NODE={0x8, 0x2, 0x756c37f9}]}]}, @TIPC_NLA_MON={0x2c, 0x9, 0x0, 0x1, [@TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8, 0x1, 0x8000}, @TIPC_NLA_MON_REF={0x8, 0x2, 0xef}, @TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8, 0x1, 0xffff}, @TIPC_NLA_MON_REF={0x8, 0x2, 0x8}, @TIPC_NLA_MON_ACTIVATION_THRESHOLD={0x8, 0x1, 0x576c}]}]}, 0x94}, 0x1, 0x0, 0x0, 0x8000}, 0x8000) [ 491.806715] libceph: connect [d::]:6789 error -101 [ 491.812240] libceph: mon0 [d::]:6789 connect error [ 491.819539] ceph: No mds server is up or the cluster is laggy [ 491.840961] libceph: connect [d::]:6789 error -101 [ 491.846009] libceph: mon0 [d::]:6789 connect error 18:37:24 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r0, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r1 = socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) bind$alg(r1, &(0x7f0000000400)={0x26, 'hash\x00', 0x0, 0x0, 'crc32c-intel\x00'}, 0x58) r2 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r2, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:24 executing program 5: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x100000, 0x2c, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000100000005000000000004000040000020000000e0f4655fe0f4655f0100ffff53ef010001000000e0f4655f000000000000000001000000000000000b0000000001000008000000d2420100120300000000000000000000000000000000000073797a6b616c6c6572000000000000002f746d702f73797a2d696d61676567656e31363931393939333900"/192, 0xc0, 0x400}, {&(0x7f0000010100)="000000000000000000000000cf7e49a1d95947318303ae70299e26a0010040000c00000000000000e0f4655f00"/64, 0x40, 0x4e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000200020000100000000000000000000000000000000000000040000004600000000000000", 0x40, 0x540}, {&(0x7f0000010300)="0300000004000000000000000000000000000000010400"/32, 0x20, 0x640}, {&(0x7f0000010400)="02000000030000000400000016000f000300040000000000000000000f00c5d7", 0x20, 0x800}, {&(0x7f0000010500)="ff030000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0100ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000e0f4655fe0f4655fe0f4655f00"/4128, 0x1020, 0x1000}, {&(0x7f0000011600)="ed41000000080000e0f4655fe0f4655fe0f4655f00000000000004004000000000000800050000000af301000400000000000000000000000100000010000000", 0x40, 0x2100}, {&(0x7f0000011700)="2000000098cfbf5498cfbf5400000000e0f4655f00"/32, 0x20, 0x2180}, {&(0x7f0000011800)="8081000000180000e0f4655fe0f4655fe0f4655f00000000000001004000000010000800000000000af301000400000000000000000000000300000030000000", 0x40, 0x2200}, {&(0x7f0000011900)="20000000000000000000000000000000e0f4655f00"/32, 0x20, 0x2280}, {&(0x7f0000011a00)="8081000000180000e0f4655fe0f4655fe0f4655f00000000000001004000000010000800000000000af301000400000000000000000000000300000040000000", 0x40, 0x2300}, {&(0x7f0000011b00)="20000000000000000000000000000000e0f4655f00"/32, 0x20, 0x2380}, {&(0x7f0000011c00)="c041000000400000e0f4655fe0f4655fe0f4655f00000000000002004000000000000800000000000af301000400000000000000000000000800000020000000", 0x40, 0x2a00}, {&(0x7f0000011d00)="20000000000000000000000000000000e0f4655f00"/32, 0x20, 0x2a80}, {&(0x7f0000011e00)="ed41000000080000e0f4655fe0f4655fe0f4655f00000000000002004000000000000800030000000af301000400000000000000000000000100000050000000000000000000000000000000000000000000000000000000000000000000000000000000904c48a10000000000000000000000000000000000000000000000002000000098cfbf5498cfbf7ae5cfbf54e0f4655f98cfbf540000000000000000", 0xa0, 0x2b00}, {&(0x7f0000011f00)="ed8100001a040000e0f4655fe0f4655fe0f4655f00000000000001004000000000000800010000000af3010004000000000000000000000001000000600000000000000000000000000000000000000000000000000000000000000000000000000000007e8b766c0000000000000000000000000000000000000000000000002000000098cfbf5498cfbf5498cfbf54e0f4655f98cfbf540000000000000000", 0xa0, 0x2c00}, {&(0x7f0000012000)="ffa1000026000000e0f4655fe0f4655fe0f4655f00000000000001000000000000000000010000002f746d702f73797a2d696d61676567656e3136393139393933392f66696c65302f66696c6530000000000000000000000000000000000000000000003e5efe8c0000000000000000000000000000000000000000000000002000000098cfbf5498cfbf5498cfbf54e0f4655f98cfbf540000000000000000", 0xa0, 0x2d00}, {&(0x7f0000012100)="ed8100000a000000e0f4655fe0f4655fe0f4655f00000000000001004000000000000800010000000af301000400000000000000000000000100000070000000000000000000000000000000000000000000000000000000000000000000000000000000268bfb120000000000000000000000000000000000000000000000002000000098cfbf5498cfbf5498cfbf54e0f4655f98cfbf540000000000000000000002ea06015400000000000600000000000000786174747231000006014c0000000000060000000000000078617474723200000000000000000000000000000000000000000000000000000000000078617474723200007861747472310000ed81000028230000e0f4655fe0f4655fe0f4655f00000000000002004000000000000800010000000af301000400000000000000000000000500000080000000000000000000000000000000000000000000000000000000000000000000000000000000185600fe0000000000000000000000000000000000000000000000002000000098cfbf5498cfbf5498cfbf54e0f4655f98cfbf540000000000000000", 0x1a0, 0x2e00}, {&(0x7f0000012300)="ed81000064000000e0f4655fe0f4655fe0f4655f00000000000001004000000000000800010000000af301000400000000000000000000000100000090000000000000000000000000000000000000000000000000000000000000000000000000000000e350ad400000000000000000000000000000000000000000000000002000000098cfbf5498cfbf5498cfbf54e0f4655f98cfbf540000000000000000", 0xa0, 0x3000}, {&(0x7f0000012400)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c65300000000f0000001000050166696c6531000000100000001000050166696c6532000000100000001000050166696c6533000000110000009407090166696c652e636f6c64000000", 0x80, 0x8000}, {&(0x7f0000012500)="0b0000000c0001022e00000002000000f40702022e2e00"/32, 0x20, 0x10000}, {&(0x7f0000012600)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x10800}, {&(0x7f0000012700)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x11000}, {&(0x7f0000012800)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x11800}, {&(0x7f0000012900)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x12000}, {&(0x7f0000012a00)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x12800}, {&(0x7f0000012b00)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x13000}, {&(0x7f0000012c00)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20, 0x8013800}, {&(0x7f0000012d00)="111fc0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x18000}, {&(0x7f0000012e00)="0200"/32, 0x20, 0x18400}, {&(0x7f0000012f00)="030000000000000000000000000000000011d23a982b64f8452cf2ff00000000", 0x20, 0x18800}, {&(0x7f0000013000)="0400"/32, 0x20, 0x18c00}, {&(0x7f0000013100)="0500"/32, 0x20, 0x19000}, {&(0x7f0000013200)="0000000000000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000800300"/96, 0x60, 0x19400}, {&(0x7f0000013300)="2719c0d901000000803a0900803a090000000000060000000000000005000000", 0x20, 0x20000}, {&(0x7f0000013400)="0200"/32, 0x20, 0x20400}, {&(0x7f0000013500)="0300"/32, 0x20, 0x20800}, {&(0x7f0000013600)="0400"/32, 0x20, 0x20c00}, {&(0x7f0000013700)="0500"/32, 0x20, 0x21000}, {&(0x7f0000013800)="0000000000000000010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000800300"/96, 0x60, 0x21400}, {&(0x7f0000013900)="0c0000000c0001022e000000020000000c0002022e2e00000d0000001000050166696c65300000000e000000d807050766696c653100"/64, 0x40, 0x28000}, {&(0x7f0000013a00)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0xfffffffffffffd3c, 0x30000}, {&(0x7f0000013f00)='syzkallers\x00'/32, 0x20, 0x38000}, {&(0x7f0000014000)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x48000}], 0x0, &(0x7f0000014100)) r0 = ioctl$TIOCGPTPEER(0xffffffffffffffff, 0x5441, 0x80000000) r1 = openat$vimc1(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/video1\x00', 0x2, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r3 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r3, &(0x7f0000000100)={0xff73, 0x0, r2}, 0x10) ioctl$VIDIOC_QUERYBUF(r1, 0xc0585609, &(0x7f0000000140)={0x1, 0x2, 0x4, 0x40, 0x5, {0x77359400}, {0x4, 0x0, 0x6, 0x0, 0x7f, 0x11, "87b42cfc"}, 0xe21, 0x4, @offset=0x1, 0x1, 0x0, r3}) keyctl$link(0x8, 0x0, 0xfffffffffffffffa) ioctl$TCSETS2(r0, 0x402c542b, &(0x7f0000000040)={0x7ff, 0x3ff, 0x10001, 0x1000, 0x5, "0cbcf8ea1f25355908f62b8e70198a2f142ee4", 0x3, 0xdf1}) ioctl$RTC_EPOCH_READ(0xffffffffffffffff, 0x8008700d, &(0x7f0000000080)) 18:37:24 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$FBIOPUT_CON2FBMAP(0xffffffffffffffff, 0x4610, &(0x7f0000000080)={0x1}) r2 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) prctl$PR_MCE_KILL_GET(0x22) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)=ANY=[@ANYBLOB="5800000010000000000200"/20, @ANYRES32=0x0, @ANYBLOB="0000000000540000380012800e0001006970366772657461700000002400028005000b000900000008000100", @ANYRES32=r3, @ANYBLOB="06000e001b3d78ac21ec2eba08000000"], 0x58}}, 0x0) 18:37:24 executing program 3: r0 = syz_mount_image$iso9660(&(0x7f0000000040)='iso9660\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000500)=[{&(0x7f0000010a00)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020fe1f00200020002000200020002000200000000000000000b9010000000001b9252f4500000000000000000000000000000000000000000400000000000000000100000101000001000808001c0000000000001c18000000000000000000001a0000000022001e", 0x9f, 0x8800}, {&(0x7f0000000240)="22001e00c3f33f08001e0008d100000039609ef25be60ade", 0x18, 0xf002}], 0x0, &(0x7f00000001c0)) getdents64(r0, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r2 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r2, &(0x7f0000000100)={0xff73, 0x0, r1}, 0x10) ioctl$PPPIOCSACTIVE(r2, 0x40107446, &(0x7f0000000080)={0x2, &(0x7f0000000000)=[{0x5, 0x7, 0x0, 0xffffffff}, {0x0, 0x81, 0x1, 0x80000001}]}) 18:37:24 executing program 0: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$UI_ABS_SETUP(0xffffffffffffffff, 0x401c5504, &(0x7f0000000040)={0x6, {0x8111, 0xeaf4, 0x40, 0x7ff, 0x3, 0x80}}) r1 = socket$nl_route(0x10, 0x3, 0x0) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000280)={'syz_tun\x00', 0x0}) r3 = socket(0x23, 0x803, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) r5 = openat$full(0xffffffffffffff9c, &(0x7f0000000080)='/dev/full\x00', 0x200100, 0x0) sendmsg$kcm(r5, &(0x7f0000000540)={&(0x7f0000000140)=@ipx={0x4, 0x7, 0x0, "4166dca2f512", 0x6b}, 0x80, &(0x7f0000000240)=[{&(0x7f00000002c0)="fd2764677006869fad8ffc21efc6a7c03ba30e474f5e3238549bd388efd6138dc90baa3e0252fa35c962411f98a07bb610dc21a79ed3491e624baab2af509129b87191ee3e5e9260e8e9068b8a64ac4548a0d8e5819d5bb3ceecb0858764ae4d1ae8479d4dd8a383809c08fd72b96537d554b184316755faca6a39d1072cc194c63a9199f6aea4ed867c3e886e45361e09cb3d4db9d121b3ecb85970856443f6c8cfe1713d21c0034100f77f406401ab181e5c4519f53014b1a62abf5e7af676c9b6443e8a005d4a372105533367bbf407cc7cdf3781da8d6b033017f3712e99ec9d8b2fdda6d9a4a1fc", 0xea}, {&(0x7f00000001c0)="ce0b4e5017be9920edcf120fd62a10fddca087a5b31e241b46d9359f8f06f0428c70b98d649372415f66f50bf0069dac", 0x30}, {&(0x7f00000003c0)="a1545d34b6e08226fc47d695fc2e89d5d25e933dc55c701d214fb27632edbdc6486f20ced64ddae60a30bceee140cd636fb97c29f34bec3643a088f66d523157336704b2641c3475060d80d0489525172299383a2c4ee9adbd8f4b0297cd722b24b1cfba531b0169f54791bb7e199f5743257b63585f73ee53c952708c5ac5d975da0d4bcaf59a31a050852927b7aade4ea7a1e4bc5e4b96bf2214ad2ea8a366721873a86ff39f6973961418e2cf828dd14775743556982beae2e9a499d6edd26c2a3b4cef1aaefbccda8d5a1e08112a9eed51aac9a0ce0b3a4f7bb60dbb1bfe8633bc808d8106e788dd581fa36c5c00a91cfae3c95c43e1b65165f93538f3", 0xff}], 0x3, &(0x7f00000004c0)=[{0x50, 0x1, 0x0, "abaeafe79862f79c666304bcb2a843556169a205eb1230302f9e349f044b249c9d735399683e8241d41df76fcd2fb6110d902aca8bd321ed2f79ea99c53fc278"}], 0x50}, 0x80) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) sendmsg$nl_route(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000700)=ANY=[@ANYBLOB="280000001000010400"/20, @ANYRES32=r2, @ANYBLOB='\x00\x00\x00\x00\x00\x00\x00\x00\b\x00\x00\x00', @ANYRES32=r4], 0x28}}, 0x0) [ 492.100679] libceph: connect [d::]:6789 error -101 [ 492.105780] libceph: mon0 [d::]:6789 connect error [ 492.124940] libceph: connect [d::]:6789 error -101 [ 492.139219] libceph: mon0 [d::]:6789 connect error 18:37:24 executing program 3: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/kvm\x00', 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) syz_genetlink_get_family_id$tipc(&(0x7f0000000040)='TIPC\x00') sendmsg$TIPC_CMD_GET_LINKS(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000080)={0x24, 0x0, 0x800, 0x0, 0x0, {{}, {}, {0x8, 0x11, 0x80000}}}, 0x24}}, 0x0) getsockopt$bt_l2cap_L2CAP_OPTIONS(0xffffffffffffffff, 0x6, 0x1, &(0x7f0000000000), &(0x7f0000000180)=0xc) ioctl$KVM_SET_USER_MEMORY_REGION(r2, 0x4020ae46, &(0x7f0000000740)={0x3, 0x2, 0xf000, 0x1000, &(0x7f0000000000/0x1000)=nil}) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r2, 0x4020ae46, &(0x7f0000000100)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f0000000200)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfb]}) ioctl$KVM_RUN(r3, 0xae80, 0x0) ioctl$KVM_RUN(r3, 0xae80, 0x0) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f0000000380)) [ 492.172263] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. 18:37:24 executing program 0: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0x0, 0x0, 0x6}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = getpid() sched_setscheduler(r0, 0x5, &(0x7f0000000380)) r1 = openat$kvm(0xffffffffffffff9c, &(0x7f00000002c0)='/dev/kvm\x00', 0x0, 0x0) r2 = ioctl$KVM_CREATE_VM(r1, 0xae01, 0x0) setsockopt$inet_int(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r2, 0xae41, 0x0) setfsuid(0x0) setsockopt$pppl2tp_PPPOL2TP_SO_RECVSEQ(0xffffffffffffffff, 0x111, 0x2, 0x0, 0x4) syz_kvm_setup_cpu$x86(r2, r3, &(0x7f0000fe5000/0x18000)=nil, &(0x7f0000000180)=[@textreal={0x8, &(0x7f0000000040)="f30f09dd467366b9800000c00f326635000100000f30f0812700000f013d0f20a6660f154c00f4baf80c66b8345a5a8866efbafc0c66edbaf80c66b8d2174f8066efbafc0cb87000ef", 0x49}], 0x1, 0x64, 0x0, 0x0) ioctl$KVM_RUN(0xffffffffffffffff, 0xae80, 0x0) open(&(0x7f0000000080)='./bus\x00', 0x400141042, 0x0) creat(&(0x7f0000000100)='./bus\x00', 0x0) [ 492.216873] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 492.238426] loop5: p2 < > [ 492.375627] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 492.409425] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 492.438540] loop5: p2 < > 18:37:25 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)=0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000000000)=0xc) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000005ac0)=[{&(0x7f00000005c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000000c0)=[{&(0x7f0000000a40)="b5b38567769c4715bd260dddd33813cc0569d2f6d4497eca255ba93fab41f67c0ed233344fa961e6ff1d79dd50f3f94ee36a75ae75a75516f36f3642156e16edeb931fdb233eed99d303ba20d0261006554e68e0e05de523fb3e78bf83acfb96ff6de9b46625fa8fba3ca18cca20656cc0424820984e08735f3245ee186a59031f7137e9754fc97efbd8fdaa614f7d891cde2b08701ae33e1b8fa49fc0b71e643792eb2bf0352102ac96978eeddc0e08945df6db0d02a2710aa7ed484f6129005aa2d653cf8b51ed14208ff7376f129d4f7c48481b8ed8b606bf34fb30d1bcd67c480dc8ae4f1ed78ad5930e758a69f8d0f9c093f360960a9eee", 0xfa}, {&(0x7f0000000b40)="c863db746b6d23f7ccb114bc72acff7f76f2d0156ac62cc9b7269255509d4939b02ef7a809cb08d153a6403d6cea697a6a30f84bfb60fbe13a4f01d9b50b308c21487c05648fb94f7b81d30ed3424a5ffcc98540bd3f101d3d8b63dd7cfd6a559ea8b676508373db090f3c0e7ab3415a48dfc1620153890ada098064f6dc1a32051fed475fbde91b31a8f5bbf32e233282e7ee8f5d67cb2bcc0326f1f60f07d58128ab3f06baf2c6db8b6bcb2b32cdf8b5aaa9a72009c332c22cd7cc6b26ae", 0xbf}, {&(0x7f0000001e00)="408244aee4c3ad13c20f711ee78b681d8c7800bcb85261fef9393831e937ef75c0a96f2badda32c67c9c84c496d2d67c44378cecb6ee8086a9f6313ebcb28f812727824a28c90a569d1d60f10d7d732af3032043a71178f80e3fc81bde7e5e9edc663603a8914c317a27cf3699d6d7943bfb5d247219c3ff9e9a73181781edf58ac150bef61be9b75c38dadaeca4b745d481a5807dcc340d51d22ee53a2d21f77e39c624b6ac65534989ea5ad1a3686aae20494657bc59d33498b8b95e8350c4ee939536a2336bc1099eded42c0d2c540257bd0d339071489b64f1364491496fd381af398a0a1865d729ac16e02ee5887dfaa8e79a50abff87a943ebb579f34caa1790d470e92d51e7146ef8f1cf61aebd82cb644633cc2173f554603751e56b3cfeb0ea32071bdff9d237e39239b579929fd5789cc7bd71e20b4023844ef13bb3d723b7dcec0f8332408ebf2b98c09716851d5d572a6b7b60450aa9406ea6738596d974133362660d2ecec0534e7f1e366902383a5cca676a93ae10840826d2c2389a89732e828da1ebe6c68382e4b256b1f4554aadf49ab40792b940eec978497d48c9c37f2d65b01ff10ce9fff2ee6dd3f7a89927349481d16012b7eb5218aa639910a1832134c8b44910eaf49118dd836d9abfa90f604d55a85966e7765dae1144576fa63c95415bcfb091c1bf57c8967c435427176c7ed79cfece7d1bc2a460e80e025d8545fe59b5aeac6a1ade4af3aeb6def0882af6ee4ef61c40b47f78dbc1dc67247893b939d3fb9a657b15ff0b41d1f0e13fb8136160b99959c83e7853283c0d3e0d1b3af99be2d3e1e6ea9e18e74f9e663dbb6e9501195a330221053e2e8bd264f235a98b33ec855391c675315ca04660b8f842c451a65e845c5951fde69fbcfef39d3ee7d8e59c71bf145248e291bab2eb341c23130d48ceabaebcac4f11b63bba720edefb95da8396dbf0428c8892df5dacc44ffb5843eca8833a9f4d1f78d0c00b6b150d5b70db5d6cdba9023483b99aa322be3f0b60a8eaad0194dfa5749a95b417922a2affe6644291bc62168555e169b738da0876b6786cbc1bdf052eaff8bbd5e885bc4815d4d81b779480c6bcbb0896c3484844e20d4d4a0cfc4c94b21c95574af1a6b32a7445f0c07726cd9d680adc290d55abd3f0862e65e36b7d06c26e9e9bdf5a6180f418ea78dbd280f8f4870f86a3b373a851d017f0fffbbd96570c1c1d5384e4be7a35ee26b124df329b431a15c8329c6f8699e1552b2ed829f2f1adbc57f07bd6202416c2dff2dfe083428f799aaf08544dab23d67b221f7ade83f5b339992aa626d61a370d951c607c29188264916e4e97c93d574fbb575332ab3dc03e5407c20bdfed3dd8877b42372a9e1925926496ae1fa57633766206473c8f0884c28d455a415ff5ea2a53693449bcaa4c6a19c85eaec0da852695b3ba9189a844c30868a5e53fb3c4792d6243798c35fb3da79a2d7f3cb5873603e8f184bde0d3323dd6faead0b7a7bbf5a3126aeb00a4578d2a8823573518e6cd0933a965acd99e176a2ab81caaa83792957340453a9aadd77c439878d286dd2f053ef2e1c435501d8d879cc3c5a6ddec46c04efb6b136fc4993df210b003184858c5557cee116298188585a523261b1018e106520d75f04a431598783fffed30edfcbd3b2a5b6e91ef3eecc40a2519885c354d19f6cd93cd2dc82b1448c2dff90e9525b54b6ee9e400140dfb99f7951b0f4b74708e679cd8641b5cdcd4dc95866ee0761177ffc20323aa00688707ee284d3a6360a316cd9138f317eeae07a1650edb4328b74026eeafa34ff04c631805f35f7ee1850187b0b0ece0858dd33c4aed6eaf8e9a906c19050709293ee90bef9e8c1342fceb34da2883fc7faf5d1c558b572afc152aa33ef26c1adfba4c9d3cae73eae240b54f548fd7e6d4fcb0d7e68a504829caf6e3c2ac555e0f0d534c9aeb0ed5b5290d79332bdad1a8c0123b9009db1899ec12c79a39df2eb388d6d0b6b162a27e8a43bc35889eb3ea888ea422d28680a23168d6713e5cff1153127fe525750c43dfddcf16e2c056dcc406e3afe069526a6c7ab2524762b652c66da2129551b03a7d7d0b596a9af66226c8cfbf0e00f831c77fe272f989321fbcc6bc7509b06fefac27081651cfced6e3a9276807d13017993c4173b70e0d4efb432301e237f4c58d49af758578e1a64007ba6b379f9c3f1fd90949bb8fd91d5d154e7f82180cc9b42df502c725ac805cb44c1136da1b1cc7bf78793569e2f16ad9b0858ad514d44880436b9da12df565e0e250f640fc932603bdb8f974169a9875dd392a04dd7d25079e7ef02c9114974356358b6fcbb5895c4b502d15aa89507b07dea273c7183d43a0f1225d3664cb6fa4dae95bc84e58285a276041bb5e92c0203a9513cbba3ddf4053b4d6d5d197314284241757d1782ffb5c9d7f831b83a2f329702f64be7edc3f4b9039736656dfb6fbd7eace9e4bdf1523dfef40198941d8e7a0145305a6b8c926889201711ea9f7aa72c6ec994b1bb8f8553d94d9fcfd32839e54eb27e42d096e3ce3235611db3d319608ec4034772db08a93737b9dd623c9b6ac0f2ba6bbb26d64186caefaf39bbd5ff82a84c8773019adc88d33874bdd9a4c9a3abe329450b16c4c5891f80b3fbf61cefecb146f6ef30fec917a587ee6d5b075218194adb36ea4dafaa46dd5bfcba7d993780e9120a485f955cffda333f5c19fb1c7a0bd3673d329955ae66cd19336cc70dd42e082935e3d3df0b069ab524dd33d0803a87deafe4716b70e69a6ab8add3d95b120a2eca813e6e325e4cc2d92f9cd81dff26326366f27432ebe32fd0588c850d04676792bbeecfb3d2695675d796858e208159ec293dac9a82e64ab6d21b6856d7d29078387a355849d8e1c207e0acc771a319bb8ab1a58e0dfac12ecf0bf57a2977f51d0f236e9c3b4edd28347426abe3fd0984a80f59a436d9531caaeded6aa892eacf696372874b769a56ecee7d6abd08e82e87c9f71dcafb4e46b7db1d4fb730707c07a9b54d51b0c22f656938b14c4e4f46bf193d28212e91e754cb4415b9df76ffd7ef758b9bc5442e3b4a248a50394e8c9317ab2844ab569cfddbc788618366cddb61bff3497f25c684aa0b95d864c1f348c32a2d193baa2934a66640cc160775f15e1af2ceca3d1af685b629d509e921839277d267b19579d5dae56dd2a42903ce1f877bf369cd570cca10594713899d66122b86ae1017ec326c8c1813d2f76e07df16c89c968f9be39dcf465add0dede58593b87c622b234774f82fc7276cf1a3bc79dfbd4091d4151af3d34e2e20f8a43598cc879afc5bc52e58e49d462b0888b9a7fdc1b5536451eb4848f74b0b63ef70856d16c62db6b5a6833f163c9e3c07c569b6e0e32523957a4960205e244ebe3d0ad30124da32ae396c80242746e87df6c31a8a5dca0cb84785bfc0d0b5c876a2cf24b5579b33a0d396abfd61c42b0566501fd61e402040a9cee0dd6caa3b93647140a7456532a6616b528cb795c0bc6078a21b8696a17b4ccfb12c02f055159b94f84ecb74baa42e069f4bef4248c6d0925215a70dbf74f254e14139e16bad13cdfe490c9d3a1e1a9e3e6160496d61352d32215344f51012ecc69ff272ebdf634ffd63074f3d7fbce8e14079a78f1c43c7e1f53f4b4ac02f82e755f98ad3e427ff55b2dd10ea60aa28084aa5b0dce773f96b35de10d3f25abc8975f722543625542ad40c6c357fca32201b87c333de24d8cf46089825a7527df4d23fe818fdbd5367b1b211f43f8ae472d8156b23621cd94611de5d1ea6c4d5407d3dbbfef7d7aaf9e3ed7a74fa95b23e42bba01f3be92a1aab4fae78222e4e43b4e5905be50c841b1b246507fb6df976215de8a1d548a1d3016964daabef22b790dc0e54d9e98899d0bd6deb7ccf52798092f2d8449b1730bd82e9a004c8a866d89a7bd5606208d6fd6c340b8b3c7ab674a807bcdd6d07077d6ed321e429a076a3235382308b62466dcb8c799b8653b8dca7786439ea561eb7a01245b335e6cdeb399b3b1184263fa39ab92125a59d559b8f0d58e37ba3e2bf80242db470f36f1bc44316ff130a977b4dca53307e62c05c6d553a234cfdf0b153a85fc34f108d0d1965b8c971dd4531613befaa9f82351c4f319bd5679d00a84386371f236e2291091e1f690ad950e11e3a223d0fb97296a83634a89fc56cbf4741dc5042dea9794e1f8f9fb15630e0c906542ea55d6480431198114eb3650e30480a7244de19d4459c96dee02ba2f7dbac0304086f46ded7b47c5bacf412f79aba1632f27f235a365b697b13cfcc8848c69a839b74a5c89cb5714bb081eef53d9c84b54a1d48131ee39b215eadae4ce2a179934f8c3d2e48e41fe2a93d7dccf47cf7b65b377fbbccfc9e0fdee294da2c5ac663c9d532bd3d82621bb3d63bd6a14a2e137a96de9f7ceaaa6ca179ecff5cca423852bf64df5531a45c2c452bfab042da662d4502c2df59249d634a60f7f091281cbc205106b4a871fc8153d2848cbbfc0f3d86d82ea71325b3c4cd5fedc93de6d1372ba8d841e6059352660f3f01e22c7ce9893f69b8fc7c69fcba99692b7cc1a69262fa314c81fda46880ac4978feadb69caa3fa4786c1f4574b675172034878556b7b63f4f78fea3b8264d8154ea42d7e958dc748ad6bc43f6a6e7f0620fb4abe530c1defa558752953e6b1c26c0f8b8d1ef298b58e8aa7dcfdb9d035a3587e2aec04e960bc0c8e3c321af17a1bd4d58b5f72d092c9dce096b430e3b2aefe9c718d4c812aea54129171f9027c3dc6f8f1c20adcd2912e2c4148ac3a80abcd55a8e311b86a739b81763b8e74bc27eae7be8c9528832d7623fbe62b2f77729ee50b9d611aa3b43831ef371f2011a36445df37a1b9aa1efca0622b0f77d3dade1919c9312572bf0069157a77cd011e6e257d4a6476d1b68e5189df9e14cf955229aefb9e59ccef31fb967ed6bfd117b3000b72f701396f55b7f81bdc20d7568994d38c1b68ed6043176d2756ec8ad5753baf38958bf4d5ed1f97d09175bbb771742815bef74bacf7f4c0953562f423e6ff78a9eaa1ffe89f548a8d61f24128aef9e06466f7cacf109e93134e9dd5b54b7dcb0c894942292afa90f76298ab3a4c145b7fcd604cda8e96afd8e4aa8f54112ec364c2f0e7e081054f8e397e8fe5e6ffaf3b1f94a72aa5ea345f37001349f721f77d6443a6a325b16b511f5c9ed3c01fdf825f79b7c42ca1b7d3c2fb7647ee039982981eea6c94361f1885c2e6bd0aa1e333637491d03fb7dec5e87a8c75bb16c387b329f41d65cb81b3496c9aa542f450739859c9ecfb5016dc9e4a19fd3bb4fdfe27cb4e5e38082f3c8e56c8e3997fc31082624bc18f1dcc364324ec96167c6c410f06d920bb7f644226327f684288ae6ac619aa542f2346f7c48194dd7e400dbb0b5a87127397bf692bc81ac13e4f25a84cff691fc2e5dc9451f9812b0418c4845ead7e8bc467eafb64c0a11d2ea0e9466f7d40d214657df4cf77e75067caaae947160db79ecd011e58eacb8a9fd082cf82b2954055aa583540fceb9e71741ea2d4d42331d182e8ee2f6da36cc7220efb67c5ffb23162e386439a7873a94b7f5153f24394a4c355e8b675a975e36091e504c2083e7f25a8191b0200acb6fc63ee0f3505c0fc80ff8aff692659ca64f9d43f1d9c909edc070f280594858c0180e69c1b874010f637410b16bdb7e346525f19cb7f879027404f5ca0fa2d2979b764ca2c806c64881bb9", 0x1000}, {&(0x7f0000001d00)="49dcad16ffcbaf30469e6782c5da8ad1fadc102751ee8ec0d312e197cf39a6b802e40c9416e7072d3bab15d749b80e09169629fde0cdc249c11da9866ebed6bb01b9b5284f0bbfd7a4e0ec4c0ec1a3318f40e7ee951659ded97ed264532ef2ab360e6a8b2e59c590df68e193c304ac5f6337804c0eb18918796d71819a3494e038ba288125999852d884999ea434d06595378b0422eee9922e9744aaee29adc259451feed4c48705cb4cb19fccd12b549b399345cabba4a7c454d5eba38a44ceb4e298aae8e7ac65378382b75fabab31e0378a13b21d7bc1e25e17e6c0c2410a2e266cc7d954a56c83df6054e0b3e1c7ca", 0xf1}], 0x4, 0x0, 0x0, 0x8000}, {&(0x7f0000000640)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000002fc0)}, {&(0x7f0000003040)=@file={0x0, './bus\x00'}, 0x6e, &(0x7f0000003380)=[{&(0x7f00000030c0)="9515d80ee43e8f596659af649e5dddeb08ea3ccbd6d3999ad80501305609bbdc1a0fe7226b8b55d1a95cc8b060086543542ac14da9c5a16803a91f6853d3f556acfd041a2be2f855f01c744ef3040f8da612c0b579fca58d60b1e50c3a85ffa0d13a2ee4da35fe4518d8dc16265a8a56209a53625347de625fd94300db37941df69821db6f8546d8c402be43ac103066597669b1189911c832ad587d7e0025023cf462cc3ed8c8fa8591c5a78022e9a3b5f14fad2b5babaac44a8c26d4169563e1d5fb0b30bdcc23f354a82033d56f7ce367b7145e76b7b9d785515594dd24a61915296e9a92b6471839baf566c440f3961cdd066f055d965ca403839f23", 0xfe}, {&(0x7f00000031c0)="53c01763e811f5900695f178d78dbd213a872c2b4a4a6349558333b3d55d9dd5657ef38ab1742ed0124bc824638540ca2d9fa626b24908e6eb8548b164530f0b1d2b949429bb6cfe0eae0c7e93d356df0015ffb77ece478bb980ba56f82159f9613f151bc5beb31fc7722896a70f8dd0d9fd987b2da677a37815d7655eb1e24bfc7078622709561b160c5de4b93c03d1747c9a942578e169e9634f", 0x9b}, {&(0x7f0000003280)="52b8d828a3a4bc895ab80c8f9fc29da6b89f95b21cf2efd791756dcb5418761d97c9a34bfa4091058f646f33b060273418e415e6168a3fbd326df77a33b715df4e0bab4a50b04bc361ee160e207d364c915663264159395ad31864097212b9e807662defdf864a22aceb8492ff09c7097716f41ab8befe10d940caa26822ad91260b13c07cd102541cabe4d7b0e8ce", 0x8f}, {&(0x7f0000003e80)}, {&(0x7f0000003340)="1016b163af216135726f7bdb1551339b92686cb80ffa3d47d734a13b1d1e17", 0x1f}], 0x5, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRESHEX=r2, @ANYRESDEC], 0x30, 0x1040}, {&(0x7f0000003440)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000003780)=[{&(0x7f0000000400)="9097faf54ee711e97021e369ce5c3c522bacb45dc307cdfc4da996c67609f0e28f9c41caaab4af8811e4aecbacc38e938f607205e3cf7924d624577506c72e4aa08cef107646408ec112fe2f3230fe1e0271faf05026aff049", 0x59}, {&(0x7f0000003ec0)="9650cba1e31db6e02c0ce93cecc11bea48dea9437f5716d030060a6744eabb5736fa3615f8fa76870ce0f1efbf897fc35233dde6f879adfbfa3a2bcced89157c30015484267cc07a042aa6954db6ffcd5a901d7c5407d222fe6b2a5aec1bd1497baf9414201591ba102930fee5c363a893b7bcce555e963b8bd27205fdfac520b35b238fde8ae3cb9850d994f2324ba595e0bf98cc8c9c2cebaff1995f74b447e280f34e9b7f", 0xa6}, {&(0x7f0000003600)="a2ab7678572f6f0b9766a684a1907bc5c2abfb2d3439fb7b364ca7d5fae59d27da5ebf3649aa4afd065387e81ad0de6df0a96f5e42df3865e2b1bce5cbca9eef10a1150cc3969b189330724e853fd2bf4dca17c4d4c1e91d03bde66c540ce473ef3fd788b5ad0f2db37198ee51be0619225c3b2ab6f13fc5666b45", 0x7b}, {&(0x7f00000036c0)="4fbba31d434f", 0x6}, {&(0x7f0000003700)="6fb70cdf1ee5bd77a35c8cabb37c6f134b1b8a42a3eb189f6f5082332083adcf2be8431a88fd30198488cc0442ceca3bb03a5696759af7697f2232e509e7c5d7554e0efd18737fd1d2d059c4f5b10306feff3e8807a1a7eea5a0c5119cd7a5ef4039", 0x62}], 0x5, &(0x7f0000000200)=ANY=[@ANYRESDEC, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32], 0x20, 0x24004001}, {&(0x7f0000003840)=@abs={0x0, 0x0, 0x4e20}, 0x6e, &(0x7f0000003c40)=[{&(0x7f00000038c0)="baac0249cce8c70102c9d4a151dc60ac831ba365db1bdae1af3ea52d59991a235dd714100bd4fced58e67d5f65b001f43eddb1802b667d3f9682eb1f08c863d37cfc9e3628c2c6dd", 0x48}, {&(0x7f0000003940)="3d60e0d7fdcdd31931040a697f90e3594a33e2001f7fadba03af5ff3c34213ff4cf7c4254ee65a1bb1883fd0b18c441b3574b89dc605df6844a9febf5785b56df5381b0e66b9336421e56c140b7f3c3a54c2f414e10aa206a2da17035488ab3117476a25e09c86bddda2cf5d59928eba3b3c764786b5ea0b04a333ee46c7a5a901cf45db6387cfd025348171f4eaaeede20c31832bb53a3f35d27b722eed697b2c84c0f1007726fa7b969f6d841a4fbc8a2d4d76023f525bab8c6ad7d0143782d0a509523746358365b04fcd718340df027850445aa58eea", 0xd8}, {&(0x7f0000003a40)="3497bd3e729b1585f1bc8fc7ec15d7722ef9fd34210c17b93cc27ef50487b185e07a6d6e2161e798e0693d4e40cb5dee0f7dab1f80bcbf43636c146b7a1f964bffc2c5d2e445b51ced70", 0x4a}, {&(0x7f0000003ac0)="ed1d553d723fcccd2d9a3950a6b166ee5450bb0769497d09c304bc605ac67f56fbc30580d8cf55e2b47899cf08bf553d5b3226310162d2a9c50348e7cc47e0c8", 0x40}, {&(0x7f0000003b00)="a92403dc5d21cdd35424450e3fbc00e6b3e607c119a6f79a8848c4df280bcb14aa42bc663bf735d1c4b00531780a608cb1c2bf73c77347fb15d427b9f100cf1f78bacb608170e1e71c4389d039504925a1e814aeb5cae8a28d08b681fcc837f961449e973875456d4630b1d284ddce49ff05216cf0d2908dc061151a593ebab04d3b3c25a1299ef4993a763cca36e2bf3930fcc708c25df31ae9459a986a62cd5fc22aab144ebb80b204c7156251d732ebfcd5919de021704558aaf11dfa4afcc93f58477dab0725fd834697777616e01b1af185c40b8e7a104e73857f20595b2587f92cd754f6e6bd80da74395aab22f8431be3552eac3cbf", 0xf9}, {&(0x7f0000003c00)="70efe372f6e28da6edde3abbe5aed126480cfdb8b900a9b8", 0x18}], 0x6, &(0x7f0000003cc0)=[@cred={{0x1c, 0x1, 0x2, {r4}}}], 0x20, 0x4044014}, {&(0x7f0000003d00)=@file={0x1, './bus\x00'}, 0x6e, &(0x7f0000003e40), 0x0, &(0x7f00000006c0)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32=r2, @ANYRESOCT=r5, @ANYRES32, @ANYBLOB="0000000014f9ffffffffff7f00000000000000710017a425de257702f800", @ANYRES32=r1, @ANYRESOCT=0x0, @ANYRES32=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e00300001015c26d733afc27251df02688642f916551bae95127ddb950bbb28720ba0f9b42e04eb0a9e8c43cbb33613584"], 0x58, 0x4000800}, {&(0x7f00000040c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f00000046c0), 0x0, &(0x7f0000000f00)=ANY=[@ANYBLOB="1c042c8f8d42d584a58200000002", @ANYRESHEX=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES64=r3, @ANYRES32, @ANYRES32=r2, @ANYRESHEX=r4, @ANYRESDEC, @ANYRES32=0x0, @ANYRES64=r4, @ANYRESOCT=r5, @ANYRES32=r3, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYBLOB="20000000180000000a00000001000000010000003bbc486dac4e67931a8be19ed2a48717025cc3ae006edd4eaf7b53e3eaa52996f15f97fd266a00448f417d4f276a6db56f8c764bd490ad9c4c44b490864e2081c9f9cbe1c2357e5fe8370df0152a74908d85e62bf09a4a517fee71aa96db9f61e9b9830cd38c13d90b8875c7", @ANYRES32, @ANYRESDEC=r3, @ANYBLOB="28000000000000000100000001000000", @ANYRESDEC=r4, @ANYRES32=r4, @ANYRES32, @ANYRES32, @ANYRESOCT, @ANYRES16=r1, @ANYBLOB="30000000000000000100000001000000", @ANYRES32=r2, @ANYRES32, @ANYRES32=r1, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES16, @ANYRESDEC, @ANYBLOB="0000000024000000000000000100000001000000", @ANYRESOCT=r0, @ANYRES32, @ANYRES16=r2, @ANYRES32, @ANYBLOB="808247bd22be9cc5e3c74a412ffea1762033f4b468c7c55f64869089ad6e0de94d845bb413f2423cf489386185819ebbaa2c0118887735b75b376299b1fc08d5a3a361a6dadbe02df8175e8455abd2c1d9ff04fc9f854f2966655a2486e3fd772af61d3371a492d08786ae3a715c0f60b7846e1278816b50bc820044adc0a5d25a6fc38e22c19fca58a4278f12883d634de7e5098aa76b2380743993ca1de077b60ec7519f4dc1bf290a5e71431f47300fe63aa9aa1ddec094b01a2e9652e898f48a564410ef559a51f4", @ANYBLOB='\x00\x00\x00\x00'], 0xfffffffffffffe48, 0x50}, {&(0x7f0000004940)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005a40)=[{&(0x7f00000049c0)="ede81efdf03d2fa904d7cff7351fe8b2a89cb8a94b69ade2cd425e0384a5d5df5a2afc01b25eedc256dc7cc63c9a94c308c688b159ee1ad66de5bb9aa37626d8f57d4e3914750a79b5c45b8794de8ede3e2323", 0x53}, {&(0x7f0000004a40)="e63b86f8ebcc04b743d5fe914be15ea7ce821417368ed519ef5759a0c0dd313f299de4f8c1f434c6d5faa662535744e89684f6e39e2eac6a4b765780cee828f0773f167d704ab9266601d6558f639227708aeedecabfc801f360b7f9676559564497cb6e4e26f82ea4275333cd4aa92169aa7bd7fd2400580aec4f13cd11b3c3e46ec8f9ff663b11bc1c890bdf36b40a6db1093f2dd7bc1e11f39e27f15e540f32a959a5dc3c1a4f61a49711a35810778235fc6295b8670b7fb42ba3fe28dabe3eace5155003048bbbafb193b65de7e2cde18b1093a531805a56f15441a3b41e3ea75d24bb221005b03191977df77326f24b94ee481cc846ee9c2d7bb7099f9f401111b7d8b275593179f59a5aae91b9a67dd53a2ee70e7456bf7a42baed49a1675cd141f339f2c4d5605b899be3e97da530517964221a5208e06582739911574b9aba4ae53fddd63898a8b1cd3b1d2a27bf00c42e13bf38d20f64efd1dff711ee541b8af6f55af44914c634fec6e1ab893d21727ae37f68151ea79971f15ae731cdb000392349453dcaa08cd797ad1f46534345cb4bf320f72755ec77fd860fcee21770fe11ba17fa96213367ace655d34e37de586a408f17e5cdb4843e5beaeb0215ce9c5f9711d9af8f0b58094a4d3723d6201e80c867db7473db174ec7c16e663333b47e79964333e178319eb9c19d579ed53fbf44e7a9cacaf87d2dec60feee906bbfa18ed399db854c78a746cf4944e9e0af0dd15d0bd915ae43a5173f9c73c0333db28de454b0ea76446c4b3763be384d072fd48688dd27e43bf4d2045413160c140898412bfd5eb3bb880e1bd1005f15d1791d6bb476bccb78d5a00365adb7eb9132ca020dd1a0afd12f87c593036c5219cc0f4a4ca2b5861130050a486e35e367afaa5562bb80faf0b6daf06c27b04e2ee68e94bb944b6e75ff87245e5cd0b49084725921ce7de4500925f799bcc0e22fc713ad78b2908998c0032bed9ebc86045099e5b66a189aff2d60c49467d912f29db7a2fe29c35c1c0bcc2ebb001dd6875991848465805311cc58347377a6600a719d8b8ae25ad2d786adec6af7fc7a11590fa58b40dc6d508ea56e96fa50262426ac0d88c47f84745366847b2e5a39e4b4998d0cbc6dcc0c2a87e420278353d96e33e73a45042b1af98b89dec1e2f36f183584b81a75a4dbae1ac44fe8015f29dc4e87dd587915bd5b274f2de2b837c847d24ee5aa1116790a8e46803be7e6d3a0a721c188135b9c1ad1ee2265455f8c0b90e4aba72c506afbadab3b99e899068202b235c73df394010d258a2672958e0cbcc72d644518a99229afe45e21fec74fbc456985be4ec4471b144cb447b7d78abc5cc23ee68e4f7a6b8d680e11376a84b8ae045e048a8b59159191456713363ce3f46c9eb59af3c92b1382ff45e9227a7989acd952f75198db27168be8a572c5899821ac15c17fbddc813aa2d655e551e9278b59f560acac799171abc9ed85bb3886bc17d0d88dbfa09da8514e78b9ad1b75018098851ad3ecf54b535b38d15205761a1cbd36c9d3ba28e07c9621b3b4ffde4f8313f2d2c70f18b2e054c100b7afe86363a4f2bd032a719416c3674499a5de28fb5854bb91492bb9406f24996084fbd1acff58c8e85234ad5ab24c8f609219c2d28c67443cff02be52a5fca19fc32db0947bf97ca21dde25e93c430fab78713eea2fbeed4a958f5c9b4ab2319151ca1609348f7e4b0daf17b8066083e7d408ff77c4f8be5585b4fc9ef278e614d91b698458f440654981b9419496f9c5d19e89b70d2b997bee8a6f52b3d56d94d49a5829bea201768f75e4d76d186c8572014ab235ad8283e9c920f628daa57e36a091a3f3f48d0c700ef84bbebc8b3c5e36af8073ece45aee5b9ec528d5d14b32a0db82d3aa527308606df1b465aa6fdd8f5875ee94bd77bf2420ddf7a77bc35a8b1f2bf064817736a513030678e8adc437ade3e719452388a59fee50a71cde26b29b95c7657f437669523d944893cc47bf41d6d71951537130f68f4e2265c4e44a34377767155e004feac0b2ced9f027a18629a93854a3f24bc1de20048be2fa5d1b4f00a9c87c9016ca43821e52d9b313532964d1aa4f3a2f145c18926c14cc7fb02bc82ff46c00c14de438f8fbe9c60fe3a778ecf64e8ad4a82bd722a2b68cff02cfd0b7bdc22ad2e991517a252ad93e20167882ea1c8adb2a2b8f45a228e2353f31408528ee1052d7312e925e5e2d3afe962e7f4da29e02535f5ef4f86e31cad5651a67b60f6d705ae4ae4a504bd5de7a2d7925422d9a1feb5597272a3307ff3b6d376e5299f9f9c6f632dcf965eae5e4148b9d10fa08a751dcf08b332034814f7dbb75d9e6c130f7ee66095537532832331be1386b39c1bdad75669b984362dbff0da1ed0b7c52ad8cb102d764a333cd472a492f2477b32f3e81b38689d98a042b1c663c7f1486618446659d30c0235874a3bc3a11a74a5739681b7ed7d484bf52822cb9fc84e78ac7a9a7f3fe2d8e513c930d6bf46ebf13f3e1da98be1777a35fa0f48f142cb0bee46fe6ce1b27cbe9328dbe015351876d3443830c76f5ef4755a6f7cef7cba294308c122c7631e1ad0429ffdaada20cf0caaa15a6387a96bf578a6fe497245844e8f658bac90cbb82e290b3e3a49addc30eba1cde25e62d0738d07a9bd2a37ff7596e03ac9d3451b1711bbaf13c6219f0efd1d85b30057c88d70819aa810900f20f987bc89257e401c26aa0cfc7425ff61fc4385587d82faa06dd6d5541cca6b372131fd579289bd7ca94cb19ad309c30a4342dc531f0c25ebeabacc065ca8ab735b769614ac1876eeb456289c424b474b12c6244c4e25bb920d923ffb07bfa87eb82fbe8c596165b976bd3802b2d7b77d9e90e6cd74961c6c8a4a96b6c43597fc6c2bacabf5f9da14d98f598815fed8edfe8fac8c978431be9dc563b91691ccbf052955cbf8a4819ac2651470827dffeacc3f926f9f5e20c75331e6cdb6eeff128c2a6fe6d475d3e384381bd6f6bcc831b0b980f47c80f8a52994e760e76836e1489df47b863064480bbba9726adcdab869e102c8ed27483f2f643a8028e3a4b1f813037896a0412b75755bb49835d60510391e9fa5c2c491c2a20b03d389d44a56914832a66525c242b209bf061b8fc4a993e53dc7864090f39e76412a7f69363812d92af16d4d6ea5bbca7c90d1b66a8c1ea8a95cc10042a601e484af51ba2dbbb819a98ec158fd401128e387239a8fd511d942b287215693959dffc7dda0728dbc0730f0b16a9f111d3cde21f739800794843a44a63c9bdb3d474ad07c072d444862a89ecd1b7bea61668e2dcc155330bd06c31444a9a9bd9e04eccefb2a6a853b6f75488471ea0829e12da9a82e3d2025b6415e5ebbcdf2dd395ea1f2ab1f202d9b43712b24218119aa1c895e4b7b29795563ca8ab5bea7789b162c841fe3799cb875d6f7f78adf1d1f04b0f7f04f6342868b2202a5b9c263bede0a1c84556a9be5bf6b6df0fdacf0dc44a1bfbabfec2483a69586e8b2c9fc7f23e6f58116a4e46db882e2ad524c92a23c72b98e5653cdd5d982b9facde03063db0ca002aff248a7ce179ced26eca30e68aaaec3a6614110972c7971c6d4157545bdf26abbb1d2696bcc7003da93452060f98ae7f3c56a1f263d16ad5559dd239986dd7a94f6ada92042bb84f0e1f3d9999617c729e37894a0de5a5f190e1a6c7e4dd64acd72ff3960347a0e1066f590c7b47678b90b6bf8e40b64e0fc349ee0a56341a48a58dcd1ac3b3863854d4c654f4d8ae0999eccba22d7a2d9c1e6e4c2c0be460d40948f455e085c158823bbf91d942c6eec130bfc47c3f7cf5accb5dad5f3a00a8c79c3396b00f5e639f1ee3ab59ad24e451efb80524064032a828461b3acd8a1034de0a009e709cee46e736eda00b1adfaf7b7ad5aefcb11ccc68722cb20177b767957366c89c3e560334bf4fc10e2b512e910e85d90ec3eafc8f7a6e1e27ee92a47b973c6fc523bc488edd47b513db7045fa70030f20d00f76909964ad052c110169e8510937a8553111459b47b3d37f6a3af46f5f1430e3b02d68888fb404582e20d12137227579f3a370de391d8561fef5c41fbe755c0a1a5f4e5589564f90675129ce9a575f40209716d12ac9cc1ac2edd17264277c44ec2949745cb44a834e2017558ffe31ec4234d72f08cc3a94dfdab5259a2a1f5d32638a8b818be96e417828144cc35e1c784ade3848e11ed3ab2200487b9ccc3d9172b3cdca835e17e62aa3ef17d648594343ca0eb01e853ca8ca3446a84acc8766cf9999b5e20a51787a02d7452e745e0e9e59bd3b31066deb8ffe2586f3f7db7d3f21a0f08a5482faedec043bb91e9dba0953c5891ad3ed54ecb50194dd50505b0f811cb60d2446be8bd6f83139f6f5d9a0b3609045eb914ddec7807da8e48758374ff56647ded3a3f5b7d6e92ee79eade013f2337bef6a6c402943e8cf3fe2bb4bf7ccbe5fc9417f258b81e6beb2053e6d665dee38d58be608438ca0052cb4ddf3d0af3e02721c849d80d59d1d778b6329c2e2d6d927e9bad76a243a34f0c2cee8fcbb0c6d7812c4d370b86c3a0c26cd8c6f05d2e8167a25010769cb9bd321656655346c622ac361793cc4fc01d5211257c7a7a5798cf704b1cdd06a457266c88f6fd5f311f28f849c2015cc6aa24fc2256172dc7cd0cb82383f7e17c123202a6c4bb8f83cdace0a1e26af35e45696f960ea7a4d156ea571b3f2100a7bebc6c600258d93142a07cb5fed547231cb973792fd2128d0ecd4c1396084f5e356c25e4bcd666208fd5227c145901cbbffe7bb1887100391980d64b17a91e5ac18e42e284f321a210d93e5047c99080c8b87709892acdf99d00e3bf0289ba2b7ce2996d8d214631b49d6f5ce5a4cc4485a5ec6238f17631281dd56790ddfeace0027b9cbb15197da3156098bf8a247afade4663fc735d891ce770788f22e2ec84427861be1f95c21787ecb4ed0a1c02bdbf4b97c3880fd397dedb032eba1ec7945c14b5bcc235cf0fcda171b065ccf9c32b49b9fbe78a12ea5d2693ac1ba40ecc8d5b24db0e3fdc5eb1244aa4c8b4276de9b6b08a4949a160f85f00b67a14c0222e709ac2eb5feab2d54d015a309e653d52e09900fd6ac1850d2d200a6969e3eb83267d02cb2043222654fc310a5b369426561b70909976875e9e226e6cb8314967c26ddb8779a581392fa50b6b54a034ad2ee81edd94ced0f62809b061076595ce797f2b448ba04df8f9a11e85ad498aca7c94a38625a4fad96b5bc4fd7f5a8cfb3951518f55e42e525d20e4ff60dd16cad08cdbee5cd87459e9633cee0728692692f5d0b8595a1d34d9c9309d9ede1ce8394ec79d03132ad5f870fdb70a6ede0b9e7892c77826f55018a310789be6304a9ea0d3ea2fd83d9b6b182404191c05e009d975acbe51a4169a6d9f22df54d129561215282cc144010144b14182615974402c13c11f6c5da70fe2dd063a32124343fd054d42e8aa331069de60d4f59b99dbe796603e79fa7d56ff2157201418d7b57c943082fd5fea59d8e422867d68a6cd1ac6f01457236800708d61cb0d9ab8fdd1158058d09fd8546ed61c13135c910d3130f80ed77f5dac26ef0784242f094799413dd19a7d8a1c8fb96de3e2b5b0af397b09a6a57a2d557fa4d6c92f5908bcb1d261c86f7504ad74c9f34a226b69bd557ffd906db1b2ba212ccd7ecfe0d0302c10aeb1f66b00e3ec52eab90bb0a645b6601dceb7a09a22ee15ca0b9014ca6dc76a18f89044c", 0x1000}], 0x2, &(0x7f00000004c0)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x28, 0x4000000}], 0x8, 0x0) setresgid(0x0, 0x0, r6) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x2, @thr={&(0x7f0000000340)="34379f652f70887715ba7dd692fe4e46a93595d7e37ce853630e87fb1c8f4f48ce89447c38e6fe459fd9d8ef849823ae1c39d5ecead78adf4a7a914c13497deb6f97f0c922c9cf56dd9978d8492a50e927472443d7f779f29c35306a020dc8aa302dc46d07b77c00f228facab340274f7f60b3be1da782b036da7642d720e9969e861fa74005fd30a8d44c5e760b28721b526318d2425b797dd69691b9290f3972cb0af8256c82b03061f6e13df170", &(0x7f0000000840)="13df7d4646bb341244537ef49acd64f38cb5620e018a8355707cc542aa8557f5001ccc42036a81a2e88360db43ff8a85e64b2546f0ee3933b4bb3df69129f1e0cb972b46689673e5c68a203dfe7e710f3a329827430d4b5dcea5d689aa499e871ea08611718393f2fef1b915ac85f89c2c952e660eba677b9caa7b892a9608467bbdab2fc055d89979f0d3255bbd396ff063652dab79d67a47ad07bd31700c33bd772eadb17a0050d88c3b2d06768f843f1927221faf2ea991943b1e8a2814"}}, &(0x7f0000000040)=0x0) timer_settime(r7, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$EXT4_IOC_MIGRATE(0xffffffffffffffff, 0x6609) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) r8 = socket$inet6(0xa, 0x400000000001, 0x0) r9 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ftruncate(r9, 0x7) sendfile(r8, r9, 0x0, 0x80001d00c0d0) [ 492.468746] ceph: No mds server is up or the cluster is laggy 18:37:25 executing program 5: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)=0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000000000)=0xc) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000005ac0)=[{&(0x7f00000005c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000000c0)=[{&(0x7f0000000a40)="b5b38567769c4715bd260dddd33813cc0569d2f6d4497eca255ba93fab41f67c0ed233344fa961e6ff1d79dd50f3f94ee36a75ae75a75516f36f3642156e16edeb931fdb233eed99d303ba20d0261006554e68e0e05de523fb3e78bf83acfb96ff6de9b46625fa8fba3ca18cca20656cc0424820984e08735f3245ee186a59031f7137e9754fc97efbd8fdaa614f7d891cde2b08701ae33e1b8fa49fc0b71e643792eb2bf0352102ac96978eeddc0e08945df6db0d02a2710aa7ed484f6129005aa2d653cf8b51ed14208ff7376f129d4f7c48481b8ed8b606bf34fb30d1bcd67c480dc8ae4f1ed78ad5930e758a69f8d0f9c093f360960a9eee", 0xfa}, {&(0x7f0000000b40)="c863db746b6d23f7ccb114bc72acff7f76f2d0156ac62cc9b7269255509d4939b02ef7a809cb08d153a6403d6cea697a6a30f84bfb60fbe13a4f01d9b50b308c21487c05648fb94f7b81d30ed3424a5ffcc98540bd3f101d3d8b63dd7cfd6a559ea8b676508373db090f3c0e7ab3415a48dfc1620153890ada098064f6dc1a32051fed475fbde91b31a8f5bbf32e233282e7ee8f5d67cb2bcc0326f1f60f07d58128ab3f06baf2c6db8b6bcb2b32cdf8b5aaa9a72009c332c22cd7cc6b26ae", 0xbf}, {&(0x7f0000001e00)="408244aee4c3ad13c20f711ee78b681d8c7800bcb85261fef9393831e937ef75c0a96f2badda32c67c9c84c496d2d67c44378cecb6ee8086a9f6313ebcb28f812727824a28c90a569d1d60f10d7d732af3032043a71178f80e3fc81bde7e5e9edc663603a8914c317a27cf3699d6d7943bfb5d247219c3ff9e9a73181781edf58ac150bef61be9b75c38dadaeca4b745d481a5807dcc340d51d22ee53a2d21f77e39c624b6ac65534989ea5ad1a3686aae20494657bc59d33498b8b95e8350c4ee939536a2336bc1099eded42c0d2c540257bd0d339071489b64f1364491496fd381af398a0a1865d729ac16e02ee5887dfaa8e79a50abff87a943ebb579f34caa1790d470e92d51e7146ef8f1cf61aebd82cb644633cc2173f554603751e56b3cfeb0ea32071bdff9d237e39239b579929fd5789cc7bd71e20b4023844ef13bb3d723b7dcec0f8332408ebf2b98c09716851d5d572a6b7b60450aa9406ea6738596d974133362660d2ecec0534e7f1e366902383a5cca676a93ae10840826d2c2389a89732e828da1ebe6c68382e4b256b1f4554aadf49ab40792b940eec978497d48c9c37f2d65b01ff10ce9fff2ee6dd3f7a89927349481d16012b7eb5218aa639910a1832134c8b44910eaf49118dd836d9abfa90f604d55a85966e7765dae1144576fa63c95415bcfb091c1bf57c8967c435427176c7ed79cfece7d1bc2a460e80e025d8545fe59b5aeac6a1ade4af3aeb6def0882af6ee4ef61c40b47f78dbc1dc67247893b939d3fb9a657b15ff0b41d1f0e13fb8136160b99959c83e7853283c0d3e0d1b3af99be2d3e1e6ea9e18e74f9e663dbb6e9501195a330221053e2e8bd264f235a98b33ec855391c675315ca04660b8f842c451a65e845c5951fde69fbcfef39d3ee7d8e59c71bf145248e291bab2eb341c23130d48ceabaebcac4f11b63bba720edefb95da8396dbf0428c8892df5dacc44ffb5843eca8833a9f4d1f78d0c00b6b150d5b70db5d6cdba9023483b99aa322be3f0b60a8eaad0194dfa5749a95b417922a2affe6644291bc62168555e169b738da0876b6786cbc1bdf052eaff8bbd5e885bc4815d4d81b779480c6bcbb0896c3484844e20d4d4a0cfc4c94b21c95574af1a6b32a7445f0c07726cd9d680adc290d55abd3f0862e65e36b7d06c26e9e9bdf5a6180f418ea78dbd280f8f4870f86a3b373a851d017f0fffbbd96570c1c1d5384e4be7a35ee26b124df329b431a15c8329c6f8699e1552b2ed829f2f1adbc57f07bd6202416c2dff2dfe083428f799aaf08544dab23d67b221f7ade83f5b339992aa626d61a370d951c607c29188264916e4e97c93d574fbb575332ab3dc03e5407c20bdfed3dd8877b42372a9e1925926496ae1fa57633766206473c8f0884c28d455a415ff5ea2a53693449bcaa4c6a19c85eaec0da852695b3ba9189a844c30868a5e53fb3c4792d6243798c35fb3da79a2d7f3cb5873603e8f184bde0d3323dd6faead0b7a7bbf5a3126aeb00a4578d2a8823573518e6cd0933a965acd99e176a2ab81caaa83792957340453a9aadd77c439878d286dd2f053ef2e1c435501d8d879cc3c5a6ddec46c04efb6b136fc4993df210b003184858c5557cee116298188585a523261b1018e106520d75f04a431598783fffed30edfcbd3b2a5b6e91ef3eecc40a2519885c354d19f6cd93cd2dc82b1448c2dff90e9525b54b6ee9e400140dfb99f7951b0f4b74708e679cd8641b5cdcd4dc95866ee0761177ffc20323aa00688707ee284d3a6360a316cd9138f317eeae07a1650edb4328b74026eeafa34ff04c631805f35f7ee1850187b0b0ece0858dd33c4aed6eaf8e9a906c19050709293ee90bef9e8c1342fceb34da2883fc7faf5d1c558b572afc152aa33ef26c1adfba4c9d3cae73eae240b54f548fd7e6d4fcb0d7e68a504829caf6e3c2ac555e0f0d534c9aeb0ed5b5290d79332bdad1a8c0123b9009db1899ec12c79a39df2eb388d6d0b6b162a27e8a43bc35889eb3ea888ea422d28680a23168d6713e5cff1153127fe525750c43dfddcf16e2c056dcc406e3afe069526a6c7ab2524762b652c66da2129551b03a7d7d0b596a9af66226c8cfbf0e00f831c77fe272f989321fbcc6bc7509b06fefac27081651cfced6e3a9276807d13017993c4173b70e0d4efb432301e237f4c58d49af758578e1a64007ba6b379f9c3f1fd90949bb8fd91d5d154e7f82180cc9b42df502c725ac805cb44c1136da1b1cc7bf78793569e2f16ad9b0858ad514d44880436b9da12df565e0e250f640fc932603bdb8f974169a9875dd392a04dd7d25079e7ef02c9114974356358b6fcbb5895c4b502d15aa89507b07dea273c7183d43a0f1225d3664cb6fa4dae95bc84e58285a276041bb5e92c0203a9513cbba3ddf4053b4d6d5d197314284241757d1782ffb5c9d7f831b83a2f329702f64be7edc3f4b9039736656dfb6fbd7eace9e4bdf1523dfef40198941d8e7a0145305a6b8c926889201711ea9f7aa72c6ec994b1bb8f8553d94d9fcfd32839e54eb27e42d096e3ce3235611db3d319608ec4034772db08a93737b9dd623c9b6ac0f2ba6bbb26d64186caefaf39bbd5ff82a84c8773019adc88d33874bdd9a4c9a3abe329450b16c4c5891f80b3fbf61cefecb146f6ef30fec917a587ee6d5b075218194adb36ea4dafaa46dd5bfcba7d993780e9120a485f955cffda333f5c19fb1c7a0bd3673d329955ae66cd19336cc70dd42e082935e3d3df0b069ab524dd33d0803a87deafe4716b70e69a6ab8add3d95b120a2eca813e6e325e4cc2d92f9cd81dff26326366f27432ebe32fd0588c850d04676792bbeecfb3d2695675d796858e208159ec293dac9a82e64ab6d21b6856d7d29078387a355849d8e1c207e0acc771a319bb8ab1a58e0dfac12ecf0bf57a2977f51d0f236e9c3b4edd28347426abe3fd0984a80f59a436d9531caaeded6aa892eacf696372874b769a56ecee7d6abd08e82e87c9f71dcafb4e46b7db1d4fb730707c07a9b54d51b0c22f656938b14c4e4f46bf193d28212e91e754cb4415b9df76ffd7ef758b9bc5442e3b4a248a50394e8c9317ab2844ab569cfddbc788618366cddb61bff3497f25c684aa0b95d864c1f348c32a2d193baa2934a66640cc160775f15e1af2ceca3d1af685b629d509e921839277d267b19579d5dae56dd2a42903ce1f877bf369cd570cca10594713899d66122b86ae1017ec326c8c1813d2f76e07df16c89c968f9be39dcf465add0dede58593b87c622b234774f82fc7276cf1a3bc79dfbd4091d4151af3d34e2e20f8a43598cc879afc5bc52e58e49d462b0888b9a7fdc1b5536451eb4848f74b0b63ef70856d16c62db6b5a6833f163c9e3c07c569b6e0e32523957a4960205e244ebe3d0ad30124da32ae396c80242746e87df6c31a8a5dca0cb84785bfc0d0b5c876a2cf24b5579b33a0d396abfd61c42b0566501fd61e402040a9cee0dd6caa3b93647140a7456532a6616b528cb795c0bc6078a21b8696a17b4ccfb12c02f055159b94f84ecb74baa42e069f4bef4248c6d0925215a70dbf74f254e14139e16bad13cdfe490c9d3a1e1a9e3e6160496d61352d32215344f51012ecc69ff272ebdf634ffd63074f3d7fbce8e14079a78f1c43c7e1f53f4b4ac02f82e755f98ad3e427ff55b2dd10ea60aa28084aa5b0dce773f96b35de10d3f25abc8975f722543625542ad40c6c357fca32201b87c333de24d8cf46089825a7527df4d23fe818fdbd5367b1b211f43f8ae472d8156b23621cd94611de5d1ea6c4d5407d3dbbfef7d7aaf9e3ed7a74fa95b23e42bba01f3be92a1aab4fae78222e4e43b4e5905be50c841b1b246507fb6df976215de8a1d548a1d3016964daabef22b790dc0e54d9e98899d0bd6deb7ccf52798092f2d8449b1730bd82e9a004c8a866d89a7bd5606208d6fd6c340b8b3c7ab674a807bcdd6d07077d6ed321e429a076a3235382308b62466dcb8c799b8653b8dca7786439ea561eb7a01245b335e6cdeb399b3b1184263fa39ab92125a59d559b8f0d58e37ba3e2bf80242db470f36f1bc44316ff130a977b4dca53307e62c05c6d553a234cfdf0b153a85fc34f108d0d1965b8c971dd4531613befaa9f82351c4f319bd5679d00a84386371f236e2291091e1f690ad950e11e3a223d0fb97296a83634a89fc56cbf4741dc5042dea9794e1f8f9fb15630e0c906542ea55d6480431198114eb3650e30480a7244de19d4459c96dee02ba2f7dbac0304086f46ded7b47c5bacf412f79aba1632f27f235a365b697b13cfcc8848c69a839b74a5c89cb5714bb081eef53d9c84b54a1d48131ee39b215eadae4ce2a179934f8c3d2e48e41fe2a93d7dccf47cf7b65b377fbbccfc9e0fdee294da2c5ac663c9d532bd3d82621bb3d63bd6a14a2e137a96de9f7ceaaa6ca179ecff5cca423852bf64df5531a45c2c452bfab042da662d4502c2df59249d634a60f7f091281cbc205106b4a871fc8153d2848cbbfc0f3d86d82ea71325b3c4cd5fedc93de6d1372ba8d841e6059352660f3f01e22c7ce9893f69b8fc7c69fcba99692b7cc1a69262fa314c81fda46880ac4978feadb69caa3fa4786c1f4574b675172034878556b7b63f4f78fea3b8264d8154ea42d7e958dc748ad6bc43f6a6e7f0620fb4abe530c1defa558752953e6b1c26c0f8b8d1ef298b58e8aa7dcfdb9d035a3587e2aec04e960bc0c8e3c321af17a1bd4d58b5f72d092c9dce096b430e3b2aefe9c718d4c812aea54129171f9027c3dc6f8f1c20adcd2912e2c4148ac3a80abcd55a8e311b86a739b81763b8e74bc27eae7be8c9528832d7623fbe62b2f77729ee50b9d611aa3b43831ef371f2011a36445df37a1b9aa1efca0622b0f77d3dade1919c9312572bf0069157a77cd011e6e257d4a6476d1b68e5189df9e14cf955229aefb9e59ccef31fb967ed6bfd117b3000b72f701396f55b7f81bdc20d7568994d38c1b68ed6043176d2756ec8ad5753baf38958bf4d5ed1f97d09175bbb771742815bef74bacf7f4c0953562f423e6ff78a9eaa1ffe89f548a8d61f24128aef9e06466f7cacf109e93134e9dd5b54b7dcb0c894942292afa90f76298ab3a4c145b7fcd604cda8e96afd8e4aa8f54112ec364c2f0e7e081054f8e397e8fe5e6ffaf3b1f94a72aa5ea345f37001349f721f77d6443a6a325b16b511f5c9ed3c01fdf825f79b7c42ca1b7d3c2fb7647ee039982981eea6c94361f1885c2e6bd0aa1e333637491d03fb7dec5e87a8c75bb16c387b329f41d65cb81b3496c9aa542f450739859c9ecfb5016dc9e4a19fd3bb4fdfe27cb4e5e38082f3c8e56c8e3997fc31082624bc18f1dcc364324ec96167c6c410f06d920bb7f644226327f684288ae6ac619aa542f2346f7c48194dd7e400dbb0b5a87127397bf692bc81ac13e4f25a84cff691fc2e5dc9451f9812b0418c4845ead7e8bc467eafb64c0a11d2ea0e9466f7d40d214657df4cf77e75067caaae947160db79ecd011e58eacb8a9fd082cf82b2954055aa583540fceb9e71741ea2d4d42331d182e8ee2f6da36cc7220efb67c5ffb23162e386439a7873a94b7f5153f24394a4c355e8b675a975e36091e504c2083e7f25a8191b0200acb6fc63ee0f3505c0fc80ff8aff692659ca64f9d43f1d9c909edc070f280594858c0180e69c1b874010f637410b16bdb7e346525f19cb7f879027404f5ca0fa2d2979b764ca2c806c64881bb9", 0x1000}, {&(0x7f0000001d00)="49dcad16ffcbaf30469e6782c5da8ad1fadc102751ee8ec0d312e197cf39a6b802e40c9416e7072d3bab15d749b80e09169629fde0cdc249c11da9866ebed6bb01b9b5284f0bbfd7a4e0ec4c0ec1a3318f40e7ee951659ded97ed264532ef2ab360e6a8b2e59c590df68e193c304ac5f6337804c0eb18918796d71819a3494e038ba288125999852d884999ea434d06595378b0422eee9922e9744aaee29adc259451feed4c48705cb4cb19fccd12b549b399345cabba4a7c454d5eba38a44ceb4e298aae8e7ac65378382b75fabab31e0378a13b21d7bc1e25e17e6c0c2410a2e266cc7d954a56c83df6054e0b3e1c7ca", 0xf1}], 0x4, 0x0, 0x0, 0x8000}, {&(0x7f0000000640)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000002fc0)}, {&(0x7f0000003040)=@file={0x0, './bus\x00'}, 0x6e, &(0x7f0000003380)=[{&(0x7f00000030c0)="9515d80ee43e8f596659af649e5dddeb08ea3ccbd6d3999ad80501305609bbdc1a0fe7226b8b55d1a95cc8b060086543542ac14da9c5a16803a91f6853d3f556acfd041a2be2f855f01c744ef3040f8da612c0b579fca58d60b1e50c3a85ffa0d13a2ee4da35fe4518d8dc16265a8a56209a53625347de625fd94300db37941df69821db6f8546d8c402be43ac103066597669b1189911c832ad587d7e0025023cf462cc3ed8c8fa8591c5a78022e9a3b5f14fad2b5babaac44a8c26d4169563e1d5fb0b30bdcc23f354a82033d56f7ce367b7145e76b7b9d785515594dd24a61915296e9a92b6471839baf566c440f3961cdd066f055d965ca403839f23", 0xfe}, {&(0x7f00000031c0)="53c01763e811f5900695f178d78dbd213a872c2b4a4a6349558333b3d55d9dd5657ef38ab1742ed0124bc824638540ca2d9fa626b24908e6eb8548b164530f0b1d2b949429bb6cfe0eae0c7e93d356df0015ffb77ece478bb980ba56f82159f9613f151bc5beb31fc7722896a70f8dd0d9fd987b2da677a37815d7655eb1e24bfc7078622709561b160c5de4b93c03d1747c9a942578e169e9634f", 0x9b}, {&(0x7f0000003280)="52b8d828a3a4bc895ab80c8f9fc29da6b89f95b21cf2efd791756dcb5418761d97c9a34bfa4091058f646f33b060273418e415e6168a3fbd326df77a33b715df4e0bab4a50b04bc361ee160e207d364c915663264159395ad31864097212b9e807662defdf864a22aceb8492ff09c7097716f41ab8befe10d940caa26822ad91260b13c07cd102541cabe4d7b0e8ce", 0x8f}, {&(0x7f0000003e80)}, {&(0x7f0000003340)="1016b163af216135726f7bdb1551339b92686cb80ffa3d47d734a13b1d1e17", 0x1f}], 0x5, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRESHEX=r2, @ANYRESDEC], 0x30, 0x1040}, {&(0x7f0000003440)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000003780)=[{&(0x7f0000000400)="9097faf54ee711e97021e369ce5c3c522bacb45dc307cdfc4da996c67609f0e28f9c41caaab4af8811e4aecbacc38e938f607205e3cf7924d624577506c72e4aa08cef107646408ec112fe2f3230fe1e0271faf05026aff049", 0x59}, {&(0x7f0000003ec0)="9650cba1e31db6e02c0ce93cecc11bea48dea9437f5716d030060a6744eabb5736fa3615f8fa76870ce0f1efbf897fc35233dde6f879adfbfa3a2bcced89157c30015484267cc07a042aa6954db6ffcd5a901d7c5407d222fe6b2a5aec1bd1497baf9414201591ba102930fee5c363a893b7bcce555e963b8bd27205fdfac520b35b238fde8ae3cb9850d994f2324ba595e0bf98cc8c9c2cebaff1995f74b447e280f34e9b7f", 0xa6}, {&(0x7f0000003600)="a2ab7678572f6f0b9766a684a1907bc5c2abfb2d3439fb7b364ca7d5fae59d27da5ebf3649aa4afd065387e81ad0de6df0a96f5e42df3865e2b1bce5cbca9eef10a1150cc3969b189330724e853fd2bf4dca17c4d4c1e91d03bde66c540ce473ef3fd788b5ad0f2db37198ee51be0619225c3b2ab6f13fc5666b45", 0x7b}, {&(0x7f00000036c0)="4fbba31d434f", 0x6}, {&(0x7f0000003700)="6fb70cdf1ee5bd77a35c8cabb37c6f134b1b8a42a3eb189f6f5082332083adcf2be8431a88fd30198488cc0442ceca3bb03a5696759af7697f2232e509e7c5d7554e0efd18737fd1d2d059c4f5b10306feff3e8807a1a7eea5a0c5119cd7a5ef4039", 0x62}], 0x5, &(0x7f0000000200)=ANY=[@ANYRESDEC, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32], 0x20, 0x24004001}, {&(0x7f0000003840)=@abs={0x0, 0x0, 0x4e20}, 0x6e, &(0x7f0000003c40)=[{&(0x7f00000038c0)="baac0249cce8c70102c9d4a151dc60ac831ba365db1bdae1af3ea52d59991a235dd714100bd4fced58e67d5f65b001f43eddb1802b667d3f9682eb1f08c863d37cfc9e3628c2c6dd", 0x48}, {&(0x7f0000003940)="3d60e0d7fdcdd31931040a697f90e3594a33e2001f7fadba03af5ff3c34213ff4cf7c4254ee65a1bb1883fd0b18c441b3574b89dc605df6844a9febf5785b56df5381b0e66b9336421e56c140b7f3c3a54c2f414e10aa206a2da17035488ab3117476a25e09c86bddda2cf5d59928eba3b3c764786b5ea0b04a333ee46c7a5a901cf45db6387cfd025348171f4eaaeede20c31832bb53a3f35d27b722eed697b2c84c0f1007726fa7b969f6d841a4fbc8a2d4d76023f525bab8c6ad7d0143782d0a509523746358365b04fcd718340df027850445aa58eea", 0xd8}, {&(0x7f0000003a40)="3497bd3e729b1585f1bc8fc7ec15d7722ef9fd34210c17b93cc27ef50487b185e07a6d6e2161e798e0693d4e40cb5dee0f7dab1f80bcbf43636c146b7a1f964bffc2c5d2e445b51ced70", 0x4a}, {&(0x7f0000003ac0)="ed1d553d723fcccd2d9a3950a6b166ee5450bb0769497d09c304bc605ac67f56fbc30580d8cf55e2b47899cf08bf553d5b3226310162d2a9c50348e7cc47e0c8", 0x40}, {&(0x7f0000003b00)="a92403dc5d21cdd35424450e3fbc00e6b3e607c119a6f79a8848c4df280bcb14aa42bc663bf735d1c4b00531780a608cb1c2bf73c77347fb15d427b9f100cf1f78bacb608170e1e71c4389d039504925a1e814aeb5cae8a28d08b681fcc837f961449e973875456d4630b1d284ddce49ff05216cf0d2908dc061151a593ebab04d3b3c25a1299ef4993a763cca36e2bf3930fcc708c25df31ae9459a986a62cd5fc22aab144ebb80b204c7156251d732ebfcd5919de021704558aaf11dfa4afcc93f58477dab0725fd834697777616e01b1af185c40b8e7a104e73857f20595b2587f92cd754f6e6bd80da74395aab22f8431be3552eac3cbf", 0xf9}, {&(0x7f0000003c00)="70efe372f6e28da6edde3abbe5aed126480cfdb8b900a9b8", 0x18}], 0x6, &(0x7f0000003cc0)=[@cred={{0x1c, 0x1, 0x2, {r4}}}], 0x20, 0x4044014}, {&(0x7f0000003d00)=@file={0x1, './bus\x00'}, 0x6e, &(0x7f0000003e40), 0x0, &(0x7f00000006c0)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32=r2, @ANYRESOCT=r5, @ANYRES32, @ANYBLOB="0000000014f9ffffffffff7f00000000000000710017a425de257702f800", @ANYRES32=r1, @ANYRESOCT=0x0, @ANYRES32=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e00300001015c26d733afc27251df02688642f916551bae95127ddb950bbb28720ba0f9b42e04eb0a9e8c43cbb33613584"], 0x58, 0x4000800}, {&(0x7f00000040c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f00000046c0), 0x0, &(0x7f0000000f00)=ANY=[@ANYBLOB="1c042c8f8d42d584a58200000002", @ANYRESHEX=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES64=r3, @ANYRES32, @ANYRES32=r2, @ANYRESHEX=r4, @ANYRESDEC, @ANYRES32=0x0, @ANYRES64=r4, @ANYRESOCT=r5, @ANYRES32=r3, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYBLOB="20000000180000000a00000001000000010000003bbc486dac4e67931a8be19ed2a48717025cc3ae006edd4eaf7b53e3eaa52996f15f97fd266a00448f417d4f276a6db56f8c764bd490ad9c4c44b490864e2081c9f9cbe1c2357e5fe8370df0152a74908d85e62bf09a4a517fee71aa96db9f61e9b9830cd38c13d90b8875c7", @ANYRES32, @ANYRESDEC=r3, @ANYBLOB="28000000000000000100000001000000", @ANYRESDEC=r4, @ANYRES32=r4, @ANYRES32, @ANYRES32, @ANYRESOCT, @ANYRES16=r1, @ANYBLOB="30000000000000000100000001000000", @ANYRES32=r2, @ANYRES32, @ANYRES32=r1, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES16, @ANYRESDEC, @ANYBLOB="0000000024000000000000000100000001000000", @ANYRESOCT=r0, @ANYRES32, @ANYRES16=r2, @ANYRES32, @ANYBLOB="808247bd22be9cc5e3c74a412ffea1762033f4b468c7c55f64869089ad6e0de94d845bb413f2423cf489386185819ebbaa2c0118887735b75b376299b1fc08d5a3a361a6dadbe02df8175e8455abd2c1d9ff04fc9f854f2966655a2486e3fd772af61d3371a492d08786ae3a715c0f60b7846e1278816b50bc820044adc0a5d25a6fc38e22c19fca58a4278f12883d634de7e5098aa76b2380743993ca1de077b60ec7519f4dc1bf290a5e71431f47300fe63aa9aa1ddec094b01a2e9652e898f48a564410ef559a51f4", @ANYBLOB='\x00\x00\x00\x00'], 0xfffffffffffffe48, 0x50}, {&(0x7f0000004940)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005a40)=[{&(0x7f00000049c0)="ede81efdf03d2fa904d7cff7351fe8b2a89cb8a94b69ade2cd425e0384a5d5df5a2afc01b25eedc256dc7cc63c9a94c308c688b159ee1ad66de5bb9aa37626d8f57d4e3914750a79b5c45b8794de8ede3e2323", 0x53}, {&(0x7f0000004a40)="e63b86f8ebcc04b743d5fe914be15ea7ce821417368ed519ef5759a0c0dd313f299de4f8c1f434c6d5faa662535744e89684f6e39e2eac6a4b765780cee828f0773f167d704ab9266601d6558f639227708aeedecabfc801f360b7f9676559564497cb6e4e26f82ea4275333cd4aa92169aa7bd7fd2400580aec4f13cd11b3c3e46ec8f9ff663b11bc1c890bdf36b40a6db1093f2dd7bc1e11f39e27f15e540f32a959a5dc3c1a4f61a49711a35810778235fc6295b8670b7fb42ba3fe28dabe3eace5155003048bbbafb193b65de7e2cde18b1093a531805a56f15441a3b41e3ea75d24bb221005b03191977df77326f24b94ee481cc846ee9c2d7bb7099f9f401111b7d8b275593179f59a5aae91b9a67dd53a2ee70e7456bf7a42baed49a1675cd141f339f2c4d5605b899be3e97da530517964221a5208e06582739911574b9aba4ae53fddd63898a8b1cd3b1d2a27bf00c42e13bf38d20f64efd1dff711ee541b8af6f55af44914c634fec6e1ab893d21727ae37f68151ea79971f15ae731cdb000392349453dcaa08cd797ad1f46534345cb4bf320f72755ec77fd860fcee21770fe11ba17fa96213367ace655d34e37de586a408f17e5cdb4843e5beaeb0215ce9c5f9711d9af8f0b58094a4d3723d6201e80c867db7473db174ec7c16e663333b47e79964333e178319eb9c19d579ed53fbf44e7a9cacaf87d2dec60feee906bbfa18ed399db854c78a746cf4944e9e0af0dd15d0bd915ae43a5173f9c73c0333db28de454b0ea76446c4b3763be384d072fd48688dd27e43bf4d2045413160c140898412bfd5eb3bb880e1bd1005f15d1791d6bb476bccb78d5a00365adb7eb9132ca020dd1a0afd12f87c593036c5219cc0f4a4ca2b5861130050a486e35e367afaa5562bb80faf0b6daf06c27b04e2ee68e94bb944b6e75ff87245e5cd0b49084725921ce7de4500925f799bcc0e22fc713ad78b2908998c0032bed9ebc86045099e5b66a189aff2d60c49467d912f29db7a2fe29c35c1c0bcc2ebb001dd6875991848465805311cc58347377a6600a719d8b8ae25ad2d786adec6af7fc7a11590fa58b40dc6d508ea56e96fa50262426ac0d88c47f84745366847b2e5a39e4b4998d0cbc6dcc0c2a87e420278353d96e33e73a45042b1af98b89dec1e2f36f183584b81a75a4dbae1ac44fe8015f29dc4e87dd587915bd5b274f2de2b837c847d24ee5aa1116790a8e46803be7e6d3a0a721c188135b9c1ad1ee2265455f8c0b90e4aba72c506afbadab3b99e899068202b235c73df394010d258a2672958e0cbcc72d644518a99229afe45e21fec74fbc456985be4ec4471b144cb447b7d78abc5cc23ee68e4f7a6b8d680e11376a84b8ae045e048a8b59159191456713363ce3f46c9eb59af3c92b1382ff45e9227a7989acd952f75198db27168be8a572c5899821ac15c17fbddc813aa2d655e551e9278b59f560acac799171abc9ed85bb3886bc17d0d88dbfa09da8514e78b9ad1b75018098851ad3ecf54b535b38d15205761a1cbd36c9d3ba28e07c9621b3b4ffde4f8313f2d2c70f18b2e054c100b7afe86363a4f2bd032a719416c3674499a5de28fb5854bb91492bb9406f24996084fbd1acff58c8e85234ad5ab24c8f609219c2d28c67443cff02be52a5fca19fc32db0947bf97ca21dde25e93c430fab78713eea2fbeed4a958f5c9b4ab2319151ca1609348f7e4b0daf17b8066083e7d408ff77c4f8be5585b4fc9ef278e614d91b698458f440654981b9419496f9c5d19e89b70d2b997bee8a6f52b3d56d94d49a5829bea201768f75e4d76d186c8572014ab235ad8283e9c920f628daa57e36a091a3f3f48d0c700ef84bbebc8b3c5e36af8073ece45aee5b9ec528d5d14b32a0db82d3aa527308606df1b465aa6fdd8f5875ee94bd77bf2420ddf7a77bc35a8b1f2bf064817736a513030678e8adc437ade3e719452388a59fee50a71cde26b29b95c7657f437669523d944893cc47bf41d6d71951537130f68f4e2265c4e44a34377767155e004feac0b2ced9f027a18629a93854a3f24bc1de20048be2fa5d1b4f00a9c87c9016ca43821e52d9b313532964d1aa4f3a2f145c18926c14cc7fb02bc82ff46c00c14de438f8fbe9c60fe3a778ecf64e8ad4a82bd722a2b68cff02cfd0b7bdc22ad2e991517a252ad93e20167882ea1c8adb2a2b8f45a228e2353f31408528ee1052d7312e925e5e2d3afe962e7f4da29e02535f5ef4f86e31cad5651a67b60f6d705ae4ae4a504bd5de7a2d7925422d9a1feb5597272a3307ff3b6d376e5299f9f9c6f632dcf965eae5e4148b9d10fa08a751dcf08b332034814f7dbb75d9e6c130f7ee66095537532832331be1386b39c1bdad75669b984362dbff0da1ed0b7c52ad8cb102d764a333cd472a492f2477b32f3e81b38689d98a042b1c663c7f1486618446659d30c0235874a3bc3a11a74a5739681b7ed7d484bf52822cb9fc84e78ac7a9a7f3fe2d8e513c930d6bf46ebf13f3e1da98be1777a35fa0f48f142cb0bee46fe6ce1b27cbe9328dbe015351876d3443830c76f5ef4755a6f7cef7cba294308c122c7631e1ad0429ffdaada20cf0caaa15a6387a96bf578a6fe497245844e8f658bac90cbb82e290b3e3a49addc30eba1cde25e62d0738d07a9bd2a37ff7596e03ac9d3451b1711bbaf13c6219f0efd1d85b30057c88d70819aa810900f20f987bc89257e401c26aa0cfc7425ff61fc4385587d82faa06dd6d5541cca6b372131fd579289bd7ca94cb19ad309c30a4342dc531f0c25ebeabacc065ca8ab735b769614ac1876eeb456289c424b474b12c6244c4e25bb920d923ffb07bfa87eb82fbe8c596165b976bd3802b2d7b77d9e90e6cd74961c6c8a4a96b6c43597fc6c2bacabf5f9da14d98f598815fed8edfe8fac8c978431be9dc563b91691ccbf052955cbf8a4819ac2651470827dffeacc3f926f9f5e20c75331e6cdb6eeff128c2a6fe6d475d3e384381bd6f6bcc831b0b980f47c80f8a52994e760e76836e1489df47b863064480bbba9726adcdab869e102c8ed27483f2f643a8028e3a4b1f813037896a0412b75755bb49835d60510391e9fa5c2c491c2a20b03d389d44a56914832a66525c242b209bf061b8fc4a993e53dc7864090f39e76412a7f69363812d92af16d4d6ea5bbca7c90d1b66a8c1ea8a95cc10042a601e484af51ba2dbbb819a98ec158fd401128e387239a8fd511d942b287215693959dffc7dda0728dbc0730f0b16a9f111d3cde21f739800794843a44a63c9bdb3d474ad07c072d444862a89ecd1b7bea61668e2dcc155330bd06c31444a9a9bd9e04eccefb2a6a853b6f75488471ea0829e12da9a82e3d2025b6415e5ebbcdf2dd395ea1f2ab1f202d9b43712b24218119aa1c895e4b7b29795563ca8ab5bea7789b162c841fe3799cb875d6f7f78adf1d1f04b0f7f04f6342868b2202a5b9c263bede0a1c84556a9be5bf6b6df0fdacf0dc44a1bfbabfec2483a69586e8b2c9fc7f23e6f58116a4e46db882e2ad524c92a23c72b98e5653cdd5d982b9facde03063db0ca002aff248a7ce179ced26eca30e68aaaec3a6614110972c7971c6d4157545bdf26abbb1d2696bcc7003da93452060f98ae7f3c56a1f263d16ad5559dd239986dd7a94f6ada92042bb84f0e1f3d9999617c729e37894a0de5a5f190e1a6c7e4dd64acd72ff3960347a0e1066f590c7b47678b90b6bf8e40b64e0fc349ee0a56341a48a58dcd1ac3b3863854d4c654f4d8ae0999eccba22d7a2d9c1e6e4c2c0be460d40948f455e085c158823bbf91d942c6eec130bfc47c3f7cf5accb5dad5f3a00a8c79c3396b00f5e639f1ee3ab59ad24e451efb80524064032a828461b3acd8a1034de0a009e709cee46e736eda00b1adfaf7b7ad5aefcb11ccc68722cb20177b767957366c89c3e560334bf4fc10e2b512e910e85d90ec3eafc8f7a6e1e27ee92a47b973c6fc523bc488edd47b513db7045fa70030f20d00f76909964ad052c110169e8510937a8553111459b47b3d37f6a3af46f5f1430e3b02d68888fb404582e20d12137227579f3a370de391d8561fef5c41fbe755c0a1a5f4e5589564f90675129ce9a575f40209716d12ac9cc1ac2edd17264277c44ec2949745cb44a834e2017558ffe31ec4234d72f08cc3a94dfdab5259a2a1f5d32638a8b818be96e417828144cc35e1c784ade3848e11ed3ab2200487b9ccc3d9172b3cdca835e17e62aa3ef17d648594343ca0eb01e853ca8ca3446a84acc8766cf9999b5e20a51787a02d7452e745e0e9e59bd3b31066deb8ffe2586f3f7db7d3f21a0f08a5482faedec043bb91e9dba0953c5891ad3ed54ecb50194dd50505b0f811cb60d2446be8bd6f83139f6f5d9a0b3609045eb914ddec7807da8e48758374ff56647ded3a3f5b7d6e92ee79eade013f2337bef6a6c402943e8cf3fe2bb4bf7ccbe5fc9417f258b81e6beb2053e6d665dee38d58be608438ca0052cb4ddf3d0af3e02721c849d80d59d1d778b6329c2e2d6d927e9bad76a243a34f0c2cee8fcbb0c6d7812c4d370b86c3a0c26cd8c6f05d2e8167a25010769cb9bd321656655346c622ac361793cc4fc01d5211257c7a7a5798cf704b1cdd06a457266c88f6fd5f311f28f849c2015cc6aa24fc2256172dc7cd0cb82383f7e17c123202a6c4bb8f83cdace0a1e26af35e45696f960ea7a4d156ea571b3f2100a7bebc6c600258d93142a07cb5fed547231cb973792fd2128d0ecd4c1396084f5e356c25e4bcd666208fd5227c145901cbbffe7bb1887100391980d64b17a91e5ac18e42e284f321a210d93e5047c99080c8b87709892acdf99d00e3bf0289ba2b7ce2996d8d214631b49d6f5ce5a4cc4485a5ec6238f17631281dd56790ddfeace0027b9cbb15197da3156098bf8a247afade4663fc735d891ce770788f22e2ec84427861be1f95c21787ecb4ed0a1c02bdbf4b97c3880fd397dedb032eba1ec7945c14b5bcc235cf0fcda171b065ccf9c32b49b9fbe78a12ea5d2693ac1ba40ecc8d5b24db0e3fdc5eb1244aa4c8b4276de9b6b08a4949a160f85f00b67a14c0222e709ac2eb5feab2d54d015a309e653d52e09900fd6ac1850d2d200a6969e3eb83267d02cb2043222654fc310a5b369426561b70909976875e9e226e6cb8314967c26ddb8779a581392fa50b6b54a034ad2ee81edd94ced0f62809b061076595ce797f2b448ba04df8f9a11e85ad498aca7c94a38625a4fad96b5bc4fd7f5a8cfb3951518f55e42e525d20e4ff60dd16cad08cdbee5cd87459e9633cee0728692692f5d0b8595a1d34d9c9309d9ede1ce8394ec79d03132ad5f870fdb70a6ede0b9e7892c77826f55018a310789be6304a9ea0d3ea2fd83d9b6b182404191c05e009d975acbe51a4169a6d9f22df54d129561215282cc144010144b14182615974402c13c11f6c5da70fe2dd063a32124343fd054d42e8aa331069de60d4f59b99dbe796603e79fa7d56ff2157201418d7b57c943082fd5fea59d8e422867d68a6cd1ac6f01457236800708d61cb0d9ab8fdd1158058d09fd8546ed61c13135c910d3130f80ed77f5dac26ef0784242f094799413dd19a7d8a1c8fb96de3e2b5b0af397b09a6a57a2d557fa4d6c92f5908bcb1d261c86f7504ad74c9f34a226b69bd557ffd906db1b2ba212ccd7ecfe0d0302c10aeb1f66b00e3ec52eab90bb0a645b6601dceb7a09a22ee15ca0b9014ca6dc76a18f89044c", 0x1000}], 0x2, &(0x7f00000004c0)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x28, 0x4000000}], 0x8, 0x0) setresgid(0x0, 0x0, r6) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x2, @thr={&(0x7f0000000340)="34379f652f70887715ba7dd692fe4e46a93595d7e37ce853630e87fb1c8f4f48ce89447c38e6fe459fd9d8ef849823ae1c39d5ecead78adf4a7a914c13497deb6f97f0c922c9cf56dd9978d8492a50e927472443d7f779f29c35306a020dc8aa302dc46d07b77c00f228facab340274f7f60b3be1da782b036da7642d720e9969e861fa74005fd30a8d44c5e760b28721b526318d2425b797dd69691b9290f3972cb0af8256c82b03061f6e13df170", &(0x7f0000000840)="13df7d4646bb341244537ef49acd64f38cb5620e018a8355707cc542aa8557f5001ccc42036a81a2e88360db43ff8a85e64b2546f0ee3933b4bb3df69129f1e0cb972b46689673e5c68a203dfe7e710f3a329827430d4b5dcea5d689aa499e871ea08611718393f2fef1b915ac85f89c2c952e660eba677b9caa7b892a9608467bbdab2fc055d89979f0d3255bbd396ff063652dab79d67a47ad07bd31700c33bd772eadb17a0050d88c3b2d06768f843f1927221faf2ea991943b1e8a2814"}}, &(0x7f0000000040)=0x0) timer_settime(r7, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$EXT4_IOC_MIGRATE(0xffffffffffffffff, 0x6609) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) r8 = socket$inet6(0xa, 0x400000000001, 0x0) r9 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ftruncate(r9, 0x7) sendfile(r8, r9, 0x0, 0x80001d00c0d0) [ 492.787389] libceph: connect [d::]:6789 error -101 [ 492.792688] libceph: mon0 [d::]:6789 connect error [ 492.806818] ceph: No mds server is up or the cluster is laggy [ 492.817529] libceph: connect [d::]:6789 error -101 [ 492.855201] libceph: mon0 [d::]:6789 connect error 18:37:25 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r0, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) socket$alg(0x26, 0x5, 0x0) perf_event_open(&(0x7f0000000200)={0x4, 0x70, 0x0, 0x0, 0x0, 0x4, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x2) r1 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r1, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 493.062595] libceph: connect [d::]:6789 error -101 [ 493.067693] libceph: mon0 [d::]:6789 connect error [ 493.100273] ceph: No mds server is up or the cluster is laggy [ 493.108558] libceph: connect [d::]:6789 error -101 [ 493.131804] libceph: mon0 [d::]:6789 connect error [ 493.146319] libceph: connect [d::]:6789 error -101 [ 493.158932] libceph: mon0 [d::]:6789 connect error [ 493.351429] libceph: connect [d::]:6789 error -101 [ 493.356601] libceph: mon0 [d::]:6789 connect error [ 493.368795] libceph: connect [d::]:6789 error -101 [ 493.380916] libceph: mon0 [d::]:6789 connect error [ 493.391396] ceph: No mds server is up or the cluster is laggy 18:37:26 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)=0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000000000)=0xc) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000005ac0)=[{&(0x7f00000005c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000000c0)=[{&(0x7f0000000a40)="b5b38567769c4715bd260dddd33813cc0569d2f6d4497eca255ba93fab41f67c0ed233344fa961e6ff1d79dd50f3f94ee36a75ae75a75516f36f3642156e16edeb931fdb233eed99d303ba20d0261006554e68e0e05de523fb3e78bf83acfb96ff6de9b46625fa8fba3ca18cca20656cc0424820984e08735f3245ee186a59031f7137e9754fc97efbd8fdaa614f7d891cde2b08701ae33e1b8fa49fc0b71e643792eb2bf0352102ac96978eeddc0e08945df6db0d02a2710aa7ed484f6129005aa2d653cf8b51ed14208ff7376f129d4f7c48481b8ed8b606bf34fb30d1bcd67c480dc8ae4f1ed78ad5930e758a69f8d0f9c093f360960a9eee", 0xfa}, {&(0x7f0000000b40)="c863db746b6d23f7ccb114bc72acff7f76f2d0156ac62cc9b7269255509d4939b02ef7a809cb08d153a6403d6cea697a6a30f84bfb60fbe13a4f01d9b50b308c21487c05648fb94f7b81d30ed3424a5ffcc98540bd3f101d3d8b63dd7cfd6a559ea8b676508373db090f3c0e7ab3415a48dfc1620153890ada098064f6dc1a32051fed475fbde91b31a8f5bbf32e233282e7ee8f5d67cb2bcc0326f1f60f07d58128ab3f06baf2c6db8b6bcb2b32cdf8b5aaa9a72009c332c22cd7cc6b26ae", 0xbf}, {&(0x7f0000001e00)="408244aee4c3ad13c20f711ee78b681d8c7800bcb85261fef9393831e937ef75c0a96f2badda32c67c9c84c496d2d67c44378cecb6ee8086a9f6313ebcb28f812727824a28c90a569d1d60f10d7d732af3032043a71178f80e3fc81bde7e5e9edc663603a8914c317a27cf3699d6d7943bfb5d247219c3ff9e9a73181781edf58ac150bef61be9b75c38dadaeca4b745d481a5807dcc340d51d22ee53a2d21f77e39c624b6ac65534989ea5ad1a3686aae20494657bc59d33498b8b95e8350c4ee939536a2336bc1099eded42c0d2c540257bd0d339071489b64f1364491496fd381af398a0a1865d729ac16e02ee5887dfaa8e79a50abff87a943ebb579f34caa1790d470e92d51e7146ef8f1cf61aebd82cb644633cc2173f554603751e56b3cfeb0ea32071bdff9d237e39239b579929fd5789cc7bd71e20b4023844ef13bb3d723b7dcec0f8332408ebf2b98c09716851d5d572a6b7b60450aa9406ea6738596d974133362660d2ecec0534e7f1e366902383a5cca676a93ae10840826d2c2389a89732e828da1ebe6c68382e4b256b1f4554aadf49ab40792b940eec978497d48c9c37f2d65b01ff10ce9fff2ee6dd3f7a89927349481d16012b7eb5218aa639910a1832134c8b44910eaf49118dd836d9abfa90f604d55a85966e7765dae1144576fa63c95415bcfb091c1bf57c8967c435427176c7ed79cfece7d1bc2a460e80e025d8545fe59b5aeac6a1ade4af3aeb6def0882af6ee4ef61c40b47f78dbc1dc67247893b939d3fb9a657b15ff0b41d1f0e13fb8136160b99959c83e7853283c0d3e0d1b3af99be2d3e1e6ea9e18e74f9e663dbb6e9501195a330221053e2e8bd264f235a98b33ec855391c675315ca04660b8f842c451a65e845c5951fde69fbcfef39d3ee7d8e59c71bf145248e291bab2eb341c23130d48ceabaebcac4f11b63bba720edefb95da8396dbf0428c8892df5dacc44ffb5843eca8833a9f4d1f78d0c00b6b150d5b70db5d6cdba9023483b99aa322be3f0b60a8eaad0194dfa5749a95b417922a2affe6644291bc62168555e169b738da0876b6786cbc1bdf052eaff8bbd5e885bc4815d4d81b779480c6bcbb0896c3484844e20d4d4a0cfc4c94b21c95574af1a6b32a7445f0c07726cd9d680adc290d55abd3f0862e65e36b7d06c26e9e9bdf5a6180f418ea78dbd280f8f4870f86a3b373a851d017f0fffbbd96570c1c1d5384e4be7a35ee26b124df329b431a15c8329c6f8699e1552b2ed829f2f1adbc57f07bd6202416c2dff2dfe083428f799aaf08544dab23d67b221f7ade83f5b339992aa626d61a370d951c607c29188264916e4e97c93d574fbb575332ab3dc03e5407c20bdfed3dd8877b42372a9e1925926496ae1fa57633766206473c8f0884c28d455a415ff5ea2a53693449bcaa4c6a19c85eaec0da852695b3ba9189a844c30868a5e53fb3c4792d6243798c35fb3da79a2d7f3cb5873603e8f184bde0d3323dd6faead0b7a7bbf5a3126aeb00a4578d2a8823573518e6cd0933a965acd99e176a2ab81caaa83792957340453a9aadd77c439878d286dd2f053ef2e1c435501d8d879cc3c5a6ddec46c04efb6b136fc4993df210b003184858c5557cee116298188585a523261b1018e106520d75f04a431598783fffed30edfcbd3b2a5b6e91ef3eecc40a2519885c354d19f6cd93cd2dc82b1448c2dff90e9525b54b6ee9e400140dfb99f7951b0f4b74708e679cd8641b5cdcd4dc95866ee0761177ffc20323aa00688707ee284d3a6360a316cd9138f317eeae07a1650edb4328b74026eeafa34ff04c631805f35f7ee1850187b0b0ece0858dd33c4aed6eaf8e9a906c19050709293ee90bef9e8c1342fceb34da2883fc7faf5d1c558b572afc152aa33ef26c1adfba4c9d3cae73eae240b54f548fd7e6d4fcb0d7e68a504829caf6e3c2ac555e0f0d534c9aeb0ed5b5290d79332bdad1a8c0123b9009db1899ec12c79a39df2eb388d6d0b6b162a27e8a43bc35889eb3ea888ea422d28680a23168d6713e5cff1153127fe525750c43dfddcf16e2c056dcc406e3afe069526a6c7ab2524762b652c66da2129551b03a7d7d0b596a9af66226c8cfbf0e00f831c77fe272f989321fbcc6bc7509b06fefac27081651cfced6e3a9276807d13017993c4173b70e0d4efb432301e237f4c58d49af758578e1a64007ba6b379f9c3f1fd90949bb8fd91d5d154e7f82180cc9b42df502c725ac805cb44c1136da1b1cc7bf78793569e2f16ad9b0858ad514d44880436b9da12df565e0e250f640fc932603bdb8f974169a9875dd392a04dd7d25079e7ef02c9114974356358b6fcbb5895c4b502d15aa89507b07dea273c7183d43a0f1225d3664cb6fa4dae95bc84e58285a276041bb5e92c0203a9513cbba3ddf4053b4d6d5d197314284241757d1782ffb5c9d7f831b83a2f329702f64be7edc3f4b9039736656dfb6fbd7eace9e4bdf1523dfef40198941d8e7a0145305a6b8c926889201711ea9f7aa72c6ec994b1bb8f8553d94d9fcfd32839e54eb27e42d096e3ce3235611db3d319608ec4034772db08a93737b9dd623c9b6ac0f2ba6bbb26d64186caefaf39bbd5ff82a84c8773019adc88d33874bdd9a4c9a3abe329450b16c4c5891f80b3fbf61cefecb146f6ef30fec917a587ee6d5b075218194adb36ea4dafaa46dd5bfcba7d993780e9120a485f955cffda333f5c19fb1c7a0bd3673d329955ae66cd19336cc70dd42e082935e3d3df0b069ab524dd33d0803a87deafe4716b70e69a6ab8add3d95b120a2eca813e6e325e4cc2d92f9cd81dff26326366f27432ebe32fd0588c850d04676792bbeecfb3d2695675d796858e208159ec293dac9a82e64ab6d21b6856d7d29078387a355849d8e1c207e0acc771a319bb8ab1a58e0dfac12ecf0bf57a2977f51d0f236e9c3b4edd28347426abe3fd0984a80f59a436d9531caaeded6aa892eacf696372874b769a56ecee7d6abd08e82e87c9f71dcafb4e46b7db1d4fb730707c07a9b54d51b0c22f656938b14c4e4f46bf193d28212e91e754cb4415b9df76ffd7ef758b9bc5442e3b4a248a50394e8c9317ab2844ab569cfddbc788618366cddb61bff3497f25c684aa0b95d864c1f348c32a2d193baa2934a66640cc160775f15e1af2ceca3d1af685b629d509e921839277d267b19579d5dae56dd2a42903ce1f877bf369cd570cca10594713899d66122b86ae1017ec326c8c1813d2f76e07df16c89c968f9be39dcf465add0dede58593b87c622b234774f82fc7276cf1a3bc79dfbd4091d4151af3d34e2e20f8a43598cc879afc5bc52e58e49d462b0888b9a7fdc1b5536451eb4848f74b0b63ef70856d16c62db6b5a6833f163c9e3c07c569b6e0e32523957a4960205e244ebe3d0ad30124da32ae396c80242746e87df6c31a8a5dca0cb84785bfc0d0b5c876a2cf24b5579b33a0d396abfd61c42b0566501fd61e402040a9cee0dd6caa3b93647140a7456532a6616b528cb795c0bc6078a21b8696a17b4ccfb12c02f055159b94f84ecb74baa42e069f4bef4248c6d0925215a70dbf74f254e14139e16bad13cdfe490c9d3a1e1a9e3e6160496d61352d32215344f51012ecc69ff272ebdf634ffd63074f3d7fbce8e14079a78f1c43c7e1f53f4b4ac02f82e755f98ad3e427ff55b2dd10ea60aa28084aa5b0dce773f96b35de10d3f25abc8975f722543625542ad40c6c357fca32201b87c333de24d8cf46089825a7527df4d23fe818fdbd5367b1b211f43f8ae472d8156b23621cd94611de5d1ea6c4d5407d3dbbfef7d7aaf9e3ed7a74fa95b23e42bba01f3be92a1aab4fae78222e4e43b4e5905be50c841b1b246507fb6df976215de8a1d548a1d3016964daabef22b790dc0e54d9e98899d0bd6deb7ccf52798092f2d8449b1730bd82e9a004c8a866d89a7bd5606208d6fd6c340b8b3c7ab674a807bcdd6d07077d6ed321e429a076a3235382308b62466dcb8c799b8653b8dca7786439ea561eb7a01245b335e6cdeb399b3b1184263fa39ab92125a59d559b8f0d58e37ba3e2bf80242db470f36f1bc44316ff130a977b4dca53307e62c05c6d553a234cfdf0b153a85fc34f108d0d1965b8c971dd4531613befaa9f82351c4f319bd5679d00a84386371f236e2291091e1f690ad950e11e3a223d0fb97296a83634a89fc56cbf4741dc5042dea9794e1f8f9fb15630e0c906542ea55d6480431198114eb3650e30480a7244de19d4459c96dee02ba2f7dbac0304086f46ded7b47c5bacf412f79aba1632f27f235a365b697b13cfcc8848c69a839b74a5c89cb5714bb081eef53d9c84b54a1d48131ee39b215eadae4ce2a179934f8c3d2e48e41fe2a93d7dccf47cf7b65b377fbbccfc9e0fdee294da2c5ac663c9d532bd3d82621bb3d63bd6a14a2e137a96de9f7ceaaa6ca179ecff5cca423852bf64df5531a45c2c452bfab042da662d4502c2df59249d634a60f7f091281cbc205106b4a871fc8153d2848cbbfc0f3d86d82ea71325b3c4cd5fedc93de6d1372ba8d841e6059352660f3f01e22c7ce9893f69b8fc7c69fcba99692b7cc1a69262fa314c81fda46880ac4978feadb69caa3fa4786c1f4574b675172034878556b7b63f4f78fea3b8264d8154ea42d7e958dc748ad6bc43f6a6e7f0620fb4abe530c1defa558752953e6b1c26c0f8b8d1ef298b58e8aa7dcfdb9d035a3587e2aec04e960bc0c8e3c321af17a1bd4d58b5f72d092c9dce096b430e3b2aefe9c718d4c812aea54129171f9027c3dc6f8f1c20adcd2912e2c4148ac3a80abcd55a8e311b86a739b81763b8e74bc27eae7be8c9528832d7623fbe62b2f77729ee50b9d611aa3b43831ef371f2011a36445df37a1b9aa1efca0622b0f77d3dade1919c9312572bf0069157a77cd011e6e257d4a6476d1b68e5189df9e14cf955229aefb9e59ccef31fb967ed6bfd117b3000b72f701396f55b7f81bdc20d7568994d38c1b68ed6043176d2756ec8ad5753baf38958bf4d5ed1f97d09175bbb771742815bef74bacf7f4c0953562f423e6ff78a9eaa1ffe89f548a8d61f24128aef9e06466f7cacf109e93134e9dd5b54b7dcb0c894942292afa90f76298ab3a4c145b7fcd604cda8e96afd8e4aa8f54112ec364c2f0e7e081054f8e397e8fe5e6ffaf3b1f94a72aa5ea345f37001349f721f77d6443a6a325b16b511f5c9ed3c01fdf825f79b7c42ca1b7d3c2fb7647ee039982981eea6c94361f1885c2e6bd0aa1e333637491d03fb7dec5e87a8c75bb16c387b329f41d65cb81b3496c9aa542f450739859c9ecfb5016dc9e4a19fd3bb4fdfe27cb4e5e38082f3c8e56c8e3997fc31082624bc18f1dcc364324ec96167c6c410f06d920bb7f644226327f684288ae6ac619aa542f2346f7c48194dd7e400dbb0b5a87127397bf692bc81ac13e4f25a84cff691fc2e5dc9451f9812b0418c4845ead7e8bc467eafb64c0a11d2ea0e9466f7d40d214657df4cf77e75067caaae947160db79ecd011e58eacb8a9fd082cf82b2954055aa583540fceb9e71741ea2d4d42331d182e8ee2f6da36cc7220efb67c5ffb23162e386439a7873a94b7f5153f24394a4c355e8b675a975e36091e504c2083e7f25a8191b0200acb6fc63ee0f3505c0fc80ff8aff692659ca64f9d43f1d9c909edc070f280594858c0180e69c1b874010f637410b16bdb7e346525f19cb7f879027404f5ca0fa2d2979b764ca2c806c64881bb9", 0x1000}, {&(0x7f0000001d00)="49dcad16ffcbaf30469e6782c5da8ad1fadc102751ee8ec0d312e197cf39a6b802e40c9416e7072d3bab15d749b80e09169629fde0cdc249c11da9866ebed6bb01b9b5284f0bbfd7a4e0ec4c0ec1a3318f40e7ee951659ded97ed264532ef2ab360e6a8b2e59c590df68e193c304ac5f6337804c0eb18918796d71819a3494e038ba288125999852d884999ea434d06595378b0422eee9922e9744aaee29adc259451feed4c48705cb4cb19fccd12b549b399345cabba4a7c454d5eba38a44ceb4e298aae8e7ac65378382b75fabab31e0378a13b21d7bc1e25e17e6c0c2410a2e266cc7d954a56c83df6054e0b3e1c7ca", 0xf1}], 0x4, 0x0, 0x0, 0x8000}, {&(0x7f0000000640)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000002fc0)}, {&(0x7f0000003040)=@file={0x0, './bus\x00'}, 0x6e, &(0x7f0000003380)=[{&(0x7f00000030c0)="9515d80ee43e8f596659af649e5dddeb08ea3ccbd6d3999ad80501305609bbdc1a0fe7226b8b55d1a95cc8b060086543542ac14da9c5a16803a91f6853d3f556acfd041a2be2f855f01c744ef3040f8da612c0b579fca58d60b1e50c3a85ffa0d13a2ee4da35fe4518d8dc16265a8a56209a53625347de625fd94300db37941df69821db6f8546d8c402be43ac103066597669b1189911c832ad587d7e0025023cf462cc3ed8c8fa8591c5a78022e9a3b5f14fad2b5babaac44a8c26d4169563e1d5fb0b30bdcc23f354a82033d56f7ce367b7145e76b7b9d785515594dd24a61915296e9a92b6471839baf566c440f3961cdd066f055d965ca403839f23", 0xfe}, {&(0x7f00000031c0)="53c01763e811f5900695f178d78dbd213a872c2b4a4a6349558333b3d55d9dd5657ef38ab1742ed0124bc824638540ca2d9fa626b24908e6eb8548b164530f0b1d2b949429bb6cfe0eae0c7e93d356df0015ffb77ece478bb980ba56f82159f9613f151bc5beb31fc7722896a70f8dd0d9fd987b2da677a37815d7655eb1e24bfc7078622709561b160c5de4b93c03d1747c9a942578e169e9634f", 0x9b}, {&(0x7f0000003280)="52b8d828a3a4bc895ab80c8f9fc29da6b89f95b21cf2efd791756dcb5418761d97c9a34bfa4091058f646f33b060273418e415e6168a3fbd326df77a33b715df4e0bab4a50b04bc361ee160e207d364c915663264159395ad31864097212b9e807662defdf864a22aceb8492ff09c7097716f41ab8befe10d940caa26822ad91260b13c07cd102541cabe4d7b0e8ce", 0x8f}, {&(0x7f0000003e80)}, {&(0x7f0000003340)="1016b163af216135726f7bdb1551339b92686cb80ffa3d47d734a13b1d1e17", 0x1f}], 0x5, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRESHEX=r2, @ANYRESDEC], 0x30, 0x1040}, {&(0x7f0000003440)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000003780)=[{&(0x7f0000000400)="9097faf54ee711e97021e369ce5c3c522bacb45dc307cdfc4da996c67609f0e28f9c41caaab4af8811e4aecbacc38e938f607205e3cf7924d624577506c72e4aa08cef107646408ec112fe2f3230fe1e0271faf05026aff049", 0x59}, {&(0x7f0000003ec0)="9650cba1e31db6e02c0ce93cecc11bea48dea9437f5716d030060a6744eabb5736fa3615f8fa76870ce0f1efbf897fc35233dde6f879adfbfa3a2bcced89157c30015484267cc07a042aa6954db6ffcd5a901d7c5407d222fe6b2a5aec1bd1497baf9414201591ba102930fee5c363a893b7bcce555e963b8bd27205fdfac520b35b238fde8ae3cb9850d994f2324ba595e0bf98cc8c9c2cebaff1995f74b447e280f34e9b7f", 0xa6}, {&(0x7f0000003600)="a2ab7678572f6f0b9766a684a1907bc5c2abfb2d3439fb7b364ca7d5fae59d27da5ebf3649aa4afd065387e81ad0de6df0a96f5e42df3865e2b1bce5cbca9eef10a1150cc3969b189330724e853fd2bf4dca17c4d4c1e91d03bde66c540ce473ef3fd788b5ad0f2db37198ee51be0619225c3b2ab6f13fc5666b45", 0x7b}, {&(0x7f00000036c0)="4fbba31d434f", 0x6}, {&(0x7f0000003700)="6fb70cdf1ee5bd77a35c8cabb37c6f134b1b8a42a3eb189f6f5082332083adcf2be8431a88fd30198488cc0442ceca3bb03a5696759af7697f2232e509e7c5d7554e0efd18737fd1d2d059c4f5b10306feff3e8807a1a7eea5a0c5119cd7a5ef4039", 0x62}], 0x5, &(0x7f0000000200)=ANY=[@ANYRESDEC, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32], 0x20, 0x24004001}, {&(0x7f0000003840)=@abs={0x0, 0x0, 0x4e20}, 0x6e, &(0x7f0000003c40)=[{&(0x7f00000038c0)="baac0249cce8c70102c9d4a151dc60ac831ba365db1bdae1af3ea52d59991a235dd714100bd4fced58e67d5f65b001f43eddb1802b667d3f9682eb1f08c863d37cfc9e3628c2c6dd", 0x48}, {&(0x7f0000003940)="3d60e0d7fdcdd31931040a697f90e3594a33e2001f7fadba03af5ff3c34213ff4cf7c4254ee65a1bb1883fd0b18c441b3574b89dc605df6844a9febf5785b56df5381b0e66b9336421e56c140b7f3c3a54c2f414e10aa206a2da17035488ab3117476a25e09c86bddda2cf5d59928eba3b3c764786b5ea0b04a333ee46c7a5a901cf45db6387cfd025348171f4eaaeede20c31832bb53a3f35d27b722eed697b2c84c0f1007726fa7b969f6d841a4fbc8a2d4d76023f525bab8c6ad7d0143782d0a509523746358365b04fcd718340df027850445aa58eea", 0xd8}, {&(0x7f0000003a40)="3497bd3e729b1585f1bc8fc7ec15d7722ef9fd34210c17b93cc27ef50487b185e07a6d6e2161e798e0693d4e40cb5dee0f7dab1f80bcbf43636c146b7a1f964bffc2c5d2e445b51ced70", 0x4a}, {&(0x7f0000003ac0)="ed1d553d723fcccd2d9a3950a6b166ee5450bb0769497d09c304bc605ac67f56fbc30580d8cf55e2b47899cf08bf553d5b3226310162d2a9c50348e7cc47e0c8", 0x40}, {&(0x7f0000003b00)="a92403dc5d21cdd35424450e3fbc00e6b3e607c119a6f79a8848c4df280bcb14aa42bc663bf735d1c4b00531780a608cb1c2bf73c77347fb15d427b9f100cf1f78bacb608170e1e71c4389d039504925a1e814aeb5cae8a28d08b681fcc837f961449e973875456d4630b1d284ddce49ff05216cf0d2908dc061151a593ebab04d3b3c25a1299ef4993a763cca36e2bf3930fcc708c25df31ae9459a986a62cd5fc22aab144ebb80b204c7156251d732ebfcd5919de021704558aaf11dfa4afcc93f58477dab0725fd834697777616e01b1af185c40b8e7a104e73857f20595b2587f92cd754f6e6bd80da74395aab22f8431be3552eac3cbf", 0xf9}, {&(0x7f0000003c00)="70efe372f6e28da6edde3abbe5aed126480cfdb8b900a9b8", 0x18}], 0x6, &(0x7f0000003cc0)=[@cred={{0x1c, 0x1, 0x2, {r4}}}], 0x20, 0x4044014}, {&(0x7f0000003d00)=@file={0x1, './bus\x00'}, 0x6e, &(0x7f0000003e40), 0x0, &(0x7f00000006c0)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32=r2, @ANYRESOCT=r5, @ANYRES32, @ANYBLOB="0000000014f9ffffffffff7f00000000000000710017a425de257702f800", @ANYRES32=r1, @ANYRESOCT=0x0, @ANYRES32=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e00300001015c26d733afc27251df02688642f916551bae95127ddb950bbb28720ba0f9b42e04eb0a9e8c43cbb33613584"], 0x58, 0x4000800}, {&(0x7f00000040c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f00000046c0), 0x0, &(0x7f0000000f00)=ANY=[@ANYBLOB="1c042c8f8d42d584a58200000002", @ANYRESHEX=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES64=r3, @ANYRES32, @ANYRES32=r2, @ANYRESHEX=r4, @ANYRESDEC, @ANYRES32=0x0, @ANYRES64=r4, @ANYRESOCT=r5, @ANYRES32=r3, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYBLOB="20000000180000000a00000001000000010000003bbc486dac4e67931a8be19ed2a48717025cc3ae006edd4eaf7b53e3eaa52996f15f97fd266a00448f417d4f276a6db56f8c764bd490ad9c4c44b490864e2081c9f9cbe1c2357e5fe8370df0152a74908d85e62bf09a4a517fee71aa96db9f61e9b9830cd38c13d90b8875c7", @ANYRES32, @ANYRESDEC=r3, @ANYBLOB="28000000000000000100000001000000", @ANYRESDEC=r4, @ANYRES32=r4, @ANYRES32, @ANYRES32, @ANYRESOCT, @ANYRES16=r1, @ANYBLOB="30000000000000000100000001000000", @ANYRES32=r2, @ANYRES32, @ANYRES32=r1, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES16, @ANYRESDEC, @ANYBLOB="0000000024000000000000000100000001000000", @ANYRESOCT=r0, @ANYRES32, @ANYRES16=r2, @ANYRES32, @ANYBLOB="808247bd22be9cc5e3c74a412ffea1762033f4b468c7c55f64869089ad6e0de94d845bb413f2423cf489386185819ebbaa2c0118887735b75b376299b1fc08d5a3a361a6dadbe02df8175e8455abd2c1d9ff04fc9f854f2966655a2486e3fd772af61d3371a492d08786ae3a715c0f60b7846e1278816b50bc820044adc0a5d25a6fc38e22c19fca58a4278f12883d634de7e5098aa76b2380743993ca1de077b60ec7519f4dc1bf290a5e71431f47300fe63aa9aa1ddec094b01a2e9652e898f48a564410ef559a51f4", @ANYBLOB='\x00\x00\x00\x00'], 0xfffffffffffffe48, 0x50}, {&(0x7f0000004940)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005a40)=[{&(0x7f00000049c0)="ede81efdf03d2fa904d7cff7351fe8b2a89cb8a94b69ade2cd425e0384a5d5df5a2afc01b25eedc256dc7cc63c9a94c308c688b159ee1ad66de5bb9aa37626d8f57d4e3914750a79b5c45b8794de8ede3e2323", 0x53}, {&(0x7f0000004a40)="e63b86f8ebcc04b743d5fe914be15ea7ce821417368ed519ef5759a0c0dd313f299de4f8c1f434c6d5faa662535744e89684f6e39e2eac6a4b765780cee828f0773f167d704ab9266601d6558f639227708aeedecabfc801f360b7f9676559564497cb6e4e26f82ea4275333cd4aa92169aa7bd7fd2400580aec4f13cd11b3c3e46ec8f9ff663b11bc1c890bdf36b40a6db1093f2dd7bc1e11f39e27f15e540f32a959a5dc3c1a4f61a49711a35810778235fc6295b8670b7fb42ba3fe28dabe3eace5155003048bbbafb193b65de7e2cde18b1093a531805a56f15441a3b41e3ea75d24bb221005b03191977df77326f24b94ee481cc846ee9c2d7bb7099f9f401111b7d8b275593179f59a5aae91b9a67dd53a2ee70e7456bf7a42baed49a1675cd141f339f2c4d5605b899be3e97da530517964221a5208e06582739911574b9aba4ae53fddd63898a8b1cd3b1d2a27bf00c42e13bf38d20f64efd1dff711ee541b8af6f55af44914c634fec6e1ab893d21727ae37f68151ea79971f15ae731cdb000392349453dcaa08cd797ad1f46534345cb4bf320f72755ec77fd860fcee21770fe11ba17fa96213367ace655d34e37de586a408f17e5cdb4843e5beaeb0215ce9c5f9711d9af8f0b58094a4d3723d6201e80c867db7473db174ec7c16e663333b47e79964333e178319eb9c19d579ed53fbf44e7a9cacaf87d2dec60feee906bbfa18ed399db854c78a746cf4944e9e0af0dd15d0bd915ae43a5173f9c73c0333db28de454b0ea76446c4b3763be384d072fd48688dd27e43bf4d2045413160c140898412bfd5eb3bb880e1bd1005f15d1791d6bb476bccb78d5a00365adb7eb9132ca020dd1a0afd12f87c593036c5219cc0f4a4ca2b5861130050a486e35e367afaa5562bb80faf0b6daf06c27b04e2ee68e94bb944b6e75ff87245e5cd0b49084725921ce7de4500925f799bcc0e22fc713ad78b2908998c0032bed9ebc86045099e5b66a189aff2d60c49467d912f29db7a2fe29c35c1c0bcc2ebb001dd6875991848465805311cc58347377a6600a719d8b8ae25ad2d786adec6af7fc7a11590fa58b40dc6d508ea56e96fa50262426ac0d88c47f84745366847b2e5a39e4b4998d0cbc6dcc0c2a87e420278353d96e33e73a45042b1af98b89dec1e2f36f183584b81a75a4dbae1ac44fe8015f29dc4e87dd587915bd5b274f2de2b837c847d24ee5aa1116790a8e46803be7e6d3a0a721c188135b9c1ad1ee2265455f8c0b90e4aba72c506afbadab3b99e899068202b235c73df394010d258a2672958e0cbcc72d644518a99229afe45e21fec74fbc456985be4ec4471b144cb447b7d78abc5cc23ee68e4f7a6b8d680e11376a84b8ae045e048a8b59159191456713363ce3f46c9eb59af3c92b1382ff45e9227a7989acd952f75198db27168be8a572c5899821ac15c17fbddc813aa2d655e551e9278b59f560acac799171abc9ed85bb3886bc17d0d88dbfa09da8514e78b9ad1b75018098851ad3ecf54b535b38d15205761a1cbd36c9d3ba28e07c9621b3b4ffde4f8313f2d2c70f18b2e054c100b7afe86363a4f2bd032a719416c3674499a5de28fb5854bb91492bb9406f24996084fbd1acff58c8e85234ad5ab24c8f609219c2d28c67443cff02be52a5fca19fc32db0947bf97ca21dde25e93c430fab78713eea2fbeed4a958f5c9b4ab2319151ca1609348f7e4b0daf17b8066083e7d408ff77c4f8be5585b4fc9ef278e614d91b698458f440654981b9419496f9c5d19e89b70d2b997bee8a6f52b3d56d94d49a5829bea201768f75e4d76d186c8572014ab235ad8283e9c920f628daa57e36a091a3f3f48d0c700ef84bbebc8b3c5e36af8073ece45aee5b9ec528d5d14b32a0db82d3aa527308606df1b465aa6fdd8f5875ee94bd77bf2420ddf7a77bc35a8b1f2bf064817736a513030678e8adc437ade3e719452388a59fee50a71cde26b29b95c7657f437669523d944893cc47bf41d6d71951537130f68f4e2265c4e44a34377767155e004feac0b2ced9f027a18629a93854a3f24bc1de20048be2fa5d1b4f00a9c87c9016ca43821e52d9b313532964d1aa4f3a2f145c18926c14cc7fb02bc82ff46c00c14de438f8fbe9c60fe3a778ecf64e8ad4a82bd722a2b68cff02cfd0b7bdc22ad2e991517a252ad93e20167882ea1c8adb2a2b8f45a228e2353f31408528ee1052d7312e925e5e2d3afe962e7f4da29e02535f5ef4f86e31cad5651a67b60f6d705ae4ae4a504bd5de7a2d7925422d9a1feb5597272a3307ff3b6d376e5299f9f9c6f632dcf965eae5e4148b9d10fa08a751dcf08b332034814f7dbb75d9e6c130f7ee66095537532832331be1386b39c1bdad75669b984362dbff0da1ed0b7c52ad8cb102d764a333cd472a492f2477b32f3e81b38689d98a042b1c663c7f1486618446659d30c0235874a3bc3a11a74a5739681b7ed7d484bf52822cb9fc84e78ac7a9a7f3fe2d8e513c930d6bf46ebf13f3e1da98be1777a35fa0f48f142cb0bee46fe6ce1b27cbe9328dbe015351876d3443830c76f5ef4755a6f7cef7cba294308c122c7631e1ad0429ffdaada20cf0caaa15a6387a96bf578a6fe497245844e8f658bac90cbb82e290b3e3a49addc30eba1cde25e62d0738d07a9bd2a37ff7596e03ac9d3451b1711bbaf13c6219f0efd1d85b30057c88d70819aa810900f20f987bc89257e401c26aa0cfc7425ff61fc4385587d82faa06dd6d5541cca6b372131fd579289bd7ca94cb19ad309c30a4342dc531f0c25ebeabacc065ca8ab735b769614ac1876eeb456289c424b474b12c6244c4e25bb920d923ffb07bfa87eb82fbe8c596165b976bd3802b2d7b77d9e90e6cd74961c6c8a4a96b6c43597fc6c2bacabf5f9da14d98f598815fed8edfe8fac8c978431be9dc563b91691ccbf052955cbf8a4819ac2651470827dffeacc3f926f9f5e20c75331e6cdb6eeff128c2a6fe6d475d3e384381bd6f6bcc831b0b980f47c80f8a52994e760e76836e1489df47b863064480bbba9726adcdab869e102c8ed27483f2f643a8028e3a4b1f813037896a0412b75755bb49835d60510391e9fa5c2c491c2a20b03d389d44a56914832a66525c242b209bf061b8fc4a993e53dc7864090f39e76412a7f69363812d92af16d4d6ea5bbca7c90d1b66a8c1ea8a95cc10042a601e484af51ba2dbbb819a98ec158fd401128e387239a8fd511d942b287215693959dffc7dda0728dbc0730f0b16a9f111d3cde21f739800794843a44a63c9bdb3d474ad07c072d444862a89ecd1b7bea61668e2dcc155330bd06c31444a9a9bd9e04eccefb2a6a853b6f75488471ea0829e12da9a82e3d2025b6415e5ebbcdf2dd395ea1f2ab1f202d9b43712b24218119aa1c895e4b7b29795563ca8ab5bea7789b162c841fe3799cb875d6f7f78adf1d1f04b0f7f04f6342868b2202a5b9c263bede0a1c84556a9be5bf6b6df0fdacf0dc44a1bfbabfec2483a69586e8b2c9fc7f23e6f58116a4e46db882e2ad524c92a23c72b98e5653cdd5d982b9facde03063db0ca002aff248a7ce179ced26eca30e68aaaec3a6614110972c7971c6d4157545bdf26abbb1d2696bcc7003da93452060f98ae7f3c56a1f263d16ad5559dd239986dd7a94f6ada92042bb84f0e1f3d9999617c729e37894a0de5a5f190e1a6c7e4dd64acd72ff3960347a0e1066f590c7b47678b90b6bf8e40b64e0fc349ee0a56341a48a58dcd1ac3b3863854d4c654f4d8ae0999eccba22d7a2d9c1e6e4c2c0be460d40948f455e085c158823bbf91d942c6eec130bfc47c3f7cf5accb5dad5f3a00a8c79c3396b00f5e639f1ee3ab59ad24e451efb80524064032a828461b3acd8a1034de0a009e709cee46e736eda00b1adfaf7b7ad5aefcb11ccc68722cb20177b767957366c89c3e560334bf4fc10e2b512e910e85d90ec3eafc8f7a6e1e27ee92a47b973c6fc523bc488edd47b513db7045fa70030f20d00f76909964ad052c110169e8510937a8553111459b47b3d37f6a3af46f5f1430e3b02d68888fb404582e20d12137227579f3a370de391d8561fef5c41fbe755c0a1a5f4e5589564f90675129ce9a575f40209716d12ac9cc1ac2edd17264277c44ec2949745cb44a834e2017558ffe31ec4234d72f08cc3a94dfdab5259a2a1f5d32638a8b818be96e417828144cc35e1c784ade3848e11ed3ab2200487b9ccc3d9172b3cdca835e17e62aa3ef17d648594343ca0eb01e853ca8ca3446a84acc8766cf9999b5e20a51787a02d7452e745e0e9e59bd3b31066deb8ffe2586f3f7db7d3f21a0f08a5482faedec043bb91e9dba0953c5891ad3ed54ecb50194dd50505b0f811cb60d2446be8bd6f83139f6f5d9a0b3609045eb914ddec7807da8e48758374ff56647ded3a3f5b7d6e92ee79eade013f2337bef6a6c402943e8cf3fe2bb4bf7ccbe5fc9417f258b81e6beb2053e6d665dee38d58be608438ca0052cb4ddf3d0af3e02721c849d80d59d1d778b6329c2e2d6d927e9bad76a243a34f0c2cee8fcbb0c6d7812c4d370b86c3a0c26cd8c6f05d2e8167a25010769cb9bd321656655346c622ac361793cc4fc01d5211257c7a7a5798cf704b1cdd06a457266c88f6fd5f311f28f849c2015cc6aa24fc2256172dc7cd0cb82383f7e17c123202a6c4bb8f83cdace0a1e26af35e45696f960ea7a4d156ea571b3f2100a7bebc6c600258d93142a07cb5fed547231cb973792fd2128d0ecd4c1396084f5e356c25e4bcd666208fd5227c145901cbbffe7bb1887100391980d64b17a91e5ac18e42e284f321a210d93e5047c99080c8b87709892acdf99d00e3bf0289ba2b7ce2996d8d214631b49d6f5ce5a4cc4485a5ec6238f17631281dd56790ddfeace0027b9cbb15197da3156098bf8a247afade4663fc735d891ce770788f22e2ec84427861be1f95c21787ecb4ed0a1c02bdbf4b97c3880fd397dedb032eba1ec7945c14b5bcc235cf0fcda171b065ccf9c32b49b9fbe78a12ea5d2693ac1ba40ecc8d5b24db0e3fdc5eb1244aa4c8b4276de9b6b08a4949a160f85f00b67a14c0222e709ac2eb5feab2d54d015a309e653d52e09900fd6ac1850d2d200a6969e3eb83267d02cb2043222654fc310a5b369426561b70909976875e9e226e6cb8314967c26ddb8779a581392fa50b6b54a034ad2ee81edd94ced0f62809b061076595ce797f2b448ba04df8f9a11e85ad498aca7c94a38625a4fad96b5bc4fd7f5a8cfb3951518f55e42e525d20e4ff60dd16cad08cdbee5cd87459e9633cee0728692692f5d0b8595a1d34d9c9309d9ede1ce8394ec79d03132ad5f870fdb70a6ede0b9e7892c77826f55018a310789be6304a9ea0d3ea2fd83d9b6b182404191c05e009d975acbe51a4169a6d9f22df54d129561215282cc144010144b14182615974402c13c11f6c5da70fe2dd063a32124343fd054d42e8aa331069de60d4f59b99dbe796603e79fa7d56ff2157201418d7b57c943082fd5fea59d8e422867d68a6cd1ac6f01457236800708d61cb0d9ab8fdd1158058d09fd8546ed61c13135c910d3130f80ed77f5dac26ef0784242f094799413dd19a7d8a1c8fb96de3e2b5b0af397b09a6a57a2d557fa4d6c92f5908bcb1d261c86f7504ad74c9f34a226b69bd557ffd906db1b2ba212ccd7ecfe0d0302c10aeb1f66b00e3ec52eab90bb0a645b6601dceb7a09a22ee15ca0b9014ca6dc76a18f89044c", 0x1000}], 0x2, &(0x7f00000004c0)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x28, 0x4000000}], 0x8, 0x0) setresgid(0x0, 0x0, r6) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x2, @thr={&(0x7f0000000340)="34379f652f70887715ba7dd692fe4e46a93595d7e37ce853630e87fb1c8f4f48ce89447c38e6fe459fd9d8ef849823ae1c39d5ecead78adf4a7a914c13497deb6f97f0c922c9cf56dd9978d8492a50e927472443d7f779f29c35306a020dc8aa302dc46d07b77c00f228facab340274f7f60b3be1da782b036da7642d720e9969e861fa74005fd30a8d44c5e760b28721b526318d2425b797dd69691b9290f3972cb0af8256c82b03061f6e13df170", &(0x7f0000000840)="13df7d4646bb341244537ef49acd64f38cb5620e018a8355707cc542aa8557f5001ccc42036a81a2e88360db43ff8a85e64b2546f0ee3933b4bb3df69129f1e0cb972b46689673e5c68a203dfe7e710f3a329827430d4b5dcea5d689aa499e871ea08611718393f2fef1b915ac85f89c2c952e660eba677b9caa7b892a9608467bbdab2fc055d89979f0d3255bbd396ff063652dab79d67a47ad07bd31700c33bd772eadb17a0050d88c3b2d06768f843f1927221faf2ea991943b1e8a2814"}}, &(0x7f0000000040)=0x0) timer_settime(r7, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$EXT4_IOC_MIGRATE(0xffffffffffffffff, 0x6609) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) r8 = socket$inet6(0xa, 0x400000000001, 0x0) r9 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ftruncate(r9, 0x7) sendfile(r8, r9, 0x0, 0x80001d00c0d0) [ 493.676656] libceph: connect [d::]:6789 error -101 [ 493.681947] libceph: mon0 [d::]:6789 connect error [ 493.687376] ceph: No mds server is up or the cluster is laggy [ 493.694317] ceph: No mds server is up or the cluster is laggy [ 493.706576] libceph: connect [d::]:6789 error -101 [ 493.724849] libceph: mon0 [d::]:6789 connect error 18:37:26 executing program 5: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)=0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000000000)=0xc) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000005ac0)=[{&(0x7f00000005c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000000c0)=[{&(0x7f0000000a40)="b5b38567769c4715bd260dddd33813cc0569d2f6d4497eca255ba93fab41f67c0ed233344fa961e6ff1d79dd50f3f94ee36a75ae75a75516f36f3642156e16edeb931fdb233eed99d303ba20d0261006554e68e0e05de523fb3e78bf83acfb96ff6de9b46625fa8fba3ca18cca20656cc0424820984e08735f3245ee186a59031f7137e9754fc97efbd8fdaa614f7d891cde2b08701ae33e1b8fa49fc0b71e643792eb2bf0352102ac96978eeddc0e08945df6db0d02a2710aa7ed484f6129005aa2d653cf8b51ed14208ff7376f129d4f7c48481b8ed8b606bf34fb30d1bcd67c480dc8ae4f1ed78ad5930e758a69f8d0f9c093f360960a9eee", 0xfa}, {&(0x7f0000000b40)="c863db746b6d23f7ccb114bc72acff7f76f2d0156ac62cc9b7269255509d4939b02ef7a809cb08d153a6403d6cea697a6a30f84bfb60fbe13a4f01d9b50b308c21487c05648fb94f7b81d30ed3424a5ffcc98540bd3f101d3d8b63dd7cfd6a559ea8b676508373db090f3c0e7ab3415a48dfc1620153890ada098064f6dc1a32051fed475fbde91b31a8f5bbf32e233282e7ee8f5d67cb2bcc0326f1f60f07d58128ab3f06baf2c6db8b6bcb2b32cdf8b5aaa9a72009c332c22cd7cc6b26ae", 0xbf}, {&(0x7f0000001e00)="408244aee4c3ad13c20f711ee78b681d8c7800bcb85261fef9393831e937ef75c0a96f2badda32c67c9c84c496d2d67c44378cecb6ee8086a9f6313ebcb28f812727824a28c90a569d1d60f10d7d732af3032043a71178f80e3fc81bde7e5e9edc663603a8914c317a27cf3699d6d7943bfb5d247219c3ff9e9a73181781edf58ac150bef61be9b75c38dadaeca4b745d481a5807dcc340d51d22ee53a2d21f77e39c624b6ac65534989ea5ad1a3686aae20494657bc59d33498b8b95e8350c4ee939536a2336bc1099eded42c0d2c540257bd0d339071489b64f1364491496fd381af398a0a1865d729ac16e02ee5887dfaa8e79a50abff87a943ebb579f34caa1790d470e92d51e7146ef8f1cf61aebd82cb644633cc2173f554603751e56b3cfeb0ea32071bdff9d237e39239b579929fd5789cc7bd71e20b4023844ef13bb3d723b7dcec0f8332408ebf2b98c09716851d5d572a6b7b60450aa9406ea6738596d974133362660d2ecec0534e7f1e366902383a5cca676a93ae10840826d2c2389a89732e828da1ebe6c68382e4b256b1f4554aadf49ab40792b940eec978497d48c9c37f2d65b01ff10ce9fff2ee6dd3f7a89927349481d16012b7eb5218aa639910a1832134c8b44910eaf49118dd836d9abfa90f604d55a85966e7765dae1144576fa63c95415bcfb091c1bf57c8967c435427176c7ed79cfece7d1bc2a460e80e025d8545fe59b5aeac6a1ade4af3aeb6def0882af6ee4ef61c40b47f78dbc1dc67247893b939d3fb9a657b15ff0b41d1f0e13fb8136160b99959c83e7853283c0d3e0d1b3af99be2d3e1e6ea9e18e74f9e663dbb6e9501195a330221053e2e8bd264f235a98b33ec855391c675315ca04660b8f842c451a65e845c5951fde69fbcfef39d3ee7d8e59c71bf145248e291bab2eb341c23130d48ceabaebcac4f11b63bba720edefb95da8396dbf0428c8892df5dacc44ffb5843eca8833a9f4d1f78d0c00b6b150d5b70db5d6cdba9023483b99aa322be3f0b60a8eaad0194dfa5749a95b417922a2affe6644291bc62168555e169b738da0876b6786cbc1bdf052eaff8bbd5e885bc4815d4d81b779480c6bcbb0896c3484844e20d4d4a0cfc4c94b21c95574af1a6b32a7445f0c07726cd9d680adc290d55abd3f0862e65e36b7d06c26e9e9bdf5a6180f418ea78dbd280f8f4870f86a3b373a851d017f0fffbbd96570c1c1d5384e4be7a35ee26b124df329b431a15c8329c6f8699e1552b2ed829f2f1adbc57f07bd6202416c2dff2dfe083428f799aaf08544dab23d67b221f7ade83f5b339992aa626d61a370d951c607c29188264916e4e97c93d574fbb575332ab3dc03e5407c20bdfed3dd8877b42372a9e1925926496ae1fa57633766206473c8f0884c28d455a415ff5ea2a53693449bcaa4c6a19c85eaec0da852695b3ba9189a844c30868a5e53fb3c4792d6243798c35fb3da79a2d7f3cb5873603e8f184bde0d3323dd6faead0b7a7bbf5a3126aeb00a4578d2a8823573518e6cd0933a965acd99e176a2ab81caaa83792957340453a9aadd77c439878d286dd2f053ef2e1c435501d8d879cc3c5a6ddec46c04efb6b136fc4993df210b003184858c5557cee116298188585a523261b1018e106520d75f04a431598783fffed30edfcbd3b2a5b6e91ef3eecc40a2519885c354d19f6cd93cd2dc82b1448c2dff90e9525b54b6ee9e400140dfb99f7951b0f4b74708e679cd8641b5cdcd4dc95866ee0761177ffc20323aa00688707ee284d3a6360a316cd9138f317eeae07a1650edb4328b74026eeafa34ff04c631805f35f7ee1850187b0b0ece0858dd33c4aed6eaf8e9a906c19050709293ee90bef9e8c1342fceb34da2883fc7faf5d1c558b572afc152aa33ef26c1adfba4c9d3cae73eae240b54f548fd7e6d4fcb0d7e68a504829caf6e3c2ac555e0f0d534c9aeb0ed5b5290d79332bdad1a8c0123b9009db1899ec12c79a39df2eb388d6d0b6b162a27e8a43bc35889eb3ea888ea422d28680a23168d6713e5cff1153127fe525750c43dfddcf16e2c056dcc406e3afe069526a6c7ab2524762b652c66da2129551b03a7d7d0b596a9af66226c8cfbf0e00f831c77fe272f989321fbcc6bc7509b06fefac27081651cfced6e3a9276807d13017993c4173b70e0d4efb432301e237f4c58d49af758578e1a64007ba6b379f9c3f1fd90949bb8fd91d5d154e7f82180cc9b42df502c725ac805cb44c1136da1b1cc7bf78793569e2f16ad9b0858ad514d44880436b9da12df565e0e250f640fc932603bdb8f974169a9875dd392a04dd7d25079e7ef02c9114974356358b6fcbb5895c4b502d15aa89507b07dea273c7183d43a0f1225d3664cb6fa4dae95bc84e58285a276041bb5e92c0203a9513cbba3ddf4053b4d6d5d197314284241757d1782ffb5c9d7f831b83a2f329702f64be7edc3f4b9039736656dfb6fbd7eace9e4bdf1523dfef40198941d8e7a0145305a6b8c926889201711ea9f7aa72c6ec994b1bb8f8553d94d9fcfd32839e54eb27e42d096e3ce3235611db3d319608ec4034772db08a93737b9dd623c9b6ac0f2ba6bbb26d64186caefaf39bbd5ff82a84c8773019adc88d33874bdd9a4c9a3abe329450b16c4c5891f80b3fbf61cefecb146f6ef30fec917a587ee6d5b075218194adb36ea4dafaa46dd5bfcba7d993780e9120a485f955cffda333f5c19fb1c7a0bd3673d329955ae66cd19336cc70dd42e082935e3d3df0b069ab524dd33d0803a87deafe4716b70e69a6ab8add3d95b120a2eca813e6e325e4cc2d92f9cd81dff26326366f27432ebe32fd0588c850d04676792bbeecfb3d2695675d796858e208159ec293dac9a82e64ab6d21b6856d7d29078387a355849d8e1c207e0acc771a319bb8ab1a58e0dfac12ecf0bf57a2977f51d0f236e9c3b4edd28347426abe3fd0984a80f59a436d9531caaeded6aa892eacf696372874b769a56ecee7d6abd08e82e87c9f71dcafb4e46b7db1d4fb730707c07a9b54d51b0c22f656938b14c4e4f46bf193d28212e91e754cb4415b9df76ffd7ef758b9bc5442e3b4a248a50394e8c9317ab2844ab569cfddbc788618366cddb61bff3497f25c684aa0b95d864c1f348c32a2d193baa2934a66640cc160775f15e1af2ceca3d1af685b629d509e921839277d267b19579d5dae56dd2a42903ce1f877bf369cd570cca10594713899d66122b86ae1017ec326c8c1813d2f76e07df16c89c968f9be39dcf465add0dede58593b87c622b234774f82fc7276cf1a3bc79dfbd4091d4151af3d34e2e20f8a43598cc879afc5bc52e58e49d462b0888b9a7fdc1b5536451eb4848f74b0b63ef70856d16c62db6b5a6833f163c9e3c07c569b6e0e32523957a4960205e244ebe3d0ad30124da32ae396c80242746e87df6c31a8a5dca0cb84785bfc0d0b5c876a2cf24b5579b33a0d396abfd61c42b0566501fd61e402040a9cee0dd6caa3b93647140a7456532a6616b528cb795c0bc6078a21b8696a17b4ccfb12c02f055159b94f84ecb74baa42e069f4bef4248c6d0925215a70dbf74f254e14139e16bad13cdfe490c9d3a1e1a9e3e6160496d61352d32215344f51012ecc69ff272ebdf634ffd63074f3d7fbce8e14079a78f1c43c7e1f53f4b4ac02f82e755f98ad3e427ff55b2dd10ea60aa28084aa5b0dce773f96b35de10d3f25abc8975f722543625542ad40c6c357fca32201b87c333de24d8cf46089825a7527df4d23fe818fdbd5367b1b211f43f8ae472d8156b23621cd94611de5d1ea6c4d5407d3dbbfef7d7aaf9e3ed7a74fa95b23e42bba01f3be92a1aab4fae78222e4e43b4e5905be50c841b1b246507fb6df976215de8a1d548a1d3016964daabef22b790dc0e54d9e98899d0bd6deb7ccf52798092f2d8449b1730bd82e9a004c8a866d89a7bd5606208d6fd6c340b8b3c7ab674a807bcdd6d07077d6ed321e429a076a3235382308b62466dcb8c799b8653b8dca7786439ea561eb7a01245b335e6cdeb399b3b1184263fa39ab92125a59d559b8f0d58e37ba3e2bf80242db470f36f1bc44316ff130a977b4dca53307e62c05c6d553a234cfdf0b153a85fc34f108d0d1965b8c971dd4531613befaa9f82351c4f319bd5679d00a84386371f236e2291091e1f690ad950e11e3a223d0fb97296a83634a89fc56cbf4741dc5042dea9794e1f8f9fb15630e0c906542ea55d6480431198114eb3650e30480a7244de19d4459c96dee02ba2f7dbac0304086f46ded7b47c5bacf412f79aba1632f27f235a365b697b13cfcc8848c69a839b74a5c89cb5714bb081eef53d9c84b54a1d48131ee39b215eadae4ce2a179934f8c3d2e48e41fe2a93d7dccf47cf7b65b377fbbccfc9e0fdee294da2c5ac663c9d532bd3d82621bb3d63bd6a14a2e137a96de9f7ceaaa6ca179ecff5cca423852bf64df5531a45c2c452bfab042da662d4502c2df59249d634a60f7f091281cbc205106b4a871fc8153d2848cbbfc0f3d86d82ea71325b3c4cd5fedc93de6d1372ba8d841e6059352660f3f01e22c7ce9893f69b8fc7c69fcba99692b7cc1a69262fa314c81fda46880ac4978feadb69caa3fa4786c1f4574b675172034878556b7b63f4f78fea3b8264d8154ea42d7e958dc748ad6bc43f6a6e7f0620fb4abe530c1defa558752953e6b1c26c0f8b8d1ef298b58e8aa7dcfdb9d035a3587e2aec04e960bc0c8e3c321af17a1bd4d58b5f72d092c9dce096b430e3b2aefe9c718d4c812aea54129171f9027c3dc6f8f1c20adcd2912e2c4148ac3a80abcd55a8e311b86a739b81763b8e74bc27eae7be8c9528832d7623fbe62b2f77729ee50b9d611aa3b43831ef371f2011a36445df37a1b9aa1efca0622b0f77d3dade1919c9312572bf0069157a77cd011e6e257d4a6476d1b68e5189df9e14cf955229aefb9e59ccef31fb967ed6bfd117b3000b72f701396f55b7f81bdc20d7568994d38c1b68ed6043176d2756ec8ad5753baf38958bf4d5ed1f97d09175bbb771742815bef74bacf7f4c0953562f423e6ff78a9eaa1ffe89f548a8d61f24128aef9e06466f7cacf109e93134e9dd5b54b7dcb0c894942292afa90f76298ab3a4c145b7fcd604cda8e96afd8e4aa8f54112ec364c2f0e7e081054f8e397e8fe5e6ffaf3b1f94a72aa5ea345f37001349f721f77d6443a6a325b16b511f5c9ed3c01fdf825f79b7c42ca1b7d3c2fb7647ee039982981eea6c94361f1885c2e6bd0aa1e333637491d03fb7dec5e87a8c75bb16c387b329f41d65cb81b3496c9aa542f450739859c9ecfb5016dc9e4a19fd3bb4fdfe27cb4e5e38082f3c8e56c8e3997fc31082624bc18f1dcc364324ec96167c6c410f06d920bb7f644226327f684288ae6ac619aa542f2346f7c48194dd7e400dbb0b5a87127397bf692bc81ac13e4f25a84cff691fc2e5dc9451f9812b0418c4845ead7e8bc467eafb64c0a11d2ea0e9466f7d40d214657df4cf77e75067caaae947160db79ecd011e58eacb8a9fd082cf82b2954055aa583540fceb9e71741ea2d4d42331d182e8ee2f6da36cc7220efb67c5ffb23162e386439a7873a94b7f5153f24394a4c355e8b675a975e36091e504c2083e7f25a8191b0200acb6fc63ee0f3505c0fc80ff8aff692659ca64f9d43f1d9c909edc070f280594858c0180e69c1b874010f637410b16bdb7e346525f19cb7f879027404f5ca0fa2d2979b764ca2c806c64881bb9", 0x1000}, {&(0x7f0000001d00)="49dcad16ffcbaf30469e6782c5da8ad1fadc102751ee8ec0d312e197cf39a6b802e40c9416e7072d3bab15d749b80e09169629fde0cdc249c11da9866ebed6bb01b9b5284f0bbfd7a4e0ec4c0ec1a3318f40e7ee951659ded97ed264532ef2ab360e6a8b2e59c590df68e193c304ac5f6337804c0eb18918796d71819a3494e038ba288125999852d884999ea434d06595378b0422eee9922e9744aaee29adc259451feed4c48705cb4cb19fccd12b549b399345cabba4a7c454d5eba38a44ceb4e298aae8e7ac65378382b75fabab31e0378a13b21d7bc1e25e17e6c0c2410a2e266cc7d954a56c83df6054e0b3e1c7ca", 0xf1}], 0x4, 0x0, 0x0, 0x8000}, {&(0x7f0000000640)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000002fc0)}, {&(0x7f0000003040)=@file={0x0, './bus\x00'}, 0x6e, &(0x7f0000003380)=[{&(0x7f00000030c0)="9515d80ee43e8f596659af649e5dddeb08ea3ccbd6d3999ad80501305609bbdc1a0fe7226b8b55d1a95cc8b060086543542ac14da9c5a16803a91f6853d3f556acfd041a2be2f855f01c744ef3040f8da612c0b579fca58d60b1e50c3a85ffa0d13a2ee4da35fe4518d8dc16265a8a56209a53625347de625fd94300db37941df69821db6f8546d8c402be43ac103066597669b1189911c832ad587d7e0025023cf462cc3ed8c8fa8591c5a78022e9a3b5f14fad2b5babaac44a8c26d4169563e1d5fb0b30bdcc23f354a82033d56f7ce367b7145e76b7b9d785515594dd24a61915296e9a92b6471839baf566c440f3961cdd066f055d965ca403839f23", 0xfe}, {&(0x7f00000031c0)="53c01763e811f5900695f178d78dbd213a872c2b4a4a6349558333b3d55d9dd5657ef38ab1742ed0124bc824638540ca2d9fa626b24908e6eb8548b164530f0b1d2b949429bb6cfe0eae0c7e93d356df0015ffb77ece478bb980ba56f82159f9613f151bc5beb31fc7722896a70f8dd0d9fd987b2da677a37815d7655eb1e24bfc7078622709561b160c5de4b93c03d1747c9a942578e169e9634f", 0x9b}, {&(0x7f0000003280)="52b8d828a3a4bc895ab80c8f9fc29da6b89f95b21cf2efd791756dcb5418761d97c9a34bfa4091058f646f33b060273418e415e6168a3fbd326df77a33b715df4e0bab4a50b04bc361ee160e207d364c915663264159395ad31864097212b9e807662defdf864a22aceb8492ff09c7097716f41ab8befe10d940caa26822ad91260b13c07cd102541cabe4d7b0e8ce", 0x8f}, {&(0x7f0000003e80)}, {&(0x7f0000003340)="1016b163af216135726f7bdb1551339b92686cb80ffa3d47d734a13b1d1e17", 0x1f}], 0x5, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRESHEX=r2, @ANYRESDEC], 0x30, 0x1040}, {&(0x7f0000003440)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000003780)=[{&(0x7f0000000400)="9097faf54ee711e97021e369ce5c3c522bacb45dc307cdfc4da996c67609f0e28f9c41caaab4af8811e4aecbacc38e938f607205e3cf7924d624577506c72e4aa08cef107646408ec112fe2f3230fe1e0271faf05026aff049", 0x59}, {&(0x7f0000003ec0)="9650cba1e31db6e02c0ce93cecc11bea48dea9437f5716d030060a6744eabb5736fa3615f8fa76870ce0f1efbf897fc35233dde6f879adfbfa3a2bcced89157c30015484267cc07a042aa6954db6ffcd5a901d7c5407d222fe6b2a5aec1bd1497baf9414201591ba102930fee5c363a893b7bcce555e963b8bd27205fdfac520b35b238fde8ae3cb9850d994f2324ba595e0bf98cc8c9c2cebaff1995f74b447e280f34e9b7f", 0xa6}, {&(0x7f0000003600)="a2ab7678572f6f0b9766a684a1907bc5c2abfb2d3439fb7b364ca7d5fae59d27da5ebf3649aa4afd065387e81ad0de6df0a96f5e42df3865e2b1bce5cbca9eef10a1150cc3969b189330724e853fd2bf4dca17c4d4c1e91d03bde66c540ce473ef3fd788b5ad0f2db37198ee51be0619225c3b2ab6f13fc5666b45", 0x7b}, {&(0x7f00000036c0)="4fbba31d434f", 0x6}, {&(0x7f0000003700)="6fb70cdf1ee5bd77a35c8cabb37c6f134b1b8a42a3eb189f6f5082332083adcf2be8431a88fd30198488cc0442ceca3bb03a5696759af7697f2232e509e7c5d7554e0efd18737fd1d2d059c4f5b10306feff3e8807a1a7eea5a0c5119cd7a5ef4039", 0x62}], 0x5, &(0x7f0000000200)=ANY=[@ANYRESDEC, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32], 0x20, 0x24004001}, {&(0x7f0000003840)=@abs={0x0, 0x0, 0x4e20}, 0x6e, &(0x7f0000003c40)=[{&(0x7f00000038c0)="baac0249cce8c70102c9d4a151dc60ac831ba365db1bdae1af3ea52d59991a235dd714100bd4fced58e67d5f65b001f43eddb1802b667d3f9682eb1f08c863d37cfc9e3628c2c6dd", 0x48}, {&(0x7f0000003940)="3d60e0d7fdcdd31931040a697f90e3594a33e2001f7fadba03af5ff3c34213ff4cf7c4254ee65a1bb1883fd0b18c441b3574b89dc605df6844a9febf5785b56df5381b0e66b9336421e56c140b7f3c3a54c2f414e10aa206a2da17035488ab3117476a25e09c86bddda2cf5d59928eba3b3c764786b5ea0b04a333ee46c7a5a901cf45db6387cfd025348171f4eaaeede20c31832bb53a3f35d27b722eed697b2c84c0f1007726fa7b969f6d841a4fbc8a2d4d76023f525bab8c6ad7d0143782d0a509523746358365b04fcd718340df027850445aa58eea", 0xd8}, {&(0x7f0000003a40)="3497bd3e729b1585f1bc8fc7ec15d7722ef9fd34210c17b93cc27ef50487b185e07a6d6e2161e798e0693d4e40cb5dee0f7dab1f80bcbf43636c146b7a1f964bffc2c5d2e445b51ced70", 0x4a}, {&(0x7f0000003ac0)="ed1d553d723fcccd2d9a3950a6b166ee5450bb0769497d09c304bc605ac67f56fbc30580d8cf55e2b47899cf08bf553d5b3226310162d2a9c50348e7cc47e0c8", 0x40}, {&(0x7f0000003b00)="a92403dc5d21cdd35424450e3fbc00e6b3e607c119a6f79a8848c4df280bcb14aa42bc663bf735d1c4b00531780a608cb1c2bf73c77347fb15d427b9f100cf1f78bacb608170e1e71c4389d039504925a1e814aeb5cae8a28d08b681fcc837f961449e973875456d4630b1d284ddce49ff05216cf0d2908dc061151a593ebab04d3b3c25a1299ef4993a763cca36e2bf3930fcc708c25df31ae9459a986a62cd5fc22aab144ebb80b204c7156251d732ebfcd5919de021704558aaf11dfa4afcc93f58477dab0725fd834697777616e01b1af185c40b8e7a104e73857f20595b2587f92cd754f6e6bd80da74395aab22f8431be3552eac3cbf", 0xf9}, {&(0x7f0000003c00)="70efe372f6e28da6edde3abbe5aed126480cfdb8b900a9b8", 0x18}], 0x6, &(0x7f0000003cc0)=[@cred={{0x1c, 0x1, 0x2, {r4}}}], 0x20, 0x4044014}, {&(0x7f0000003d00)=@file={0x1, './bus\x00'}, 0x6e, &(0x7f0000003e40), 0x0, &(0x7f00000006c0)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32=r2, @ANYRESOCT=r5, @ANYRES32, @ANYBLOB="0000000014f9ffffffffff7f00000000000000710017a425de257702f800", @ANYRES32=r1, @ANYRESOCT=0x0, @ANYRES32=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e00300001015c26d733afc27251df02688642f916551bae95127ddb950bbb28720ba0f9b42e04eb0a9e8c43cbb33613584"], 0x58, 0x4000800}, {&(0x7f00000040c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f00000046c0), 0x0, &(0x7f0000000f00)=ANY=[@ANYBLOB="1c042c8f8d42d584a58200000002", @ANYRESHEX=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES64=r3, @ANYRES32, @ANYRES32=r2, @ANYRESHEX=r4, @ANYRESDEC, @ANYRES32=0x0, @ANYRES64=r4, @ANYRESOCT=r5, @ANYRES32=r3, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYBLOB="20000000180000000a00000001000000010000003bbc486dac4e67931a8be19ed2a48717025cc3ae006edd4eaf7b53e3eaa52996f15f97fd266a00448f417d4f276a6db56f8c764bd490ad9c4c44b490864e2081c9f9cbe1c2357e5fe8370df0152a74908d85e62bf09a4a517fee71aa96db9f61e9b9830cd38c13d90b8875c7", @ANYRES32, @ANYRESDEC=r3, @ANYBLOB="28000000000000000100000001000000", @ANYRESDEC=r4, @ANYRES32=r4, @ANYRES32, @ANYRES32, @ANYRESOCT, @ANYRES16=r1, @ANYBLOB="30000000000000000100000001000000", @ANYRES32=r2, @ANYRES32, @ANYRES32=r1, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES16, @ANYRESDEC, @ANYBLOB="0000000024000000000000000100000001000000", @ANYRESOCT=r0, @ANYRES32, @ANYRES16=r2, @ANYRES32, @ANYBLOB="808247bd22be9cc5e3c74a412ffea1762033f4b468c7c55f64869089ad6e0de94d845bb413f2423cf489386185819ebbaa2c0118887735b75b376299b1fc08d5a3a361a6dadbe02df8175e8455abd2c1d9ff04fc9f854f2966655a2486e3fd772af61d3371a492d08786ae3a715c0f60b7846e1278816b50bc820044adc0a5d25a6fc38e22c19fca58a4278f12883d634de7e5098aa76b2380743993ca1de077b60ec7519f4dc1bf290a5e71431f47300fe63aa9aa1ddec094b01a2e9652e898f48a564410ef559a51f4", @ANYBLOB='\x00\x00\x00\x00'], 0xfffffffffffffe48, 0x50}, {&(0x7f0000004940)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005a40)=[{&(0x7f00000049c0)="ede81efdf03d2fa904d7cff7351fe8b2a89cb8a94b69ade2cd425e0384a5d5df5a2afc01b25eedc256dc7cc63c9a94c308c688b159ee1ad66de5bb9aa37626d8f57d4e3914750a79b5c45b8794de8ede3e2323", 0x53}, {&(0x7f0000004a40)="e63b86f8ebcc04b743d5fe914be15ea7ce821417368ed519ef5759a0c0dd313f299de4f8c1f434c6d5faa662535744e89684f6e39e2eac6a4b765780cee828f0773f167d704ab9266601d6558f639227708aeedecabfc801f360b7f9676559564497cb6e4e26f82ea4275333cd4aa92169aa7bd7fd2400580aec4f13cd11b3c3e46ec8f9ff663b11bc1c890bdf36b40a6db1093f2dd7bc1e11f39e27f15e540f32a959a5dc3c1a4f61a49711a35810778235fc6295b8670b7fb42ba3fe28dabe3eace5155003048bbbafb193b65de7e2cde18b1093a531805a56f15441a3b41e3ea75d24bb221005b03191977df77326f24b94ee481cc846ee9c2d7bb7099f9f401111b7d8b275593179f59a5aae91b9a67dd53a2ee70e7456bf7a42baed49a1675cd141f339f2c4d5605b899be3e97da530517964221a5208e06582739911574b9aba4ae53fddd63898a8b1cd3b1d2a27bf00c42e13bf38d20f64efd1dff711ee541b8af6f55af44914c634fec6e1ab893d21727ae37f68151ea79971f15ae731cdb000392349453dcaa08cd797ad1f46534345cb4bf320f72755ec77fd860fcee21770fe11ba17fa96213367ace655d34e37de586a408f17e5cdb4843e5beaeb0215ce9c5f9711d9af8f0b58094a4d3723d6201e80c867db7473db174ec7c16e663333b47e79964333e178319eb9c19d579ed53fbf44e7a9cacaf87d2dec60feee906bbfa18ed399db854c78a746cf4944e9e0af0dd15d0bd915ae43a5173f9c73c0333db28de454b0ea76446c4b3763be384d072fd48688dd27e43bf4d2045413160c140898412bfd5eb3bb880e1bd1005f15d1791d6bb476bccb78d5a00365adb7eb9132ca020dd1a0afd12f87c593036c5219cc0f4a4ca2b5861130050a486e35e367afaa5562bb80faf0b6daf06c27b04e2ee68e94bb944b6e75ff87245e5cd0b49084725921ce7de4500925f799bcc0e22fc713ad78b2908998c0032bed9ebc86045099e5b66a189aff2d60c49467d912f29db7a2fe29c35c1c0bcc2ebb001dd6875991848465805311cc58347377a6600a719d8b8ae25ad2d786adec6af7fc7a11590fa58b40dc6d508ea56e96fa50262426ac0d88c47f84745366847b2e5a39e4b4998d0cbc6dcc0c2a87e420278353d96e33e73a45042b1af98b89dec1e2f36f183584b81a75a4dbae1ac44fe8015f29dc4e87dd587915bd5b274f2de2b837c847d24ee5aa1116790a8e46803be7e6d3a0a721c188135b9c1ad1ee2265455f8c0b90e4aba72c506afbadab3b99e899068202b235c73df394010d258a2672958e0cbcc72d644518a99229afe45e21fec74fbc456985be4ec4471b144cb447b7d78abc5cc23ee68e4f7a6b8d680e11376a84b8ae045e048a8b59159191456713363ce3f46c9eb59af3c92b1382ff45e9227a7989acd952f75198db27168be8a572c5899821ac15c17fbddc813aa2d655e551e9278b59f560acac799171abc9ed85bb3886bc17d0d88dbfa09da8514e78b9ad1b75018098851ad3ecf54b535b38d15205761a1cbd36c9d3ba28e07c9621b3b4ffde4f8313f2d2c70f18b2e054c100b7afe86363a4f2bd032a719416c3674499a5de28fb5854bb91492bb9406f24996084fbd1acff58c8e85234ad5ab24c8f609219c2d28c67443cff02be52a5fca19fc32db0947bf97ca21dde25e93c430fab78713eea2fbeed4a958f5c9b4ab2319151ca1609348f7e4b0daf17b8066083e7d408ff77c4f8be5585b4fc9ef278e614d91b698458f440654981b9419496f9c5d19e89b70d2b997bee8a6f52b3d56d94d49a5829bea201768f75e4d76d186c8572014ab235ad8283e9c920f628daa57e36a091a3f3f48d0c700ef84bbebc8b3c5e36af8073ece45aee5b9ec528d5d14b32a0db82d3aa527308606df1b465aa6fdd8f5875ee94bd77bf2420ddf7a77bc35a8b1f2bf064817736a513030678e8adc437ade3e719452388a59fee50a71cde26b29b95c7657f437669523d944893cc47bf41d6d71951537130f68f4e2265c4e44a34377767155e004feac0b2ced9f027a18629a93854a3f24bc1de20048be2fa5d1b4f00a9c87c9016ca43821e52d9b313532964d1aa4f3a2f145c18926c14cc7fb02bc82ff46c00c14de438f8fbe9c60fe3a778ecf64e8ad4a82bd722a2b68cff02cfd0b7bdc22ad2e991517a252ad93e20167882ea1c8adb2a2b8f45a228e2353f31408528ee1052d7312e925e5e2d3afe962e7f4da29e02535f5ef4f86e31cad5651a67b60f6d705ae4ae4a504bd5de7a2d7925422d9a1feb5597272a3307ff3b6d376e5299f9f9c6f632dcf965eae5e4148b9d10fa08a751dcf08b332034814f7dbb75d9e6c130f7ee66095537532832331be1386b39c1bdad75669b984362dbff0da1ed0b7c52ad8cb102d764a333cd472a492f2477b32f3e81b38689d98a042b1c663c7f1486618446659d30c0235874a3bc3a11a74a5739681b7ed7d484bf52822cb9fc84e78ac7a9a7f3fe2d8e513c930d6bf46ebf13f3e1da98be1777a35fa0f48f142cb0bee46fe6ce1b27cbe9328dbe015351876d3443830c76f5ef4755a6f7cef7cba294308c122c7631e1ad0429ffdaada20cf0caaa15a6387a96bf578a6fe497245844e8f658bac90cbb82e290b3e3a49addc30eba1cde25e62d0738d07a9bd2a37ff7596e03ac9d3451b1711bbaf13c6219f0efd1d85b30057c88d70819aa810900f20f987bc89257e401c26aa0cfc7425ff61fc4385587d82faa06dd6d5541cca6b372131fd579289bd7ca94cb19ad309c30a4342dc531f0c25ebeabacc065ca8ab735b769614ac1876eeb456289c424b474b12c6244c4e25bb920d923ffb07bfa87eb82fbe8c596165b976bd3802b2d7b77d9e90e6cd74961c6c8a4a96b6c43597fc6c2bacabf5f9da14d98f598815fed8edfe8fac8c978431be9dc563b91691ccbf052955cbf8a4819ac2651470827dffeacc3f926f9f5e20c75331e6cdb6eeff128c2a6fe6d475d3e384381bd6f6bcc831b0b980f47c80f8a52994e760e76836e1489df47b863064480bbba9726adcdab869e102c8ed27483f2f643a8028e3a4b1f813037896a0412b75755bb49835d60510391e9fa5c2c491c2a20b03d389d44a56914832a66525c242b209bf061b8fc4a993e53dc7864090f39e76412a7f69363812d92af16d4d6ea5bbca7c90d1b66a8c1ea8a95cc10042a601e484af51ba2dbbb819a98ec158fd401128e387239a8fd511d942b287215693959dffc7dda0728dbc0730f0b16a9f111d3cde21f739800794843a44a63c9bdb3d474ad07c072d444862a89ecd1b7bea61668e2dcc155330bd06c31444a9a9bd9e04eccefb2a6a853b6f75488471ea0829e12da9a82e3d2025b6415e5ebbcdf2dd395ea1f2ab1f202d9b43712b24218119aa1c895e4b7b29795563ca8ab5bea7789b162c841fe3799cb875d6f7f78adf1d1f04b0f7f04f6342868b2202a5b9c263bede0a1c84556a9be5bf6b6df0fdacf0dc44a1bfbabfec2483a69586e8b2c9fc7f23e6f58116a4e46db882e2ad524c92a23c72b98e5653cdd5d982b9facde03063db0ca002aff248a7ce179ced26eca30e68aaaec3a6614110972c7971c6d4157545bdf26abbb1d2696bcc7003da93452060f98ae7f3c56a1f263d16ad5559dd239986dd7a94f6ada92042bb84f0e1f3d9999617c729e37894a0de5a5f190e1a6c7e4dd64acd72ff3960347a0e1066f590c7b47678b90b6bf8e40b64e0fc349ee0a56341a48a58dcd1ac3b3863854d4c654f4d8ae0999eccba22d7a2d9c1e6e4c2c0be460d40948f455e085c158823bbf91d942c6eec130bfc47c3f7cf5accb5dad5f3a00a8c79c3396b00f5e639f1ee3ab59ad24e451efb80524064032a828461b3acd8a1034de0a009e709cee46e736eda00b1adfaf7b7ad5aefcb11ccc68722cb20177b767957366c89c3e560334bf4fc10e2b512e910e85d90ec3eafc8f7a6e1e27ee92a47b973c6fc523bc488edd47b513db7045fa70030f20d00f76909964ad052c110169e8510937a8553111459b47b3d37f6a3af46f5f1430e3b02d68888fb404582e20d12137227579f3a370de391d8561fef5c41fbe755c0a1a5f4e5589564f90675129ce9a575f40209716d12ac9cc1ac2edd17264277c44ec2949745cb44a834e2017558ffe31ec4234d72f08cc3a94dfdab5259a2a1f5d32638a8b818be96e417828144cc35e1c784ade3848e11ed3ab2200487b9ccc3d9172b3cdca835e17e62aa3ef17d648594343ca0eb01e853ca8ca3446a84acc8766cf9999b5e20a51787a02d7452e745e0e9e59bd3b31066deb8ffe2586f3f7db7d3f21a0f08a5482faedec043bb91e9dba0953c5891ad3ed54ecb50194dd50505b0f811cb60d2446be8bd6f83139f6f5d9a0b3609045eb914ddec7807da8e48758374ff56647ded3a3f5b7d6e92ee79eade013f2337bef6a6c402943e8cf3fe2bb4bf7ccbe5fc9417f258b81e6beb2053e6d665dee38d58be608438ca0052cb4ddf3d0af3e02721c849d80d59d1d778b6329c2e2d6d927e9bad76a243a34f0c2cee8fcbb0c6d7812c4d370b86c3a0c26cd8c6f05d2e8167a25010769cb9bd321656655346c622ac361793cc4fc01d5211257c7a7a5798cf704b1cdd06a457266c88f6fd5f311f28f849c2015cc6aa24fc2256172dc7cd0cb82383f7e17c123202a6c4bb8f83cdace0a1e26af35e45696f960ea7a4d156ea571b3f2100a7bebc6c600258d93142a07cb5fed547231cb973792fd2128d0ecd4c1396084f5e356c25e4bcd666208fd5227c145901cbbffe7bb1887100391980d64b17a91e5ac18e42e284f321a210d93e5047c99080c8b87709892acdf99d00e3bf0289ba2b7ce2996d8d214631b49d6f5ce5a4cc4485a5ec6238f17631281dd56790ddfeace0027b9cbb15197da3156098bf8a247afade4663fc735d891ce770788f22e2ec84427861be1f95c21787ecb4ed0a1c02bdbf4b97c3880fd397dedb032eba1ec7945c14b5bcc235cf0fcda171b065ccf9c32b49b9fbe78a12ea5d2693ac1ba40ecc8d5b24db0e3fdc5eb1244aa4c8b4276de9b6b08a4949a160f85f00b67a14c0222e709ac2eb5feab2d54d015a309e653d52e09900fd6ac1850d2d200a6969e3eb83267d02cb2043222654fc310a5b369426561b70909976875e9e226e6cb8314967c26ddb8779a581392fa50b6b54a034ad2ee81edd94ced0f62809b061076595ce797f2b448ba04df8f9a11e85ad498aca7c94a38625a4fad96b5bc4fd7f5a8cfb3951518f55e42e525d20e4ff60dd16cad08cdbee5cd87459e9633cee0728692692f5d0b8595a1d34d9c9309d9ede1ce8394ec79d03132ad5f870fdb70a6ede0b9e7892c77826f55018a310789be6304a9ea0d3ea2fd83d9b6b182404191c05e009d975acbe51a4169a6d9f22df54d129561215282cc144010144b14182615974402c13c11f6c5da70fe2dd063a32124343fd054d42e8aa331069de60d4f59b99dbe796603e79fa7d56ff2157201418d7b57c943082fd5fea59d8e422867d68a6cd1ac6f01457236800708d61cb0d9ab8fdd1158058d09fd8546ed61c13135c910d3130f80ed77f5dac26ef0784242f094799413dd19a7d8a1c8fb96de3e2b5b0af397b09a6a57a2d557fa4d6c92f5908bcb1d261c86f7504ad74c9f34a226b69bd557ffd906db1b2ba212ccd7ecfe0d0302c10aeb1f66b00e3ec52eab90bb0a645b6601dceb7a09a22ee15ca0b9014ca6dc76a18f89044c", 0x1000}], 0x2, &(0x7f00000004c0)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x28, 0x4000000}], 0x8, 0x0) setresgid(0x0, 0x0, r6) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x2, @thr={&(0x7f0000000340)="34379f652f70887715ba7dd692fe4e46a93595d7e37ce853630e87fb1c8f4f48ce89447c38e6fe459fd9d8ef849823ae1c39d5ecead78adf4a7a914c13497deb6f97f0c922c9cf56dd9978d8492a50e927472443d7f779f29c35306a020dc8aa302dc46d07b77c00f228facab340274f7f60b3be1da782b036da7642d720e9969e861fa74005fd30a8d44c5e760b28721b526318d2425b797dd69691b9290f3972cb0af8256c82b03061f6e13df170", &(0x7f0000000840)="13df7d4646bb341244537ef49acd64f38cb5620e018a8355707cc542aa8557f5001ccc42036a81a2e88360db43ff8a85e64b2546f0ee3933b4bb3df69129f1e0cb972b46689673e5c68a203dfe7e710f3a329827430d4b5dcea5d689aa499e871ea08611718393f2fef1b915ac85f89c2c952e660eba677b9caa7b892a9608467bbdab2fc055d89979f0d3255bbd396ff063652dab79d67a47ad07bd31700c33bd772eadb17a0050d88c3b2d06768f843f1927221faf2ea991943b1e8a2814"}}, &(0x7f0000000040)=0x0) timer_settime(r7, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$EXT4_IOC_MIGRATE(0xffffffffffffffff, 0x6609) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) r8 = socket$inet6(0xa, 0x400000000001, 0x0) r9 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ftruncate(r9, 0x7) sendfile(r8, r9, 0x0, 0x80001d00c0d0) 18:37:26 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r0, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) socket$alg(0x26, 0x5, 0x0) r1 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r1, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 493.789631] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 493.837402] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 493.847010] libceph: connect [d::]:6789 error -101 [ 493.852889] libceph: mon0 [d::]:6789 connect error [ 493.863566] loop5: p2 < > [ 493.876407] libceph: connect [d::]:6789 error -101 [ 493.898253] libceph: mon0 [d::]:6789 connect error [ 494.049250] libceph: connect [d::]:6789 error -101 [ 494.054698] libceph: mon0 [d::]:6789 connect error [ 494.072583] ceph: No mds server is up or the cluster is laggy [ 494.079601] libceph: connect [d::]:6789 error -101 [ 494.100002] libceph: mon0 [d::]:6789 connect error 18:37:27 executing program 5: r0 = perf_event_open(&(0x7f00000005c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41bd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f000000b180)=[{{0x0, 0x0, &(0x7f0000002e00)=[{&(0x7f00000003c0)=""/155, 0x9b}], 0x1}}], 0x1, 0x0, 0x0) r1 = syz_open_procfs(0x0, &(0x7f0000000080)='net/anycast6\x00') preadv(r1, &(0x7f00000017c0), 0x1d0, 0x0, 0x0) getsockopt$TIPC_SOCK_RECVQ_DEPTH(r1, 0x10f, 0x84, &(0x7f0000000280), &(0x7f0000000300)=0x4) r2 = openat$null(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/null\x00', 0x0, 0x0) setsockopt$inet_group_source_req(r2, 0x0, 0x2f, &(0x7f00000002c0)={0x0, {{0x2, 0x4e22, @multicast1}}, {{0x2, 0x4e22, @remote}}}, 0x108) setsockopt$inet6_MRT6_ADD_MFC(r2, 0x29, 0xcc, &(0x7f0000000480)={{0xa, 0x4e24, 0x1, @mcast2, 0x5}, {0xa, 0x4e23, 0x9, @empty, 0x80000001}, 0x8, [0x22, 0x20, 0x3, 0x0, 0x7fff, 0x1, 0x1, 0x80000000]}, 0x5c) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000340)=ANY=[@ANYBLOB="3c00000010001fff0000248f1c872d2bf1200000", @ANYRES32=0x0, @ANYRESOCT=r0], 0x3c}, 0x1, 0x8000a0ffffffff}, 0x0) r3 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r3, &(0x7f00000000c0), 0x492492492492627, 0x0) r4 = open(&(0x7f0000000240)='./file0\x00', 0x111000, 0x0) ioctl$KVM_GET_MSRS(r4, 0xc008ae88, &(0x7f00000002c0)=ANY=[@ANYBLOB="03000000000000000000000000000000000000000000000039959bcf2e0000000000000000006964326300000000000000000000000000001000000000"]) socket$nl_sock_diag(0x10, 0x3, 0x4) execve(&(0x7f0000000000)='./file0\x00', &(0x7f0000000100)=[&(0x7f0000000040)='\x00', &(0x7f0000000080)='\'$(\x00'], &(0x7f00000001c0)=[&(0x7f0000000140)='[\x00', &(0x7f0000000180)='\x00']) [ 494.351706] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 494.375775] ceph: No mds server is up or the cluster is laggy [ 494.402383] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 494.435247] loop5: p2 < > 18:37:27 executing program 2: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)=0x0) r1 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000100)='./file0\x00', 0x0, 0x0) r3 = socket$inet_icmp_raw(0x2, 0x3, 0x1) getsockopt$sock_cred(r3, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000000000)=0xc) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000005ac0)=[{&(0x7f00000005c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000000c0)=[{&(0x7f0000000a40)="b5b38567769c4715bd260dddd33813cc0569d2f6d4497eca255ba93fab41f67c0ed233344fa961e6ff1d79dd50f3f94ee36a75ae75a75516f36f3642156e16edeb931fdb233eed99d303ba20d0261006554e68e0e05de523fb3e78bf83acfb96ff6de9b46625fa8fba3ca18cca20656cc0424820984e08735f3245ee186a59031f7137e9754fc97efbd8fdaa614f7d891cde2b08701ae33e1b8fa49fc0b71e643792eb2bf0352102ac96978eeddc0e08945df6db0d02a2710aa7ed484f6129005aa2d653cf8b51ed14208ff7376f129d4f7c48481b8ed8b606bf34fb30d1bcd67c480dc8ae4f1ed78ad5930e758a69f8d0f9c093f360960a9eee", 0xfa}, {&(0x7f0000000b40)="c863db746b6d23f7ccb114bc72acff7f76f2d0156ac62cc9b7269255509d4939b02ef7a809cb08d153a6403d6cea697a6a30f84bfb60fbe13a4f01d9b50b308c21487c05648fb94f7b81d30ed3424a5ffcc98540bd3f101d3d8b63dd7cfd6a559ea8b676508373db090f3c0e7ab3415a48dfc1620153890ada098064f6dc1a32051fed475fbde91b31a8f5bbf32e233282e7ee8f5d67cb2bcc0326f1f60f07d58128ab3f06baf2c6db8b6bcb2b32cdf8b5aaa9a72009c332c22cd7cc6b26ae", 0xbf}, {&(0x7f0000001e00)="408244aee4c3ad13c20f711ee78b681d8c7800bcb85261fef9393831e937ef75c0a96f2badda32c67c9c84c496d2d67c44378cecb6ee8086a9f6313ebcb28f812727824a28c90a569d1d60f10d7d732af3032043a71178f80e3fc81bde7e5e9edc663603a8914c317a27cf3699d6d7943bfb5d247219c3ff9e9a73181781edf58ac150bef61be9b75c38dadaeca4b745d481a5807dcc340d51d22ee53a2d21f77e39c624b6ac65534989ea5ad1a3686aae20494657bc59d33498b8b95e8350c4ee939536a2336bc1099eded42c0d2c540257bd0d339071489b64f1364491496fd381af398a0a1865d729ac16e02ee5887dfaa8e79a50abff87a943ebb579f34caa1790d470e92d51e7146ef8f1cf61aebd82cb644633cc2173f554603751e56b3cfeb0ea32071bdff9d237e39239b579929fd5789cc7bd71e20b4023844ef13bb3d723b7dcec0f8332408ebf2b98c09716851d5d572a6b7b60450aa9406ea6738596d974133362660d2ecec0534e7f1e366902383a5cca676a93ae10840826d2c2389a89732e828da1ebe6c68382e4b256b1f4554aadf49ab40792b940eec978497d48c9c37f2d65b01ff10ce9fff2ee6dd3f7a89927349481d16012b7eb5218aa639910a1832134c8b44910eaf49118dd836d9abfa90f604d55a85966e7765dae1144576fa63c95415bcfb091c1bf57c8967c435427176c7ed79cfece7d1bc2a460e80e025d8545fe59b5aeac6a1ade4af3aeb6def0882af6ee4ef61c40b47f78dbc1dc67247893b939d3fb9a657b15ff0b41d1f0e13fb8136160b99959c83e7853283c0d3e0d1b3af99be2d3e1e6ea9e18e74f9e663dbb6e9501195a330221053e2e8bd264f235a98b33ec855391c675315ca04660b8f842c451a65e845c5951fde69fbcfef39d3ee7d8e59c71bf145248e291bab2eb341c23130d48ceabaebcac4f11b63bba720edefb95da8396dbf0428c8892df5dacc44ffb5843eca8833a9f4d1f78d0c00b6b150d5b70db5d6cdba9023483b99aa322be3f0b60a8eaad0194dfa5749a95b417922a2affe6644291bc62168555e169b738da0876b6786cbc1bdf052eaff8bbd5e885bc4815d4d81b779480c6bcbb0896c3484844e20d4d4a0cfc4c94b21c95574af1a6b32a7445f0c07726cd9d680adc290d55abd3f0862e65e36b7d06c26e9e9bdf5a6180f418ea78dbd280f8f4870f86a3b373a851d017f0fffbbd96570c1c1d5384e4be7a35ee26b124df329b431a15c8329c6f8699e1552b2ed829f2f1adbc57f07bd6202416c2dff2dfe083428f799aaf08544dab23d67b221f7ade83f5b339992aa626d61a370d951c607c29188264916e4e97c93d574fbb575332ab3dc03e5407c20bdfed3dd8877b42372a9e1925926496ae1fa57633766206473c8f0884c28d455a415ff5ea2a53693449bcaa4c6a19c85eaec0da852695b3ba9189a844c30868a5e53fb3c4792d6243798c35fb3da79a2d7f3cb5873603e8f184bde0d3323dd6faead0b7a7bbf5a3126aeb00a4578d2a8823573518e6cd0933a965acd99e176a2ab81caaa83792957340453a9aadd77c439878d286dd2f053ef2e1c435501d8d879cc3c5a6ddec46c04efb6b136fc4993df210b003184858c5557cee116298188585a523261b1018e106520d75f04a431598783fffed30edfcbd3b2a5b6e91ef3eecc40a2519885c354d19f6cd93cd2dc82b1448c2dff90e9525b54b6ee9e400140dfb99f7951b0f4b74708e679cd8641b5cdcd4dc95866ee0761177ffc20323aa00688707ee284d3a6360a316cd9138f317eeae07a1650edb4328b74026eeafa34ff04c631805f35f7ee1850187b0b0ece0858dd33c4aed6eaf8e9a906c19050709293ee90bef9e8c1342fceb34da2883fc7faf5d1c558b572afc152aa33ef26c1adfba4c9d3cae73eae240b54f548fd7e6d4fcb0d7e68a504829caf6e3c2ac555e0f0d534c9aeb0ed5b5290d79332bdad1a8c0123b9009db1899ec12c79a39df2eb388d6d0b6b162a27e8a43bc35889eb3ea888ea422d28680a23168d6713e5cff1153127fe525750c43dfddcf16e2c056dcc406e3afe069526a6c7ab2524762b652c66da2129551b03a7d7d0b596a9af66226c8cfbf0e00f831c77fe272f989321fbcc6bc7509b06fefac27081651cfced6e3a9276807d13017993c4173b70e0d4efb432301e237f4c58d49af758578e1a64007ba6b379f9c3f1fd90949bb8fd91d5d154e7f82180cc9b42df502c725ac805cb44c1136da1b1cc7bf78793569e2f16ad9b0858ad514d44880436b9da12df565e0e250f640fc932603bdb8f974169a9875dd392a04dd7d25079e7ef02c9114974356358b6fcbb5895c4b502d15aa89507b07dea273c7183d43a0f1225d3664cb6fa4dae95bc84e58285a276041bb5e92c0203a9513cbba3ddf4053b4d6d5d197314284241757d1782ffb5c9d7f831b83a2f329702f64be7edc3f4b9039736656dfb6fbd7eace9e4bdf1523dfef40198941d8e7a0145305a6b8c926889201711ea9f7aa72c6ec994b1bb8f8553d94d9fcfd32839e54eb27e42d096e3ce3235611db3d319608ec4034772db08a93737b9dd623c9b6ac0f2ba6bbb26d64186caefaf39bbd5ff82a84c8773019adc88d33874bdd9a4c9a3abe329450b16c4c5891f80b3fbf61cefecb146f6ef30fec917a587ee6d5b075218194adb36ea4dafaa46dd5bfcba7d993780e9120a485f955cffda333f5c19fb1c7a0bd3673d329955ae66cd19336cc70dd42e082935e3d3df0b069ab524dd33d0803a87deafe4716b70e69a6ab8add3d95b120a2eca813e6e325e4cc2d92f9cd81dff26326366f27432ebe32fd0588c850d04676792bbeecfb3d2695675d796858e208159ec293dac9a82e64ab6d21b6856d7d29078387a355849d8e1c207e0acc771a319bb8ab1a58e0dfac12ecf0bf57a2977f51d0f236e9c3b4edd28347426abe3fd0984a80f59a436d9531caaeded6aa892eacf696372874b769a56ecee7d6abd08e82e87c9f71dcafb4e46b7db1d4fb730707c07a9b54d51b0c22f656938b14c4e4f46bf193d28212e91e754cb4415b9df76ffd7ef758b9bc5442e3b4a248a50394e8c9317ab2844ab569cfddbc788618366cddb61bff3497f25c684aa0b95d864c1f348c32a2d193baa2934a66640cc160775f15e1af2ceca3d1af685b629d509e921839277d267b19579d5dae56dd2a42903ce1f877bf369cd570cca10594713899d66122b86ae1017ec326c8c1813d2f76e07df16c89c968f9be39dcf465add0dede58593b87c622b234774f82fc7276cf1a3bc79dfbd4091d4151af3d34e2e20f8a43598cc879afc5bc52e58e49d462b0888b9a7fdc1b5536451eb4848f74b0b63ef70856d16c62db6b5a6833f163c9e3c07c569b6e0e32523957a4960205e244ebe3d0ad30124da32ae396c80242746e87df6c31a8a5dca0cb84785bfc0d0b5c876a2cf24b5579b33a0d396abfd61c42b0566501fd61e402040a9cee0dd6caa3b93647140a7456532a6616b528cb795c0bc6078a21b8696a17b4ccfb12c02f055159b94f84ecb74baa42e069f4bef4248c6d0925215a70dbf74f254e14139e16bad13cdfe490c9d3a1e1a9e3e6160496d61352d32215344f51012ecc69ff272ebdf634ffd63074f3d7fbce8e14079a78f1c43c7e1f53f4b4ac02f82e755f98ad3e427ff55b2dd10ea60aa28084aa5b0dce773f96b35de10d3f25abc8975f722543625542ad40c6c357fca32201b87c333de24d8cf46089825a7527df4d23fe818fdbd5367b1b211f43f8ae472d8156b23621cd94611de5d1ea6c4d5407d3dbbfef7d7aaf9e3ed7a74fa95b23e42bba01f3be92a1aab4fae78222e4e43b4e5905be50c841b1b246507fb6df976215de8a1d548a1d3016964daabef22b790dc0e54d9e98899d0bd6deb7ccf52798092f2d8449b1730bd82e9a004c8a866d89a7bd5606208d6fd6c340b8b3c7ab674a807bcdd6d07077d6ed321e429a076a3235382308b62466dcb8c799b8653b8dca7786439ea561eb7a01245b335e6cdeb399b3b1184263fa39ab92125a59d559b8f0d58e37ba3e2bf80242db470f36f1bc44316ff130a977b4dca53307e62c05c6d553a234cfdf0b153a85fc34f108d0d1965b8c971dd4531613befaa9f82351c4f319bd5679d00a84386371f236e2291091e1f690ad950e11e3a223d0fb97296a83634a89fc56cbf4741dc5042dea9794e1f8f9fb15630e0c906542ea55d6480431198114eb3650e30480a7244de19d4459c96dee02ba2f7dbac0304086f46ded7b47c5bacf412f79aba1632f27f235a365b697b13cfcc8848c69a839b74a5c89cb5714bb081eef53d9c84b54a1d48131ee39b215eadae4ce2a179934f8c3d2e48e41fe2a93d7dccf47cf7b65b377fbbccfc9e0fdee294da2c5ac663c9d532bd3d82621bb3d63bd6a14a2e137a96de9f7ceaaa6ca179ecff5cca423852bf64df5531a45c2c452bfab042da662d4502c2df59249d634a60f7f091281cbc205106b4a871fc8153d2848cbbfc0f3d86d82ea71325b3c4cd5fedc93de6d1372ba8d841e6059352660f3f01e22c7ce9893f69b8fc7c69fcba99692b7cc1a69262fa314c81fda46880ac4978feadb69caa3fa4786c1f4574b675172034878556b7b63f4f78fea3b8264d8154ea42d7e958dc748ad6bc43f6a6e7f0620fb4abe530c1defa558752953e6b1c26c0f8b8d1ef298b58e8aa7dcfdb9d035a3587e2aec04e960bc0c8e3c321af17a1bd4d58b5f72d092c9dce096b430e3b2aefe9c718d4c812aea54129171f9027c3dc6f8f1c20adcd2912e2c4148ac3a80abcd55a8e311b86a739b81763b8e74bc27eae7be8c9528832d7623fbe62b2f77729ee50b9d611aa3b43831ef371f2011a36445df37a1b9aa1efca0622b0f77d3dade1919c9312572bf0069157a77cd011e6e257d4a6476d1b68e5189df9e14cf955229aefb9e59ccef31fb967ed6bfd117b3000b72f701396f55b7f81bdc20d7568994d38c1b68ed6043176d2756ec8ad5753baf38958bf4d5ed1f97d09175bbb771742815bef74bacf7f4c0953562f423e6ff78a9eaa1ffe89f548a8d61f24128aef9e06466f7cacf109e93134e9dd5b54b7dcb0c894942292afa90f76298ab3a4c145b7fcd604cda8e96afd8e4aa8f54112ec364c2f0e7e081054f8e397e8fe5e6ffaf3b1f94a72aa5ea345f37001349f721f77d6443a6a325b16b511f5c9ed3c01fdf825f79b7c42ca1b7d3c2fb7647ee039982981eea6c94361f1885c2e6bd0aa1e333637491d03fb7dec5e87a8c75bb16c387b329f41d65cb81b3496c9aa542f450739859c9ecfb5016dc9e4a19fd3bb4fdfe27cb4e5e38082f3c8e56c8e3997fc31082624bc18f1dcc364324ec96167c6c410f06d920bb7f644226327f684288ae6ac619aa542f2346f7c48194dd7e400dbb0b5a87127397bf692bc81ac13e4f25a84cff691fc2e5dc9451f9812b0418c4845ead7e8bc467eafb64c0a11d2ea0e9466f7d40d214657df4cf77e75067caaae947160db79ecd011e58eacb8a9fd082cf82b2954055aa583540fceb9e71741ea2d4d42331d182e8ee2f6da36cc7220efb67c5ffb23162e386439a7873a94b7f5153f24394a4c355e8b675a975e36091e504c2083e7f25a8191b0200acb6fc63ee0f3505c0fc80ff8aff692659ca64f9d43f1d9c909edc070f280594858c0180e69c1b874010f637410b16bdb7e346525f19cb7f879027404f5ca0fa2d2979b764ca2c806c64881bb9", 0x1000}, {&(0x7f0000001d00)="49dcad16ffcbaf30469e6782c5da8ad1fadc102751ee8ec0d312e197cf39a6b802e40c9416e7072d3bab15d749b80e09169629fde0cdc249c11da9866ebed6bb01b9b5284f0bbfd7a4e0ec4c0ec1a3318f40e7ee951659ded97ed264532ef2ab360e6a8b2e59c590df68e193c304ac5f6337804c0eb18918796d71819a3494e038ba288125999852d884999ea434d06595378b0422eee9922e9744aaee29adc259451feed4c48705cb4cb19fccd12b549b399345cabba4a7c454d5eba38a44ceb4e298aae8e7ac65378382b75fabab31e0378a13b21d7bc1e25e17e6c0c2410a2e266cc7d954a56c83df6054e0b3e1c7ca", 0xf1}], 0x4, 0x0, 0x0, 0x8000}, {&(0x7f0000000640)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000002fc0)}, {&(0x7f0000003040)=@file={0x0, './bus\x00'}, 0x6e, &(0x7f0000003380)=[{&(0x7f00000030c0)="9515d80ee43e8f596659af649e5dddeb08ea3ccbd6d3999ad80501305609bbdc1a0fe7226b8b55d1a95cc8b060086543542ac14da9c5a16803a91f6853d3f556acfd041a2be2f855f01c744ef3040f8da612c0b579fca58d60b1e50c3a85ffa0d13a2ee4da35fe4518d8dc16265a8a56209a53625347de625fd94300db37941df69821db6f8546d8c402be43ac103066597669b1189911c832ad587d7e0025023cf462cc3ed8c8fa8591c5a78022e9a3b5f14fad2b5babaac44a8c26d4169563e1d5fb0b30bdcc23f354a82033d56f7ce367b7145e76b7b9d785515594dd24a61915296e9a92b6471839baf566c440f3961cdd066f055d965ca403839f23", 0xfe}, {&(0x7f00000031c0)="53c01763e811f5900695f178d78dbd213a872c2b4a4a6349558333b3d55d9dd5657ef38ab1742ed0124bc824638540ca2d9fa626b24908e6eb8548b164530f0b1d2b949429bb6cfe0eae0c7e93d356df0015ffb77ece478bb980ba56f82159f9613f151bc5beb31fc7722896a70f8dd0d9fd987b2da677a37815d7655eb1e24bfc7078622709561b160c5de4b93c03d1747c9a942578e169e9634f", 0x9b}, {&(0x7f0000003280)="52b8d828a3a4bc895ab80c8f9fc29da6b89f95b21cf2efd791756dcb5418761d97c9a34bfa4091058f646f33b060273418e415e6168a3fbd326df77a33b715df4e0bab4a50b04bc361ee160e207d364c915663264159395ad31864097212b9e807662defdf864a22aceb8492ff09c7097716f41ab8befe10d940caa26822ad91260b13c07cd102541cabe4d7b0e8ce", 0x8f}, {&(0x7f0000003e80)}, {&(0x7f0000003340)="1016b163af216135726f7bdb1551339b92686cb80ffa3d47d734a13b1d1e17", 0x1f}], 0x5, &(0x7f0000000240)=ANY=[@ANYRESHEX, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRESHEX=r2, @ANYRESDEC], 0x30, 0x1040}, {&(0x7f0000003440)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000003780)=[{&(0x7f0000000400)="9097faf54ee711e97021e369ce5c3c522bacb45dc307cdfc4da996c67609f0e28f9c41caaab4af8811e4aecbacc38e938f607205e3cf7924d624577506c72e4aa08cef107646408ec112fe2f3230fe1e0271faf05026aff049", 0x59}, {&(0x7f0000003ec0)="9650cba1e31db6e02c0ce93cecc11bea48dea9437f5716d030060a6744eabb5736fa3615f8fa76870ce0f1efbf897fc35233dde6f879adfbfa3a2bcced89157c30015484267cc07a042aa6954db6ffcd5a901d7c5407d222fe6b2a5aec1bd1497baf9414201591ba102930fee5c363a893b7bcce555e963b8bd27205fdfac520b35b238fde8ae3cb9850d994f2324ba595e0bf98cc8c9c2cebaff1995f74b447e280f34e9b7f", 0xa6}, {&(0x7f0000003600)="a2ab7678572f6f0b9766a684a1907bc5c2abfb2d3439fb7b364ca7d5fae59d27da5ebf3649aa4afd065387e81ad0de6df0a96f5e42df3865e2b1bce5cbca9eef10a1150cc3969b189330724e853fd2bf4dca17c4d4c1e91d03bde66c540ce473ef3fd788b5ad0f2db37198ee51be0619225c3b2ab6f13fc5666b45", 0x7b}, {&(0x7f00000036c0)="4fbba31d434f", 0x6}, {&(0x7f0000003700)="6fb70cdf1ee5bd77a35c8cabb37c6f134b1b8a42a3eb189f6f5082332083adcf2be8431a88fd30198488cc0442ceca3bb03a5696759af7697f2232e509e7c5d7554e0efd18737fd1d2d059c4f5b10306feff3e8807a1a7eea5a0c5119cd7a5ef4039", 0x62}], 0x5, &(0x7f0000000200)=ANY=[@ANYRESDEC, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32], 0x20, 0x24004001}, {&(0x7f0000003840)=@abs={0x0, 0x0, 0x4e20}, 0x6e, &(0x7f0000003c40)=[{&(0x7f00000038c0)="baac0249cce8c70102c9d4a151dc60ac831ba365db1bdae1af3ea52d59991a235dd714100bd4fced58e67d5f65b001f43eddb1802b667d3f9682eb1f08c863d37cfc9e3628c2c6dd", 0x48}, {&(0x7f0000003940)="3d60e0d7fdcdd31931040a697f90e3594a33e2001f7fadba03af5ff3c34213ff4cf7c4254ee65a1bb1883fd0b18c441b3574b89dc605df6844a9febf5785b56df5381b0e66b9336421e56c140b7f3c3a54c2f414e10aa206a2da17035488ab3117476a25e09c86bddda2cf5d59928eba3b3c764786b5ea0b04a333ee46c7a5a901cf45db6387cfd025348171f4eaaeede20c31832bb53a3f35d27b722eed697b2c84c0f1007726fa7b969f6d841a4fbc8a2d4d76023f525bab8c6ad7d0143782d0a509523746358365b04fcd718340df027850445aa58eea", 0xd8}, {&(0x7f0000003a40)="3497bd3e729b1585f1bc8fc7ec15d7722ef9fd34210c17b93cc27ef50487b185e07a6d6e2161e798e0693d4e40cb5dee0f7dab1f80bcbf43636c146b7a1f964bffc2c5d2e445b51ced70", 0x4a}, {&(0x7f0000003ac0)="ed1d553d723fcccd2d9a3950a6b166ee5450bb0769497d09c304bc605ac67f56fbc30580d8cf55e2b47899cf08bf553d5b3226310162d2a9c50348e7cc47e0c8", 0x40}, {&(0x7f0000003b00)="a92403dc5d21cdd35424450e3fbc00e6b3e607c119a6f79a8848c4df280bcb14aa42bc663bf735d1c4b00531780a608cb1c2bf73c77347fb15d427b9f100cf1f78bacb608170e1e71c4389d039504925a1e814aeb5cae8a28d08b681fcc837f961449e973875456d4630b1d284ddce49ff05216cf0d2908dc061151a593ebab04d3b3c25a1299ef4993a763cca36e2bf3930fcc708c25df31ae9459a986a62cd5fc22aab144ebb80b204c7156251d732ebfcd5919de021704558aaf11dfa4afcc93f58477dab0725fd834697777616e01b1af185c40b8e7a104e73857f20595b2587f92cd754f6e6bd80da74395aab22f8431be3552eac3cbf", 0xf9}, {&(0x7f0000003c00)="70efe372f6e28da6edde3abbe5aed126480cfdb8b900a9b8", 0x18}], 0x6, &(0x7f0000003cc0)=[@cred={{0x1c, 0x1, 0x2, {r4}}}], 0x20, 0x4044014}, {&(0x7f0000003d00)=@file={0x1, './bus\x00'}, 0x6e, &(0x7f0000003e40), 0x0, &(0x7f00000006c0)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32=r2, @ANYRESOCT=r5, @ANYRES32, @ANYBLOB="0000000014f9ffffffffff7f00000000000000710017a425de257702f800", @ANYRES32=r1, @ANYRESOCT=0x0, @ANYRES32=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="e00300001015c26d733afc27251df02688642f916551bae95127ddb950bbb28720ba0f9b42e04eb0a9e8c43cbb33613584"], 0x58, 0x4000800}, {&(0x7f00000040c0)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f00000046c0), 0x0, &(0x7f0000000f00)=ANY=[@ANYBLOB="1c042c8f8d42d584a58200000002", @ANYRESHEX=r4, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000002c000000000000000100000001000000", @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES64=r3, @ANYRES32, @ANYRES32=r2, @ANYRESHEX=r4, @ANYRESDEC, @ANYRES32=0x0, @ANYRES64=r4, @ANYRESOCT=r5, @ANYRES32=r3, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYBLOB="20000000180000000a00000001000000010000003bbc486dac4e67931a8be19ed2a48717025cc3ae006edd4eaf7b53e3eaa52996f15f97fd266a00448f417d4f276a6db56f8c764bd490ad9c4c44b490864e2081c9f9cbe1c2357e5fe8370df0152a74908d85e62bf09a4a517fee71aa96db9f61e9b9830cd38c13d90b8875c7", @ANYRES32, @ANYRESDEC=r3, @ANYBLOB="28000000000000000100000001000000", @ANYRESDEC=r4, @ANYRES32=r4, @ANYRES32, @ANYRES32, @ANYRESOCT, @ANYRES16=r1, @ANYBLOB="30000000000000000100000001000000", @ANYRES32=r2, @ANYRES32, @ANYRES32=r1, @ANYRES32=r2, @ANYRES32, @ANYRES32, @ANYRES32=r1, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES16, @ANYRESDEC, @ANYBLOB="0000000024000000000000000100000001000000", @ANYRESOCT=r0, @ANYRES32, @ANYRES16=r2, @ANYRES32, @ANYBLOB="808247bd22be9cc5e3c74a412ffea1762033f4b468c7c55f64869089ad6e0de94d845bb413f2423cf489386185819ebbaa2c0118887735b75b376299b1fc08d5a3a361a6dadbe02df8175e8455abd2c1d9ff04fc9f854f2966655a2486e3fd772af61d3371a492d08786ae3a715c0f60b7846e1278816b50bc820044adc0a5d25a6fc38e22c19fca58a4278f12883d634de7e5098aa76b2380743993ca1de077b60ec7519f4dc1bf290a5e71431f47300fe63aa9aa1ddec094b01a2e9652e898f48a564410ef559a51f4", @ANYBLOB='\x00\x00\x00\x00'], 0xfffffffffffffe48, 0x50}, {&(0x7f0000004940)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000005a40)=[{&(0x7f00000049c0)="ede81efdf03d2fa904d7cff7351fe8b2a89cb8a94b69ade2cd425e0384a5d5df5a2afc01b25eedc256dc7cc63c9a94c308c688b159ee1ad66de5bb9aa37626d8f57d4e3914750a79b5c45b8794de8ede3e2323", 0x53}, {&(0x7f0000004a40)="e63b86f8ebcc04b743d5fe914be15ea7ce821417368ed519ef5759a0c0dd313f299de4f8c1f434c6d5faa662535744e89684f6e39e2eac6a4b765780cee828f0773f167d704ab9266601d6558f639227708aeedecabfc801f360b7f9676559564497cb6e4e26f82ea4275333cd4aa92169aa7bd7fd2400580aec4f13cd11b3c3e46ec8f9ff663b11bc1c890bdf36b40a6db1093f2dd7bc1e11f39e27f15e540f32a959a5dc3c1a4f61a49711a35810778235fc6295b8670b7fb42ba3fe28dabe3eace5155003048bbbafb193b65de7e2cde18b1093a531805a56f15441a3b41e3ea75d24bb221005b03191977df77326f24b94ee481cc846ee9c2d7bb7099f9f401111b7d8b275593179f59a5aae91b9a67dd53a2ee70e7456bf7a42baed49a1675cd141f339f2c4d5605b899be3e97da530517964221a5208e06582739911574b9aba4ae53fddd63898a8b1cd3b1d2a27bf00c42e13bf38d20f64efd1dff711ee541b8af6f55af44914c634fec6e1ab893d21727ae37f68151ea79971f15ae731cdb000392349453dcaa08cd797ad1f46534345cb4bf320f72755ec77fd860fcee21770fe11ba17fa96213367ace655d34e37de586a408f17e5cdb4843e5beaeb0215ce9c5f9711d9af8f0b58094a4d3723d6201e80c867db7473db174ec7c16e663333b47e79964333e178319eb9c19d579ed53fbf44e7a9cacaf87d2dec60feee906bbfa18ed399db854c78a746cf4944e9e0af0dd15d0bd915ae43a5173f9c73c0333db28de454b0ea76446c4b3763be384d072fd48688dd27e43bf4d2045413160c140898412bfd5eb3bb880e1bd1005f15d1791d6bb476bccb78d5a00365adb7eb9132ca020dd1a0afd12f87c593036c5219cc0f4a4ca2b5861130050a486e35e367afaa5562bb80faf0b6daf06c27b04e2ee68e94bb944b6e75ff87245e5cd0b49084725921ce7de4500925f799bcc0e22fc713ad78b2908998c0032bed9ebc86045099e5b66a189aff2d60c49467d912f29db7a2fe29c35c1c0bcc2ebb001dd6875991848465805311cc58347377a6600a719d8b8ae25ad2d786adec6af7fc7a11590fa58b40dc6d508ea56e96fa50262426ac0d88c47f84745366847b2e5a39e4b4998d0cbc6dcc0c2a87e420278353d96e33e73a45042b1af98b89dec1e2f36f183584b81a75a4dbae1ac44fe8015f29dc4e87dd587915bd5b274f2de2b837c847d24ee5aa1116790a8e46803be7e6d3a0a721c188135b9c1ad1ee2265455f8c0b90e4aba72c506afbadab3b99e899068202b235c73df394010d258a2672958e0cbcc72d644518a99229afe45e21fec74fbc456985be4ec4471b144cb447b7d78abc5cc23ee68e4f7a6b8d680e11376a84b8ae045e048a8b59159191456713363ce3f46c9eb59af3c92b1382ff45e9227a7989acd952f75198db27168be8a572c5899821ac15c17fbddc813aa2d655e551e9278b59f560acac799171abc9ed85bb3886bc17d0d88dbfa09da8514e78b9ad1b75018098851ad3ecf54b535b38d15205761a1cbd36c9d3ba28e07c9621b3b4ffde4f8313f2d2c70f18b2e054c100b7afe86363a4f2bd032a719416c3674499a5de28fb5854bb91492bb9406f24996084fbd1acff58c8e85234ad5ab24c8f609219c2d28c67443cff02be52a5fca19fc32db0947bf97ca21dde25e93c430fab78713eea2fbeed4a958f5c9b4ab2319151ca1609348f7e4b0daf17b8066083e7d408ff77c4f8be5585b4fc9ef278e614d91b698458f440654981b9419496f9c5d19e89b70d2b997bee8a6f52b3d56d94d49a5829bea201768f75e4d76d186c8572014ab235ad8283e9c920f628daa57e36a091a3f3f48d0c700ef84bbebc8b3c5e36af8073ece45aee5b9ec528d5d14b32a0db82d3aa527308606df1b465aa6fdd8f5875ee94bd77bf2420ddf7a77bc35a8b1f2bf064817736a513030678e8adc437ade3e719452388a59fee50a71cde26b29b95c7657f437669523d944893cc47bf41d6d71951537130f68f4e2265c4e44a34377767155e004feac0b2ced9f027a18629a93854a3f24bc1de20048be2fa5d1b4f00a9c87c9016ca43821e52d9b313532964d1aa4f3a2f145c18926c14cc7fb02bc82ff46c00c14de438f8fbe9c60fe3a778ecf64e8ad4a82bd722a2b68cff02cfd0b7bdc22ad2e991517a252ad93e20167882ea1c8adb2a2b8f45a228e2353f31408528ee1052d7312e925e5e2d3afe962e7f4da29e02535f5ef4f86e31cad5651a67b60f6d705ae4ae4a504bd5de7a2d7925422d9a1feb5597272a3307ff3b6d376e5299f9f9c6f632dcf965eae5e4148b9d10fa08a751dcf08b332034814f7dbb75d9e6c130f7ee66095537532832331be1386b39c1bdad75669b984362dbff0da1ed0b7c52ad8cb102d764a333cd472a492f2477b32f3e81b38689d98a042b1c663c7f1486618446659d30c0235874a3bc3a11a74a5739681b7ed7d484bf52822cb9fc84e78ac7a9a7f3fe2d8e513c930d6bf46ebf13f3e1da98be1777a35fa0f48f142cb0bee46fe6ce1b27cbe9328dbe015351876d3443830c76f5ef4755a6f7cef7cba294308c122c7631e1ad0429ffdaada20cf0caaa15a6387a96bf578a6fe497245844e8f658bac90cbb82e290b3e3a49addc30eba1cde25e62d0738d07a9bd2a37ff7596e03ac9d3451b1711bbaf13c6219f0efd1d85b30057c88d70819aa810900f20f987bc89257e401c26aa0cfc7425ff61fc4385587d82faa06dd6d5541cca6b372131fd579289bd7ca94cb19ad309c30a4342dc531f0c25ebeabacc065ca8ab735b769614ac1876eeb456289c424b474b12c6244c4e25bb920d923ffb07bfa87eb82fbe8c596165b976bd3802b2d7b77d9e90e6cd74961c6c8a4a96b6c43597fc6c2bacabf5f9da14d98f598815fed8edfe8fac8c978431be9dc563b91691ccbf052955cbf8a4819ac2651470827dffeacc3f926f9f5e20c75331e6cdb6eeff128c2a6fe6d475d3e384381bd6f6bcc831b0b980f47c80f8a52994e760e76836e1489df47b863064480bbba9726adcdab869e102c8ed27483f2f643a8028e3a4b1f813037896a0412b75755bb49835d60510391e9fa5c2c491c2a20b03d389d44a56914832a66525c242b209bf061b8fc4a993e53dc7864090f39e76412a7f69363812d92af16d4d6ea5bbca7c90d1b66a8c1ea8a95cc10042a601e484af51ba2dbbb819a98ec158fd401128e387239a8fd511d942b287215693959dffc7dda0728dbc0730f0b16a9f111d3cde21f739800794843a44a63c9bdb3d474ad07c072d444862a89ecd1b7bea61668e2dcc155330bd06c31444a9a9bd9e04eccefb2a6a853b6f75488471ea0829e12da9a82e3d2025b6415e5ebbcdf2dd395ea1f2ab1f202d9b43712b24218119aa1c895e4b7b29795563ca8ab5bea7789b162c841fe3799cb875d6f7f78adf1d1f04b0f7f04f6342868b2202a5b9c263bede0a1c84556a9be5bf6b6df0fdacf0dc44a1bfbabfec2483a69586e8b2c9fc7f23e6f58116a4e46db882e2ad524c92a23c72b98e5653cdd5d982b9facde03063db0ca002aff248a7ce179ced26eca30e68aaaec3a6614110972c7971c6d4157545bdf26abbb1d2696bcc7003da93452060f98ae7f3c56a1f263d16ad5559dd239986dd7a94f6ada92042bb84f0e1f3d9999617c729e37894a0de5a5f190e1a6c7e4dd64acd72ff3960347a0e1066f590c7b47678b90b6bf8e40b64e0fc349ee0a56341a48a58dcd1ac3b3863854d4c654f4d8ae0999eccba22d7a2d9c1e6e4c2c0be460d40948f455e085c158823bbf91d942c6eec130bfc47c3f7cf5accb5dad5f3a00a8c79c3396b00f5e639f1ee3ab59ad24e451efb80524064032a828461b3acd8a1034de0a009e709cee46e736eda00b1adfaf7b7ad5aefcb11ccc68722cb20177b767957366c89c3e560334bf4fc10e2b512e910e85d90ec3eafc8f7a6e1e27ee92a47b973c6fc523bc488edd47b513db7045fa70030f20d00f76909964ad052c110169e8510937a8553111459b47b3d37f6a3af46f5f1430e3b02d68888fb404582e20d12137227579f3a370de391d8561fef5c41fbe755c0a1a5f4e5589564f90675129ce9a575f40209716d12ac9cc1ac2edd17264277c44ec2949745cb44a834e2017558ffe31ec4234d72f08cc3a94dfdab5259a2a1f5d32638a8b818be96e417828144cc35e1c784ade3848e11ed3ab2200487b9ccc3d9172b3cdca835e17e62aa3ef17d648594343ca0eb01e853ca8ca3446a84acc8766cf9999b5e20a51787a02d7452e745e0e9e59bd3b31066deb8ffe2586f3f7db7d3f21a0f08a5482faedec043bb91e9dba0953c5891ad3ed54ecb50194dd50505b0f811cb60d2446be8bd6f83139f6f5d9a0b3609045eb914ddec7807da8e48758374ff56647ded3a3f5b7d6e92ee79eade013f2337bef6a6c402943e8cf3fe2bb4bf7ccbe5fc9417f258b81e6beb2053e6d665dee38d58be608438ca0052cb4ddf3d0af3e02721c849d80d59d1d778b6329c2e2d6d927e9bad76a243a34f0c2cee8fcbb0c6d7812c4d370b86c3a0c26cd8c6f05d2e8167a25010769cb9bd321656655346c622ac361793cc4fc01d5211257c7a7a5798cf704b1cdd06a457266c88f6fd5f311f28f849c2015cc6aa24fc2256172dc7cd0cb82383f7e17c123202a6c4bb8f83cdace0a1e26af35e45696f960ea7a4d156ea571b3f2100a7bebc6c600258d93142a07cb5fed547231cb973792fd2128d0ecd4c1396084f5e356c25e4bcd666208fd5227c145901cbbffe7bb1887100391980d64b17a91e5ac18e42e284f321a210d93e5047c99080c8b87709892acdf99d00e3bf0289ba2b7ce2996d8d214631b49d6f5ce5a4cc4485a5ec6238f17631281dd56790ddfeace0027b9cbb15197da3156098bf8a247afade4663fc735d891ce770788f22e2ec84427861be1f95c21787ecb4ed0a1c02bdbf4b97c3880fd397dedb032eba1ec7945c14b5bcc235cf0fcda171b065ccf9c32b49b9fbe78a12ea5d2693ac1ba40ecc8d5b24db0e3fdc5eb1244aa4c8b4276de9b6b08a4949a160f85f00b67a14c0222e709ac2eb5feab2d54d015a309e653d52e09900fd6ac1850d2d200a6969e3eb83267d02cb2043222654fc310a5b369426561b70909976875e9e226e6cb8314967c26ddb8779a581392fa50b6b54a034ad2ee81edd94ced0f62809b061076595ce797f2b448ba04df8f9a11e85ad498aca7c94a38625a4fad96b5bc4fd7f5a8cfb3951518f55e42e525d20e4ff60dd16cad08cdbee5cd87459e9633cee0728692692f5d0b8595a1d34d9c9309d9ede1ce8394ec79d03132ad5f870fdb70a6ede0b9e7892c77826f55018a310789be6304a9ea0d3ea2fd83d9b6b182404191c05e009d975acbe51a4169a6d9f22df54d129561215282cc144010144b14182615974402c13c11f6c5da70fe2dd063a32124343fd054d42e8aa331069de60d4f59b99dbe796603e79fa7d56ff2157201418d7b57c943082fd5fea59d8e422867d68a6cd1ac6f01457236800708d61cb0d9ab8fdd1158058d09fd8546ed61c13135c910d3130f80ed77f5dac26ef0784242f094799413dd19a7d8a1c8fb96de3e2b5b0af397b09a6a57a2d557fa4d6c92f5908bcb1d261c86f7504ad74c9f34a226b69bd557ffd906db1b2ba212ccd7ecfe0d0302c10aeb1f66b00e3ec52eab90bb0a645b6601dceb7a09a22ee15ca0b9014ca6dc76a18f89044c", 0x1000}], 0x2, &(0x7f00000004c0)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x28, 0x4000000}], 0x8, 0x0) setresgid(0x0, 0x0, r6) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x2, @thr={&(0x7f0000000340)="34379f652f70887715ba7dd692fe4e46a93595d7e37ce853630e87fb1c8f4f48ce89447c38e6fe459fd9d8ef849823ae1c39d5ecead78adf4a7a914c13497deb6f97f0c922c9cf56dd9978d8492a50e927472443d7f779f29c35306a020dc8aa302dc46d07b77c00f228facab340274f7f60b3be1da782b036da7642d720e9969e861fa74005fd30a8d44c5e760b28721b526318d2425b797dd69691b9290f3972cb0af8256c82b03061f6e13df170", &(0x7f0000000840)="13df7d4646bb341244537ef49acd64f38cb5620e018a8355707cc542aa8557f5001ccc42036a81a2e88360db43ff8a85e64b2546f0ee3933b4bb3df69129f1e0cb972b46689673e5c68a203dfe7e710f3a329827430d4b5dcea5d689aa499e871ea08611718393f2fef1b915ac85f89c2c952e660eba677b9caa7b892a9608467bbdab2fc055d89979f0d3255bbd396ff063652dab79d67a47ad07bd31700c33bd772eadb17a0050d88c3b2d06768f843f1927221faf2ea991943b1e8a2814"}}, &(0x7f0000000040)=0x0) timer_settime(r7, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ioctl$EXT4_IOC_MIGRATE(0xffffffffffffffff, 0x6609) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) r8 = socket$inet6(0xa, 0x400000000001, 0x0) r9 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ftruncate(r9, 0x7) sendfile(r8, r9, 0x0, 0x80001d00c0d0) [ 494.517131] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.5'. 18:37:27 executing program 4: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_script(r0, &(0x7f00000005c0)=ANY=[], 0xfffffcaa) r1 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r1, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 494.839842] libceph: connect [d::]:6789 error -101 [ 494.845280] libceph: mon0 [d::]:6789 connect error [ 494.874029] ceph: No mds server is up or the cluster is laggy [ 494.889126] libceph: connect [d::]:6789 error -101 [ 494.932491] libceph: mon0 [d::]:6789 connect error [ 495.126531] libceph: connect [d::]:6789 error -101 [ 495.131752] libceph: mon0 [d::]:6789 connect error [ 495.148206] libceph: connect [d::]:6789 error -101 [ 495.165038] libceph: mon0 [d::]:6789 connect error [ 495.243254] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.5'. 18:37:28 executing program 5: getsockopt$inet_sctp_SCTP_AUTH_ACTIVE_KEY(0xffffffffffffffff, 0x84, 0x18, 0x0, &(0x7f0000000200)) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_open_dev$vbi(&(0x7f00000001c0)='/dev/vbi#\x00', 0x1, 0x2) r1 = memfd_create(&(0x7f0000000140)='\\vnet0?\'`/{,vi.et1eb0u_er\x00', 0x5) ftruncate(r1, 0x1000000) sendfile(r0, r1, &(0x7f00000000c0)=0xf18001, 0xeefffdef) r2 = open(&(0x7f0000000000)='./bus\x00', 0x149842, 0x0) write$FUSE_DIRENTPLUS(r2, &(0x7f00000002c0)=ANY=[@ANYBLOB="627fe2aa2afff034d5a84f83c193abbb7c2ef2c960951ffcc86de66daa21264c5c1bb509000000984b09a7df05561f0782ad7d434562598ec76d4de0266ebe8d96ee6571938287fba64e94f0bdb0919d929000000000b11c450a9d6df3422d48896cc253150242eb25a1f97b1d278791bd3af3aa9a90d32b6fe5843d7f3fcc50ffda3297deb49b9cbfc47d620c322b5a9561f3b0fd5a2e3f8db45c5c34dff5ad6a40d8c470ba469d38dfcc53b6529824398bf5b3ce"], 0x5) close(r0) r3 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r3, &(0x7f0000000080)={0xa, 0x4e20, 0x0, @ipv4={[], [], @loopback}}, 0x1c) sendfile(r3, 0xffffffffffffffff, 0x0, 0xac08) setsockopt$inet_sctp_SCTP_AUTH_DEACTIVATE_KEY(0xffffffffffffffff, 0x84, 0x23, &(0x7f0000000040)={0x0, 0xffaa}, 0x8) write$uinput_user_dev(0xffffffffffffffff, &(0x7f0000000400)={'syz1\x00'}, 0x45c) r4 = dup(0xffffffffffffffff) ioctl$UI_DEV_SETUP(r4, 0x5501, 0x0) ioctl$TUNSETIFINDEX(0xffffffffffffffff, 0x400454da, 0x0) r5 = signalfd(0xffffffffffffffff, &(0x7f00000000c0), 0x8) getsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r5, 0x84, 0x1f, &(0x7f00000004c0)={0x0, @in={{0x2, 0x0, @local}}}, &(0x7f0000000100)=0x90) [ 495.299955] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 495.328984] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 495.365158] loop5: p2 < > [ 495.394366] ceph: No mds server is up or the cluster is laggy 18:37:28 executing program 3: add_key$user(0x0, &(0x7f0000000440)={'syz'}, 0x0, 0x0, 0xfffffffffffffffd) keyctl$dh_compute(0x17, 0x0, 0x0, 0x0, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x30, 0x2, 0x0, 0x0, 0x5}, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8224, 0x0, @perf_config_ext={0x0, 0x101}, 0x0, 0x0, 0x80, 0x8}, r0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = syz_open_dev$audion(&(0x7f0000000080)='/dev/audio#\x00', 0x9, 0x20000) ioctl$sock_inet_SIOCSIFADDR(r1, 0x8916, &(0x7f0000000100)={'hsr0\x00', {0x2, 0x0, @remote}}) openat$audio1(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/audio1\x00', 0x42, 0x0) syz_80211_inject_frame(0x0, &(0x7f0000000140)=ANY=[@ANYBLOB="c400050004000000ffffc4dba0ef762e32829c"], 0xa) ioctl$TUNDETACHFILTER(0xffffffffffffffff, 0x401054d6, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000000040)='/dev/null\x00', 0x182, 0x0) syz_open_procfs(0x0, 0x0) r2 = openat$snapshot(0xffffffffffffff9c, &(0x7f00000003c0)='/dev/snapshot\x00', 0x20601, 0x0) r3 = getpid() sched_setscheduler(r3, 0x5, &(0x7f0000000000)) ioctl$FS_IOC_FSSETXATTR(0xffffffffffffffff, 0x401c5820, 0x0) close(r2) [ 495.944554] mac80211_hwsim: wmediumd released netlink socket, switching to perfect channel medium [ 496.070872] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 496.090424] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 496.096889] loop5: p2 < > 18:37:28 executing program 0: r0 = syz_mount_image$msdos(&(0x7f00000000c0)='msdos\x00', &(0x7f0000000100)='./file1\x00', 0xffffffffffff0000, 0x1, &(0x7f0000000140)=[{&(0x7f0000000000)="1400050900000a0e666174000404090a1000027400f801", 0x17}], 0x0, &(0x7f0000000180)={[{@fat=@check_relaxed='check=relaxed'}]}) r1 = openat$cgroup_ro(r0, &(0x7f00000001c0)='memory.events\x00', 0x80040, 0x0) ioctl$VIDIOC_ENUM_FRAMEINTERVALS(r1, 0xc034564b, &(0x7f0000000040)={0x1f, 0x47425247, 0x14, 0xc05, 0x2, @stepwise={{0x8000, 0x4}, {0x2, 0xfffffb0d}, {0x0, 0x443d}}}) 18:37:28 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8c}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x6, 0x45494b99f1668c5d, 0x0, 0x5}, 0x0) ioctl$FIDEDUPERANGE(0xffffffffffffffff, 0xc0189436, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) recvmmsg(r1, &(0x7f0000000640)=[{{0x0, 0x0, 0x0}, 0x3}, {{0x0, 0x0, 0x0}, 0x5}], 0x2, 0x100, 0x0) pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r3, 0x407, 0x0) write(r3, &(0x7f0000000340), 0x41395527) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, &(0x7f0000000080)={0x38, 0x1, 0x0, 0x0, 0x3, 0x100000000}, 0x0) sendmsg$NL80211_CMD_CRIT_PROTOCOL_START(0xffffffffffffffff, &(0x7f0000000440)={&(0x7f0000000300)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f00000003c0)={&(0x7f00000002c0)=ANY=[@ANYBLOB="3000b7cc705f41070000", @ANYRES16=0x0, @ANYBLOB="0a0828bd7000fcdbdf256200000008000300", @ANYRES32=0x0, @ANYBLOB="0c00990009000000060000000600b40081020000"], 0x30}, 0x1, 0x0, 0x0, 0x4000800}, 0x20044005) r4 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r4, 0x6, 0x80000000000002, &(0x7f00000000c0)=0x2000000000000074, 0x25d) bind$inet(r4, &(0x7f0000000280)={0x2, 0x4e23, @local}, 0x10) setsockopt$SO_ATTACH_FILTER(r4, 0x1, 0x1a, &(0x7f0000000480)={0x1, &(0x7f0000000400)=[{0x6, 0x0, 0x0, 0xe8}]}, 0x10) sendto$inet(r4, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r4, 0x1, 0x8, &(0x7f0000000600)=0xda6, 0x4) writev(r4, &(0x7f0000000780)=[{&(0x7f0000000100)="dff548771d77ce8786aca76dda6fb054ab8ea73799d7293eda90ba41a2db81fab55b5415692300a8e64bca2f60e1717f85f06a6bbca90f392b04f34940db7ffccc33ed6ea82296de9683c9e360cd1c477304bd8f9bd74d44a4c7d1c7e625a86cd54b72c5745f475a772b84977a6b05381dbe6259bc510f0f70c3e9946a78c7b5a19e97447799d930f9623b", 0x8b}, {&(0x7f00000001c0)="96431fb1cb119741590ad657dc5e5ce3e5fe9f1f639e6a18bc7b6c1d0b424eb306f34cf2429c62c0fdefbae36740a7169721af852826d7f14b6cae8af86507ff78a1dda991aea5952f43e7e0146a3c035f0113d617240e8940c60cdf3400193bbe3a0c0b1eae5799db27b4ee9c13475210defa4dac9d784e0c89135b82b321f8e43d7a5db9ab1bfd319f472a94", 0x8d}, {&(0x7f0000001340)="f15c93cb35c215fe339d1e9060c5b23e77cb58a87329a00288504db389cc6e395885fa906ac30eeae99fa388c31b5717e641e1586a90961b5f99b26c939d944f6cb1cf6817b7e51402a8459f9db642e97d3c05db56250a665d3ff188eb47e5b036d508aa5a5796fb8806b6a41487e0bfc3df087c18269bd7d2f477104c5d5db497ceaf3e1b11a5d63a2b7035dc69fa701f3b46fe701880800a7d38dccd4b3e8014aa15c96968359533ce2c5ffdd5f0d3297018bd7c025150940cdead92eb1e6bc6ba45eecf067b32425b6000b2f376ef9172426ae7fa97e5a84ef4dc540bbf5dd458ffcb75724135bd32fa04db6d6a75aedda7ab6e8501fc94e209dc3b2525ae24c954255d3247ca9c1b9525ce68179a52a87333aa2b0a8c1baa6ba6160c6d2018e67bac5402d0d89c5f798b8d1a87b0dc3306f546c61724530d9f4b6f0ee68677c7b261de5afa02d708a8ec979791de8f4831cc354ba453bc253e2435207f25494a594d4e5be39902358d362cb318ad965b7e7480a5ca5b6fe74e101c400c77392ee4419ad788f494230487811046f21f0f9665dfbaa9e94ed305a02e3fa47039e67dde19f89c8f1741aad752cdfe458ddf54e8fc10ff79b5", 0x1b9}], 0x3) sendto$inet(r4, &(0x7f00000012c0)="1a268a927f1f6588b967481241ba78600453f65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x11, 0x0, 0x27) 18:37:28 executing program 4: pipe(&(0x7f0000000040)) r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:28 executing program 5: pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000001540)={0xffffffffffffffff, 0xffffffffffffffff}) sendmsg$NFNL_MSG_CTHELPER_GET(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000140)=ANY=[@ANYBLOB="140000000109010339952ce94cac51464a1c4d00"], 0x14}}, 0x0) r4 = dup(r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) read$FUSE(0xffffffffffffffff, &(0x7f0000001340)={0x2020, 0x0, 0x0}, 0x2020) r6 = openat$zero(0xffffffffffffff9c, &(0x7f0000000480)='/dev/zero\x00', 0x40, 0x0) write$FUSE_INTERRUPT(r6, &(0x7f0000000100)={0xff73, 0x0, r5}, 0x10) getsockopt$IP_SET_OP_GET_BYINDEX(r6, 0x1, 0x53, &(0x7f0000000000)={0x7, 0x7, 0xffffffffffffffff}, &(0x7f0000000080)=0x28) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) splice(r0, 0x0, r2, 0x0, 0x47fe1, 0x0) 18:37:29 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:29 executing program 0: r0 = open(&(0x7f0000000000)='./bus\x00', 0x1031fe, 0x0) r1 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, r1, 0xffffffefffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000002000)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x2007fff) sendfile(r0, r0, 0x0, 0x8080fffffffe) r3 = fcntl$getown(r2, 0x9) ptrace$setsig(0x4203, r3, 0x0, &(0x7f0000000180)={0x2c, 0x7fff, 0x369f}) r4 = open(&(0x7f0000000140)='./bus\x00', 0x0, 0x0) r5 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r5, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r5, 0x0) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) sendto$inet6(r6, 0x0, 0x0, 0x20000004, &(0x7f0000000280)={0xa, 0x100000004e22, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_ULP(r6, 0x6, 0x1f, &(0x7f0000000080)='tls\x00', 0x152) setsockopt$inet6_tcp_TLS_TX(r6, 0x11a, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, '\x00', '\x00', "20040100"}, 0x28) sendfile(r6, r4, 0x0, 0x800100020001) 18:37:29 executing program 4: r0 = syz_open_dev$video(0x0, 0x5, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:29 executing program 4: r0 = syz_open_dev$video(0x0, 0x5, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:29 executing program 4: r0 = syz_open_dev$video(0x0, 0x5, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:29 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x0, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 496.660731] audit: type=1804 audit(1603046249.375:110): pid=3092 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="open_writers" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/103/bus" dev="sda1" ino=16755 res=1 [ 496.677274] TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. 18:37:29 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x0, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 497.160837] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 497.215367] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 497.276734] loop5: p2 < > [ 497.592476] audit: type=1804 audit(1603046250.316:111): pid=3092 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="ToMToU" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/103/bus" dev="sda1" ino=16755 res=1 [ 497.654903] audit: type=1804 audit(1603046250.316:112): pid=3092 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="open_writers" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/103/bus" dev="sda1" ino=16755 res=1 [ 497.682901] mac80211_hwsim: wmediumd released netlink socket, switching to perfect channel medium 18:37:30 executing program 3: r0 = open(&(0x7f0000000000)='./bus\x00', 0x1031fe, 0x0) r1 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, r1, 0xffffffefffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000002000)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x2007fff) sendfile(r0, r0, 0x0, 0x8080fffffffe) r3 = fcntl$getown(r2, 0x9) ptrace$setsig(0x4203, r3, 0x0, &(0x7f0000000180)={0x2c, 0x7fff, 0x369f}) r4 = open(&(0x7f0000000140)='./bus\x00', 0x0, 0x0) r5 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r5, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r5, 0x0) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) sendto$inet6(r6, 0x0, 0x0, 0x20000004, &(0x7f0000000280)={0xa, 0x100000004e22, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_ULP(r6, 0x6, 0x1f, &(0x7f0000000080)='tls\x00', 0x152) setsockopt$inet6_tcp_TLS_TX(r6, 0x11a, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, '\x00', '\x00', "20040100"}, 0x28) sendfile(r6, r4, 0x0, 0x800100020001) 18:37:30 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x0, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) 18:37:30 executing program 5: sendmsg(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0xfffffffffffffd90, &(0x7f0000000000)=[{0x0}], 0x1}, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000002c0)=ANY=[@ANYBLOB="4c0000001000050700"/20, @ANYRES32=0x0, @ANYBLOB="00010000000000002c0012000c000100626f6e64000000001c00020008000100040100000a001a"], 0x4c}}, 0x0) r0 = socket(0x10, 0x3, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x1a57b, 0x0, &(0x7f0000000100), 0x0, &(0x7f0000000100)}], 0x492492492492805, 0x0) setsockopt$inet_sctp6_SCTP_PEER_ADDR_THLDS(r0, 0x84, 0x1f, &(0x7f0000000080)={0x0, @in6={{0xa, 0x4e21, 0x80000001, @private0={0xfc, 0x0, [], 0xe5}}}, 0xcca5, 0x1}, 0x90) 18:37:30 executing program 2: sendmsg$TCPDIAG_GETSOCK(0xffffffffffffffff, 0x0, 0x0) r0 = perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_ENABLE(0xffffffffffffffff, 0x8912, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000140)='nl80211\x00') sendmsg$NL80211_CMD_TRIGGER_SCAN(0xffffffffffffffff, &(0x7f0000000900)={&(0x7f0000000080), 0xc, 0x0}, 0x2000014) r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f0000000380)) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200)='/dev/kvm\x00', 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000029000/0x18000)=nil, &(0x7f0000000240)=[@text32={0x20, &(0x7f00000000c0)="b9800000c00f3235010000000f309a090000006500660f3882af724d00002ed8ddc74424008fc4bd87c7442402c43a727fc7442406000000000f011424f30f090f013a360f06c4c18d72d68366baa100ed", 0x51}], 0x1, 0x0, 0x0, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r3, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r3, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$sock_SIOCSIFVLAN_SET_VLAN_EGRESS_PRIORITY_CMD(0xffffffffffffffff, 0x8983, &(0x7f0000000280)={0x3, 'ip6gre0\x00', {0x2}, 0x40}) ioctl$BTRFS_IOC_SCRUB_PROGRESS(0xffffffffffffffff, 0xc400941d, &(0x7f00000002c0)={0x0, 0x918, 0x5}) ioctl$BTRFS_IOC_SCRUB_PROGRESS(r0, 0xc400941d, &(0x7f00000003c0)={0x0, 0x8}) ioctl$KVM_SET_REGS(r4, 0x4090ae82, &(0x7f00000002c0)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc5e]}) ioctl$KVM_RUN(r4, 0xae80, 0x0) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x10, 0x0, 0x0, 0x0, 0x3, 0x0, 0x2, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ioctl$KVM_RUN(r4, 0xae80, 0x0) 18:37:30 executing program 0: r0 = open(&(0x7f0000000000)='./bus\x00', 0x1031fe, 0x0) r1 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, r1, 0xffffffefffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000002000)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x2007fff) sendfile(r0, r0, 0x0, 0x8080fffffffe) r3 = fcntl$getown(r2, 0x9) ptrace$setsig(0x4203, r3, 0x0, &(0x7f0000000180)={0x2c, 0x7fff, 0x369f}) r4 = open(&(0x7f0000000140)='./bus\x00', 0x0, 0x0) r5 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r5, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r5, 0x0) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) sendto$inet6(r6, 0x0, 0x0, 0x20000004, &(0x7f0000000280)={0xa, 0x100000004e22, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_ULP(r6, 0x6, 0x1f, &(0x7f0000000080)='tls\x00', 0x152) setsockopt$inet6_tcp_TLS_TX(r6, 0x11a, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, '\x00', '\x00', "20040100"}, 0x28) sendfile(r6, r4, 0x0, 0x800100020001) 18:37:30 executing program 4: syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(0xffffffffffffffff, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 497.773752] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.5'. [ 497.822697] (unnamed net_device) (uninitialized): Invalid MAC address. [ 497.845371] (unnamed net_device) (uninitialized): option ad_actor_system: invalid value (0) 18:37:30 executing program 4: syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(0xffffffffffffffff, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 497.939764] audit: type=1804 audit(1603046250.656:113): pid=3142 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="open_writers" comm="syz-executor.0" name="/root/syzkaller-testdir420023800/syzkaller.PgykDj/104/bus" dev="sda1" ino=16131 res=1 18:37:30 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f00000010c0)={0x13, 0x4, 0x801, 0x7, 0xc8, 0x1, 0x3, [], 0x0, 0xffffffffffffffff, 0x2, 0x0, 0x1}, 0x40) bpf$MAP_LOOKUP_ELEM(0x2, &(0x7f0000001180)={r0, &(0x7f0000000040), &(0x7f00000021c0)=""/4096}, 0x18) bpf$MAP_LOOKUP_ELEM(0x1, &(0x7f0000001080)={r0, &(0x7f0000000040), &(0x7f0000000080)=""/4096}, 0x20) r1 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmmsg(0xffffffffffffffff, &(0x7f00000092c0), 0x3fffffffffffefe, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f00000006c0)=[{{0x0, 0x0, 0x0}}], 0x1, 0xfc00, 0x0) sendto$l2tp6(0xffffffffffffffff, &(0x7f0000001300)="d004d852b93c1ce94730a3c8a2201554a58f9b6615d1ea27ddd42eeea211d7352793fd3c17572ff09e479b0ec178007c49f6f9c3a83caf74837c2abd4abbe907be0cf41758263ee4dfb805b1cff2bc8e79a568a79da888931f1d83bebd05d4b13e8b2e6b8e15b4d6415f7108d74d3c2b763a5c77c7610a4a0375472c3f5e044112e1be54abda82fad71a20ed2b0f0589bf", 0x91, 0x8804, &(0x7f00000013c0)={0xa, 0x0, 0x7, @private0, 0x6, 0x2}, 0x20) sendmsg$IPCTNL_MSG_CT_DELETE(r1, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000240)=ANY=[@ANYBLOB="1c000001020103000000000000000000000000000800084000000000"], 0x1c}}, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) r4 = socket$netlink(0x10, 0x3, 0x14) sendmsg$nl_route(r4, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000240)=@ipv6_delrule={0x24, 0x21, 0x505, 0x0, 0x0, {}, [@FIB_RULE_POLICY=@FRA_IP_PROTO={0x5, 0x16, 0x8}]}, 0x24}}, 0x0) r5 = socket$nl_generic(0x10, 0x3, 0x10) r6 = syz_genetlink_get_family_id$devlink(&(0x7f00000002c0)='devlink\x00') sendmsg$DEVLINK_CMD_PORT_SET(r5, &(0x7f0000000400)={0x0, 0x0, &(0x7f00000003c0)={&(0x7f0000001200)=ANY=[@ANYBLOB="442000007d7835a41a9e64d386ed0c8e564b00425f281fa59d24c7cc57943a08e259aad80922b902f0952ab8a527a4dbabffc5b5d3f3a1d855c11cf8b11490de0d0daa1a1a44e49226888a2feaa1bd12eea3d7cf4fa63e6568450fbc267879f4", @ANYRES16=r6, @ANYBLOB="01000000000000000000060000000e0001006e657464657673696d0000000f0002006e657464657673696d30000008000300000000000600040000000000"], 0x44}}, 0x0) r7 = creat(&(0x7f0000000080)='./bus\x00', 0x0) sendmsg$DEVLINK_CMD_PORT_GET(r7, &(0x7f0000000040)={&(0x7f0000001100)={0x10, 0x0, 0x0, 0x8}, 0xc, &(0x7f0000001140)={&(0x7f0000001400)=ANY=[@ANYBLOB="f8000000", @ANYBLOB="63c836fdc588de1f99937e482e1d32328b876eb841e5a8026a6c30fead76dad40000fb2ff039daf2944a78aa79fc0be491e63eb1352291b6ea60e3e53d69e0ad3edc102e10cefabf5947ca456c53ef53bf4d3e8580320665f65ba2cadb07ecfc0221231464b01e08bd9a5c1c34cc4612cee5a5eb9ca844b536826ae1b0a79d791324aeeebedb67677cfe3847ec6e7cb2aa61b8493a35ac0e24a0f0ce8bacd5668453dfbe888bb8f396dba0f02a7f3b27f88e9120200b1fee67a0c37fd5989ebabc529c671a85ea5c106987fa25fd0a3e00e4000000", @ANYRESDEC=r3], 0xf8}, 0x1, 0x0, 0x0, 0xe766798bb19ac0b2}, 0x4c040) getsockname$packet(r3, &(0x7f00000011c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r2, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000800)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, 0x0, 0x32b}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @geneve={{0xb, 0x1, 'geneve\x00'}, {0x4}}}, @IFLA_LINK={0x8, 0x5, r8}, @IFLA_MASTER={0x8, 0xa, r8}]}, 0x44}}, 0x0) [ 498.064327] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 498.072600] TCP: request_sock_TCPv6: Possible SYN flooding on port 20002. Sending cookies. Check SNMP counters. [ 498.145316] ldm_validate_privheads(): Cannot find PRIVHEAD 1. 18:37:30 executing program 4: syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(0xffffffffffffffff, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 498.186527] loop5: p2 < > 18:37:30 executing program 3: r0 = open(&(0x7f0000000000)='./bus\x00', 0x1031fe, 0x0) r1 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, r1, 0xffffffefffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000002000)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x2007fff) sendfile(r0, r0, 0x0, 0x8080fffffffe) r3 = fcntl$getown(r2, 0x9) ptrace$setsig(0x4203, r3, 0x0, &(0x7f0000000180)={0x2c, 0x7fff, 0x369f}) r4 = open(&(0x7f0000000140)='./bus\x00', 0x0, 0x0) r5 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r5, &(0x7f0000000040)={0xa, 0x4e22}, 0x1c) listen(r5, 0x0) r6 = socket$inet6_tcp(0xa, 0x1, 0x0) sendto$inet6(r6, 0x0, 0x0, 0x20000004, &(0x7f0000000280)={0xa, 0x100000004e22, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_ULP(r6, 0x6, 0x1f, &(0x7f0000000080)='tls\x00', 0x152) setsockopt$inet6_tcp_TLS_TX(r6, 0x11a, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, '\x00', '\x00', "20040100"}, 0x28) sendfile(r6, r4, 0x0, 0x800100020001) [ 498.208922] device geneve2 entered promiscuous mode [ 498.226340] audit: type=1804 audit(1603046250.736:114): pid=3144 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="open_writers" comm="syz-executor.3" name="/root/syzkaller-testdir034361942/syzkaller.Wrjxxw/146/bus" dev="sda1" ino=16978 res=1 18:37:31 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r0, 0x0, 0x0, 0x0) 18:37:31 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000000)=@newlink={0x3c, 0x10, 0x801, 0x0, 0x0, {}, [@IFLA_GROUP={0x8}, @IFLA_VFINFO_LIST={0x14, 0x16, 0x0, 0x1, [{0x10, 0x1, 0x0, 0x1, [@IFLA_VF_LINK_STATE={0xc}]}]}]}, 0x3c}}, 0x0) socket$inet(0x2, 0x2, 0x4) 18:37:31 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r0, 0x0, 0x0, 0x0) [ 498.471162] audit: type=1804 audit(1603046251.176:115): pid=3174 uid=0 auid=0 ses=4 subj=system_u:system_r:kernel_t:s0 op="invalid_pcr" cause="open_writers" comm="syz-executor.3" name="/root/syzkaller-testdir034361942/syzkaller.Wrjxxw/147/bus" dev="sda1" ino=16137 res=1 [ 498.540643] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. [ 498.563589] ldm_parse_privhead(): Cannot find PRIVHEAD structure. LDM database is corrupt. Aborting. [ 498.612779] ldm_validate_privheads(): Cannot find PRIVHEAD 1. [ 498.647730] loop5: p2 < > 18:37:31 executing program 4: r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r0, 0x0, 0x0, 0x0) [ 498.764544] A link change request failed with some changes committed already. Interface lo may have been left with an inconsistent configuration, please check. 18:37:31 executing program 4 (fault-call:1 fault-nth:0): r0 = syz_open_dev$video(&(0x7f0000000340)='/dev/video#\x00', 0x5, 0x0) pread64(r0, &(0x7f00000000c0)=""/97, 0x61, 0x0) [ 499.061373] FAULT_INJECTION: forcing a failure. [ 499.061373] name failslab, interval 1, probability 0, space 0, times 0 [ 499.155049] CPU: 0 PID: 3201 Comm: syz-executor.4 Not tainted 4.14.198-syzkaller #0 [ 499.163006] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 499.172390] Call Trace: [ 499.174988] dump_stack+0x1b2/0x283 [ 499.178634] should_fail.cold+0x10a/0x154 [ 499.182807] should_failslab+0xd6/0x130 [ 499.186793] kmem_cache_alloc_trace+0x29a/0x3d0 [ 499.191582] __vb2_init_fileio+0x17f/0xa90 [ 499.195839] __vb2_perform_fileio+0x993/0xda0 [ 499.200339] ? __vb2_init_fileio+0xa90/0xa90 [ 499.204751] ? lock_downgrade+0x740/0x740 [ 499.208925] vb2_fop_read+0x1ef/0x3d0 [ 499.212744] ? vb2_fop_write+0x3d0/0x3d0 [ 499.216924] v4l2_read+0x19a/0x200 [ 499.220478] __vfs_read+0xe4/0x620 [ 499.224025] ? v4l2_write+0x200/0x200 [ 499.227861] ? vfs_copy_file_range+0x9b0/0x9b0 [ 499.232454] ? avc_policy_seqno+0x5/0x10 [ 499.236753] ? selinux_file_permission+0x7e/0x530 [ 499.241642] ? security_file_permission+0x82/0x1e0 [ 499.246583] ? rw_verify_area+0xe1/0x2a0 [ 499.250659] vfs_read+0x139/0x340 [ 499.254299] SyS_pread64+0x116/0x140 [ 499.258025] ? SyS_write+0x210/0x210 [ 499.261754] ? SyS_clock_settime+0x1a0/0x1a0 [ 499.266179] ? do_syscall_64+0x4c/0x640 [ 499.270164] ? SyS_write+0x210/0x210 [ 499.273891] do_syscall_64+0x1d5/0x640 [ 499.277851] entry_SYSCALL_64_after_hwframe+0x46/0xbb [ 499.283059] RIP: 0033:0x45de59 [ 499.286266] RSP: 002b:00007f64fec66c78 EFLAGS: 00000246 ORIG_RAX: 0000000000000011 [ 499.293980] RAX: ffffffffffffffda RBX: 0000000000025d80 RCX: 000000000045de59 [ 499.301252] RDX: 0000000000000061 RSI: 00000000200000c0 RDI: 0000000000000003 [ 499.308526] RBP: 00007f64fec66ca0 R08: 0000000000000000 R09: 0000000000000000 [ 499.315840] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 499.323126] R13: 00007ffcdf3e087f R14: 00007f64fec679c0 R15: 000000000118bf2c [ 500.895425] ================================================================== [ 500.903233] BUG: KASAN: use-after-free in l2cap_sock_close_cb+0xa7/0xb0 [ 500.909995] Read of size 8 at addr ffff88804c3b91e0 by task kworker/0:1/24 [ 500.917005] [ 500.918643] CPU: 0 PID: 24 Comm: kworker/0:1 Not tainted 4.14.198-syzkaller #0 [ 500.926004] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 500.935389] Workqueue: events l2cap_chan_timeout [ 500.940153] Call Trace: [ 500.942751] dump_stack+0x1b2/0x283 [ 500.946401] print_address_description.cold+0x54/0x1d3 [ 500.951691] kasan_report_error.cold+0x8a/0x194 [ 500.956386] ? l2cap_sock_close_cb+0xa7/0xb0 [ 500.960810] __asan_report_load8_noabort+0x68/0x70 [ 500.965767] ? l2cap_sock_close_cb+0xa7/0xb0 [ 500.970186] l2cap_sock_close_cb+0xa7/0xb0 [ 500.974433] l2cap_chan_timeout+0x182/0x1e0 [ 500.978849] process_one_work+0x793/0x14a0 [ 500.983112] ? work_busy+0x320/0x320 [ 500.986842] ? worker_thread+0x158/0xff0 [ 500.990948] ? _raw_spin_unlock_irq+0x24/0x80 [ 500.995467] worker_thread+0x5cc/0xff0 [ 500.999372] ? rescuer_thread+0xc80/0xc80 [ 501.003531] kthread+0x30d/0x420 [ 501.006906] ? kthread_create_on_node+0xd0/0xd0 [ 501.011585] ret_from_fork+0x24/0x30 [ 501.015315] [ 501.016950] Allocated by task 1215: [ 501.020584] kasan_kmalloc+0xeb/0x160 [ 501.024396] __kmalloc+0x15a/0x400 [ 501.027945] sk_prot_alloc+0x1ba/0x290 [ 501.031845] sk_alloc+0x36/0xcd0 [ 501.035218] l2cap_sock_alloc.constprop.0+0x31/0x210 [ 501.040332] l2cap_sock_create+0xdd/0x170 [ 501.044557] bt_sock_create+0x13b/0x280 [ 501.048541] __sock_create+0x303/0x620 [ 501.052541] rfcomm_dlc_open+0x6ec/0xc00 [ 501.056617] rfcomm_sock_connect+0x2c6/0x3c0 [ 501.061033] SyS_connect+0x1f4/0x240 [ 501.064769] do_syscall_64+0x1d5/0x640 [ 501.068662] entry_SYSCALL_64_after_hwframe+0x46/0xbb [ 501.073848] [ 501.075485] Freed by task 3543: [ 501.078774] kasan_slab_free+0xc3/0x1a0 [ 501.082755] kfree+0xc9/0x250 [ 501.085866] __sk_destruct+0x577/0x6e0 [ 501.089759] __sk_free+0xd9/0x2d0 [ 501.093215] sk_free+0x2b/0x40 [ 501.096425] l2cap_sock_kill.part.0+0x5b/0x70 [ 501.100928] l2cap_sock_release+0x146/0x180 [ 501.105254] sock_release+0x87/0x1e0 [ 501.108973] rfcomm_session_del+0x14f/0x1e0 [ 501.113300] rfcomm_run+0x1127/0x3ca0 [ 501.117105] kthread+0x30d/0x420 [ 501.120532] ret_from_fork+0x24/0x30 [ 501.124250] [ 501.125876] The buggy address belongs to the object at ffff88804c3b9180 [ 501.125876] which belongs to the cache kmalloc-2048 of size 2048 [ 501.138705] The buggy address is located 96 bytes inside of [ 501.138705] 2048-byte region [ffff88804c3b9180, ffff88804c3b9980) [ 501.150621] The buggy address belongs to the page: [ 501.155614] page:ffffea000130ee00 count:1 mapcount:0 mapping:ffff88804c3b8080 index:0xffff88804c3b8900 compound_mapcount: 0 [ 501.167026] flags: 0xfffe0000008100(slab|head) [ 501.171611] raw: 00fffe0000008100 ffff88804c3b8080 ffff88804c3b8900 0000000100000002 [ 501.179497] raw: ffffea000222ee20 ffffea0002280220 ffff88812fe50c40 0000000000000000 [ 501.187376] page dumped because: kasan: bad access detected [ 501.193082] [ 501.194707] Memory state around the buggy address: [ 501.199637] ffff88804c3b9080: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 501.206998] ffff88804c3b9100: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc [ 501.214358] >ffff88804c3b9180: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 501.221715] ^ [ 501.228250] ffff88804c3b9200: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 501.235663] ffff88804c3b9280: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb [ 501.243047] ================================================================== [ 501.250433] Disabling lock debugging due to kernel taint [ 501.285939] Kernel panic - not syncing: panic_on_warn set ... [ 501.285939] [ 501.293343] CPU: 0 PID: 24 Comm: kworker/0:1 Tainted: G B 4.14.198-syzkaller #0 [ 501.301923] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 501.311286] Workqueue: events l2cap_chan_timeout [ 501.316040] Call Trace: [ 501.318644] dump_stack+0x1b2/0x283 [ 501.322374] panic+0x1f9/0x42d [ 501.325575] ? add_taint.cold+0x16/0x16 [ 501.329554] ? ___preempt_schedule+0x16/0x18 [ 501.333975] kasan_end_report+0x43/0x49 [ 501.337957] kasan_report_error.cold+0xa7/0x194 [ 501.342635] ? l2cap_sock_close_cb+0xa7/0xb0 [ 501.347049] __asan_report_load8_noabort+0x68/0x70 [ 501.351991] ? l2cap_sock_close_cb+0xa7/0xb0 [ 501.356579] l2cap_sock_close_cb+0xa7/0xb0 [ 501.360818] l2cap_chan_timeout+0x182/0x1e0 [ 501.365133] process_one_work+0x793/0x14a0 [ 501.369366] ? work_busy+0x320/0x320 [ 501.373067] ? worker_thread+0x158/0xff0 [ 501.377257] ? _raw_spin_unlock_irq+0x24/0x80 [ 501.381770] worker_thread+0x5cc/0xff0 [ 501.385676] ? rescuer_thread+0xc80/0xc80 [ 501.389889] kthread+0x30d/0x420 [ 501.393418] ? kthread_create_on_node+0xd0/0xd0 [ 501.398101] ret_from_fork+0x24/0x30 [ 501.403459] Kernel Offset: disabled [ 501.407193] Rebooting in 86400 seconds..