e5dbe5ebe5fbe60be61be62be63be64be65be66be67be68be69be6abe6bbe6cbe6dbe6ebe6fbe70be71be72be73be74be75be76be77be78be79be7abe7bbe7cbe7dbe7ebe7fbe80be81be82be83be84be85be86be87be88be89be8abe8bbe8cbe8dbe8ebe8fbe90be91be92be93be94be95be96be97be98be99be9abe9bbe9cbe9dbe9ebe9fbea0bea1bea2bea3bea4bea5bea6bea7bea8bea9beaabeabbeacbeadbeaebeafbeb0beb1beb2beb3beb4beb5beb6beb7beb8beb9bebabebbbebcbebdbebebebfbec0bec1bec2bec3bec4bec5bec6bec7bec8bec9becabecbbeccbecdbecebecfbed0bed1bed2bed3bed4bed5bed6bed7bed8bed9bedabedbbedcbeddbedebedfbee0bee1bee2bee3bee4bee5bee6bee7bee8bee9beeabeebbeecbeedbeeebeefbef0bef1bef2bef3bef4bef5bef6bef7bef8bef9befabefbbefcbefdbefebeffbe00bf01bf02bf03bf04bf05bf06bf07bf08bf09bf0abf0bbf0cbf0dbf0ebf0fbf10bf11bf12bf13bf14bf15bf16bf17bf18bf19bf1abf1bbf1cbf1dbf1ebf1fbf20bf21bf22bf23bf24bf25bf26bf27bf28bf29bf2abf2bbf2cbf2dbf2ebf2fbf30bf31bf32bf33bf34bf35bf36bf37bf38bf39bf3abf3bbf3cbf3dbf3ebf3fbf40bf41bf42bf43bf44bf45bf46bf47bf48bf49bf4abf4bbf4cbf4dbf4ebf4fbf50bf51bf52bf53bf54bf55bf56bf57bf58bf59bf5abf5bbf5cbf5dbf5ebf5fbf60bf61bf62bf63bf64bf65bf66bf67bf68bf69bf6abf6bbf6cbf6dbf6ebf6fbf70bf71bf72bf73bf74bf75bf76bf77bf78bf79bf7abf7bbf7cbf7dbf7ebf7fbf80bf81bf82bf83bf84bf85bf86bf87bf88bf89bf8abf8bbf8cbf8dbf8ebf8fbf90bf91bf92bf93bf94bf95bf96bf97bf98bf99bf9abf9bbf9cbf9dbf9ebf9fbfa0bfa1bfa2bfa3bfa4bfa5bfa6bfa7bfa8bfa9bfaabfabbfacbfadbfaebfafbfb0bfb1bfb2bfb3bfb4bfb5bfb6bfb7bfb8bfb9bfbabfbbbfbcbfbdbfbebfbfbfc0bfc1bfc2bfc3bfc4bfc5bfc6bfc7bfc8bfc9bfcabfcbbfccbfcdbfcebfcfbfd0bfd1bfd2bfd3bfd4bfd5bfd6bfd7bfd8bfd9bfdabfdbbfdcbfddbfdebfdfbfe0bfe1bfe2bfe3bfe4bfe5bfe6bfe7bfe8bfe9bfeabfebbfecbfedbfeebfefbff0bff1bff2bff3bff4bff5bff6bff7bff8bff9bffabffbbffcbffdbffebfffbf00c001c002c003c004c005c006c007c008c009c00ac00bc00cc00dc00ec00fc010c011c012c013c014c015c016c017c018c019c01ac01bc01cc01dc01ec01fc020c021c022c023c024c025c026c027c028c029c02ac02bc02cc02dc02ec02fc030c031c032c033c034c035c036c037c038c039c03ac03bc03cc03dc03ec03fc040c041c042c043c044c045c046c047c048c049c04ac04bc04cc04dc04ec04fc050c051c052c053c054c055c056c057c058c059c05ac05bc05cc05dc05ec05fc060c061c062c063c064c065c066c067c068c069c06ac06bc06cc06dc06ec06fc070c071c072c073c074c075c076c077c078c079c07ac07bc07cc07dc07ec07fc080c081c082c083c084c085c086c087c088c089c08ac08bc08cc08dc08ec08fc090c091c092c093c094c095c096c097c098c099c09ac09bc09cc09dc09ec09fc0a0c0a1c0a2c0a3c0a4c0a5c0a6c0a7c0a8c0a9c0aac0abc0acc0adc0aec0afc0b0c0b1c0b2c0b3c0b4c0b5c0b6c0b7c0b8c0b9c0bac0bbc0bcc0bdc0bec0bfc0c0c0c1c0c2c0c3c0c4c0c5c0c6c0c7c0c8c0c9c0cac0cbc0ccc0cdc0cec0cfc0d0c0d1c0d2c0d3c0d4c0d5c0d6c0d7c0d8c0d9c0dac0dbc0dcc0ddc0dec0dfc0e0c0e1c0e2c0e3c0e4c0e5c0e6c0e7c0e8c0e9c0eac0ebc0ecc0edc0eec0efc0f0c0f1c0f2c0f3c0f4c0f5c0f6c0f7c0f8c0f9c0fac0fbc0fcc0fdc0fec0ffc000c101c102c103c104c105c106c107c108c109c10ac10bc10cc10dc10ec10fc110c111c112c113c114c115c116c117c118c119c11ac11bc11cc11dc11ec11fc120c121c122c123c124c125c126c127c128c129c12ac12bc12cc12dc12ec12fc130c131c132c133c134c135c136c137c138c139c13ac13bc13cc13dc13ec13fc140c141c142c143c144c145c146c147c148c149c14ac14bc14cc14dc14ec14fc150c151c152c153c154c155c156c157c158c159c15ac15bc15cc15dc15ec15fc160c161c162c163c164c165c166c167c168c169c16ac16bc16cc16dc16ec16fc170c171c172c173c174c175c176c177c178c179c17ac17bc17cc17dc17ec17fc180c181c182c183c184c185c186c187c188c189c18ac18bc18cc18dc18ec18fc190c191c192c193c194c195c196c197c198c199c19ac19bc19cc19dc19ec19fc1a0c1a1c1a2c1a3c1a4c1a5c1a6c1a7c1a8c1a9c1aac1abc1acc1adc1aec1afc1b0c1b1c1b2c1b3c1b4c1b5c1b6c1b7c1b8c1b9c1bac1bbc1bcc1bdc1bec1bfc1c0c1c1c1c2c1c3c1c4c1c5c1c6c1c7c1c8c1c9c1cac1cbc1ccc1cdc1cec1cfc1d0c1d1c1d2c1d3c1d4c1d5c1d6c1d7c1d8c1d9c1dac1dbc1dcc1ddc1dec1dfc1e0c1e1c1e2c1e3c1e4c1e5c1e6c1e7c1e8c1e9c1eac1ebc1ecc1edc1eec1efc1f0c1f1c1f2c1f3c1f4c1f5c1f6c1f7c1f8c1f9c1fac1fbc1fcc1fdc1fec1ffc100c201c202c203c204c205c206c207c208c209c20ac20bc20cc20dc20ec20fc210c211c212c213c214c215c216c217c218c219c21ac21bc21cc21dc21ec21fc220c221c222c223c224c225c226c227c228c229c22ac22bc22cc22dc22ec22fc230c231c232c233c234c235c236c237c238c239c23ac23bc23cc23dc23ec23fc240c241c242c243c244c245c246c247c248c249c24ac24bc24cc24dc24ec24fc250c251c252c253c254c255c256c257c258c259c25ac25bc25cc25dc25ec25fc260c261c262c263c264c265c266c267c268c269c26ac26bc26cc26dc26ec26fc270c271c272c273c274c275c276c277c278c279c27ac27bc27cc27dc27ec27fc280c281c282c283c284c285c286c287c288c289c28ac28bc28cc28dc28ec28fc290c291c292c293c294c295c296c297c298c299c29ac29bc29cc29dc29ec29fc2a0c2a1c2a2c2a3c2a4c2a5c2a6c2a7c2a8c2a9c2aac2abc2acc2adc2aec2afc2b0c2b1c2b2c2b3c2b4c2b5c2b6c2b7c2b8c2b9c2bac2bbc2bcc2bdc2bec2bfc2c0c2c1c2c2c2c3c2c4c2c5c2c6c2c7c2c8c2c9c2cac2cbc2ccc2cdc2cec2cfc2d0c2d1c2d2c2d3c2d4c2d5c2d6c2d7c2d8c2d9c2dac2dbc2dcc2ddc2dec2dfc2e0c2e1c2e2c2e3c2e4c2e5c2e6c2e7c2e8c2e9c2eac2ebc2ecc2edc2eec2efc2f0c2f1c2f2c2f3c2f4c2f5c2f6c2f7c2f8c2f9c2fac2fbc2fcc2fdc2fec2ffc200c301c302c303c304c305c306c307c308c309c30ac30bc30cc30dc30ec30fc310c311c312c313c314c315c316c317c318c319c31ac31bc31cc31dc31ec31fc320c321c322c323c324c325c326c327c328c329c32ac32bc32cc32dc32ec32fc330c331c332c333c334c335c336c337c338c339c33ac33bc33cc33dc33ec33fc340c341c342c343c344c345c346c347c348c349c34ac34bc34cc34dc34ec34fc350c351c352c353c354c355c356c357c358c359c35ac35bc35cc35dc35ec35fc360c361c362c363c364c365c366c367c368c369c36ac36bc36cc36dc36ec36fc370c371c372c373c374c375c376c377c378c379c37ac37bc37cc37dc37ec37fc380c381c382c383c384c385c386c387c388c389c38ac38bc38cc38dc38ec38fc390c391c392c393c394c395c396c397c398c399c39ac39bc39cc39dc39ec39fc3a0c3a1c3a2c3a3c3a4c3a5c3a6c3a7c3a8c3a9c3aac3abc3acc3adc3aec3afc3b0c3b1c3b2c3b3c3b4c3b5c3b6c3b7c3b8c3b9c3bac3bbc3bcc3bdc3bec3bfc3c0c3c1c3c2c3c3c3c4c3c5c3c6c3c7c3c8c3c9c3cac3cbc3ccc3cdc3cec3cfc3d0c3d1c3d2c3d3c3d4c3d5c3d6c3d7c3d8c3d9c3dac3dbc3dcc3ddc3dec3dfc3e0c3e1c3e2c3e3c3e4c3e5c3e6c3e7c3e8c3e9c3eac3ebc3ecc3edc3eec3efc3f0c3f1c3f2c3f3c3f4c3f5c3f6c3f7c3f8c3f9c3fac3fbc3fcc3fdc3fec3ffc300c401c402c403c404c405c406c407c408c409c40ac40bc40cc40dc40ec40fc410c411c412c413c414c415c416c417c418c419c41ac41bc41cc41dc41ec41fc420c421c422c423c424c425c426c427c428c429c42ac42bc42cc42dc42ec42fc430c431c432c433c434c435c436c437c438c439c43ac43bc43cc43dc43ec43fc440c441c442c443c444c445c446c447c448c449c44ac44bc44cc44dc44ec44fc450c451c452c453c454c455c456c457c458c459c45ac45bc45cc45dc45ec45fc460c461c462c463c464c465c466c467c468c469c46ac46bc46cc46dc46ec46fc470c471c472c473c474c475c476c477c478c479c47ac47bc47cc47dc47ec47fc480c481c482c483c484c485c486c487c488c489c48ac48bc48cc48dc48ec48fc490c491c492c493c494c495c496c497c498c499c49ac49bc49cc49dc49ec49fc4a0c4a1c4a2c4a3c4a4c4a5c4a6c4a7c4a8c4a9c4aac4abc4acc4adc4aec4afc4b0c4b1c4b2c4b3c4b4c4b5c4b6c4b7c4b8c4b9c4bac4bbc4bcc4bdc4bec4bfc4c0c4c1c4c2c4c3c4c4c4c5c4c6c4c7c4c8c4c9c4cac4cbc4ccc4cdc4cec4cfc4d0c4d1c4d2c4d3c4d4c4d5c4d6c4d7c4d8c4d9c4dac4dbc4dcc4ddc4dec4dfc4e0c4e1c4e2c4e3c4e4c4e5c4e6c4e7c4e8c4e9c4eac4ebc4ecc4edc4eec4efc4f0c4f1c4f2c4f3c4f4c4f5c4f6c4f7c4f8c4f9c4fac4fbc4fcc4fdc4fec4ffc400c501c502c503c504c505c506c507c508c509c50ac50bc50cc50dc50ec50fc510c511c512c513c514c515c516c517c518c519c51ac51bc51cc51dc51ec51fc520c521c522c523c524c525c526c527c528c529c52ac52bc52cc52dc52ec52fc530c531c532c533c534c535c536c537c538c539c53ac53bc53cc53dc53ec53fc540c541c542c543c544c545c546c547c548c549c54ac54bc54cc54dc54ec54fc550c551c552c553c554c555c556c557c558c559c55ac55bc55cc55dc55ec55fc560c561c562c563c564c565c566c567c568c569c56ac56bc56cc56dc56ec56fc570c571c572c573c574c575c576c577c578c579c57ac57bc57cc57dc57ec57fc580c581c582c583c584c585c586c587c588c589c58ac58bc58cc58dc58ec58fc590c591c592c593c594c595c596c597c598c599c59ac59bc59cc59dc59ec59fc5a0c5a1c5a2c5a3c5a4c5a5c5a6c5a7c5a8c5a9c5aac5abc5acc5adc5aec5afc5b0c5b1c5b2c5b3c5b4c5b5c5b6c5b7c5b8c5b9c5bac5bbc5bcc5bdc5bec5bfc5c0c5c1c5c2c5c3c5c4c5c5c5c6c5c7c5c8c5c9c5cac5cbc5ccc5cdc5cec5cfc5d0c5d1c5d2c5d3c5d4c5d5c5d6c5d7c5d8c5d9c5dac5dbc5dcc5ddc5dec5dfc5e0c5e1c5e2c5e3c5e4c5e5c5e6c5e7c5e8c5e9c5eac5ebc5ecc5edc5eec5efc5f0c5f1c5f2c5f3c5f4c5f5c5f6c5f7c5f8c5f9c5fac5fbc5fcc5fdc5fec5ffc500c601c602c603c604c605c606c607c608c609c60ac60bc60cc60dc60ec60fc610c611c612c613c614c615c616c617c618c619c61ac61bc61cc61dc61ec61fc620c621c622c623c624c625c626c627c628c629c62ac62bc62cc62dc62ec62fc630c631c632c633c634c635c636c637c638c639c63ac63bc63cc63dc63ec63fc640c641c642c643c644c645c646c647c648c649c64ac64bc64cc64dc64ec64fc650c651c652c653c654c655c656c657c658c659c65ac65bc65cc65dc65ec65fc660c661c662c663c664c665c666c667c668c669c66ac66bc66cc66dc66ec66fc670c671c672c673c674c675c676c677c678c679c67ac67bc67cc67dc67ec67fc680c681c682c683c684c685c686c687c688c689c68ac68bc68cc68dc68ec68fc690c691c692c693c694c695c696c697c698c699c69ac69bc69cc69dc69ec69fc6a0c6a1c6a2c6a3c6a4c6a5c6a6c6a7c6a8c6a9c6aac6abc6acc6adc6aec6afc6b0c6b1c6b2c6b3c6b4c6b5c6b6c6b7c6b8c6b9c6bac6bbc6bcc6bdc6bec6bfc6c0c6c1c6c2c6c3c6c4c6c5c6c6c6c7c6c8c6c9c6cac6cbc6ccc6cdc6cec6cfc6d0c6d1c6d2c6d3c6d4c6d5c6d6c6d7c6d8c6d9c6dac6dbc6dcc6ddc6dec6dfc6e0c6e1c6e2c6e3c6e4c6e5c6e6c6e7c6e8c6e9c6eac6ebc6ecc6edc6eec6efc6f0c6f1c6f2c6f3c6f4c6f5c6f6c6f7c6f8c6f9c6fac6fbc6fcc6fdc6fec6ffc600c701c702c703c704c705c706c707c708c709c70ac70bc70cc70dc70ec70fc710c711c712c713c714c715c716c717c718c719c71ac71bc71cc71dc71ec71fc720c721c722c723c724c725c726c727c728c729c72ac72bc72cc72dc72ec72fc730c731c732c733c734c735c736c737c738c739c73ac73bc73cc73dc73ec73fc740c741c742c743c744c745c746c747c748c749c74ac74bc74cc74dc74ec74fc750c751c752c753c754c755c756c757c758c759c75ac75bc75cc75dc75ec75fc760c761c762c763c764c765c766c767c768c769c76ac76bc76cc76dc76ec76fc770c771c772c773c774c775c776c777c778c779c77ac77bc77cc77dc77ec77fc780c781c782c783c784c785c786c787c788c789c78ac78bc78cc78dc78ec78fc790c791c792c793c794c795c796c797c798c799c79ac79bc79cc79dc79ec79fc7a0c7a1c7a2c7a3c7a4c7a5c7a6c7a7c7a8c7a9c7aac7abc7acc7adc7aec7afc7b0c7b1c7b2c7b3c7b4c7b5c7b6c7b7c7b8c7b9c7bac7bbc7bcc7bdc7bec7bfc7c0c7c1c7c2c7c3c7c4c7c5c7c6c7c7c7c8c7c9c7cac7cbc7ccc7cdc7cec7cfc7d0c7d1c7d2c7d3c7d4c7d5c7d6c7d7c7d8c7d9c7dac7dbc7dcc7ddc7dec7dfc7e0c7e1c7e2c7e3c7e4c7e5c7e6c7e7c7e8c7e9c7eac7ebc7ecc7edc7eec7efc7f0c7f1c7f2c7f3c7f4c7f5c7f6c7f7c7f8c7f9c7fac7fbc7fcc7fdc7fec7ffc700c801c802c803c804c805c806c807c808c809c80ac80bc80cc80dc80ec80fc810c811c812c813c814c815c816c817c818c819c81ac81bc81cc81dc81ec81fc820c821c822c823c824c825c826c827c828c829c82ac82bc82cc82dc82ec82fc830c831c832c833c834c835c836c837c838c839c83ac83bc83cc83dc83ec83fc840c841c842c843c844c845c846c847c848c849c84ac84bc84cc84dc84ec84fc850c851c852c853c854c855c856c857c858c859c85ac85bc85cc85dc85ec85fc860c861c862c863c864c865c866c867c868c869c86ac86bc86cc86dc86ec86fc870c871c872c873c874c875c876c877c878c879c87ac87bc87cc87dc87ec87fc880c881c882c883c884c885c886c887c888c889c88ac88bc88cc88dc88ec88fc890c891c892c893c894c895c896c897c898c899c89ac89bc89cc89dc89ec89fc8a0c8a1c8a2c8a3c8a4c8a5c8a6c8a7c8a8c8a9c8aac8abc8acc8adc8aec8afc8b0c8b1c8b2c8b3c8b4c8b5c8b6c8b7c8b8c8b9c8bac8bbc8bcc8bdc8bec8bfc8c0c8c1c8c2c8c3c8c4c8c5c8c6c8c7c8c8c8c9c8cac8cbc8ccc8cdc8cec8cfc8d0c8d1c8d2c8d3c8d4c8d5c8d6c8d7c8d8c8d9c8dac8dbc8dcc8ddc8dec8dfc8e0c8e1c8e2c8e3c8e4c8e5c8e6c8e7c8e8c8e9c8eac8ebc8ecc8edc8eec8efc8f0c8f1c8f2c8f3c8f4c8f5c8f6c8f7c8f8c8f9c8fac8fbc8fcc8fdc8fec8ffc800c901c902c903c904c905c906c907c908c909c90ac90bc90cc90dc90ec90fc910c911c912c913c914c915c916c917c918c919c91ac91bc91cc91dc91ec91fc920c921c922c923c924c925c926c927c928c929c92ac92bc92cc92dc92ec92fc930c931c932c933c934c935c936c937c938c939c93ac93bc93cc93dc93ec93fc940c941c942c943c944c945c946c947c948c949c94ac94bc94cc94dc94ec94fc950c951c952c953c954c955c956c957c958c959c95ac95bc95cc95dc95ec95fc960c961c962c963c964c965c966c967c968c969c96ac96bc96cc96dc96ec96fc970c971c972c973c974c975c976c977c978c979c97ac97bc97cc97dc97ec97fc980c981c982c983c984c985c986c987c988c989c98ac98bc98cc98dc98ec98fc990c991c992c993c994c995c996c997c998c999c99ac99bc99cc99dc99ec99fc9a0c9a1c9a2c9a3c9a4c9a5c9a6c9a7c9a8c9a9c9aac9abc9acc9adc9aec9afc9b0c9b1c9b2c9b3c9b4c9b5c9b6c9b7c9b8c9b9c9bac9bbc9bcc9bdc9bec9bfc9c0c9c1c9c2c9c3c9c4c9c5c9c6c9c7c9c8c9c9c9cac9cbc9ccc9cdc9cec9cfc9d0c9d1c9d2c9d3c9d4c9d5c9d6c9d7c9d8c9d9c9dac9dbc9dcc9ddc9dec9dfc9e0c9e1c9e2c9e3c9e4c9e5c9e6c9e7c9e8c9e9c9eac9ebc9ecc9edc9eec9efc9f0c9f1c9f2c9f3c9f4c9f5c9f6c9f7c9f8c9f9c9fac9fbc9fcc9fdc9fec9ffc900ca01ca02ca03ca04ca05ca06ca07ca08ca09ca0aca0bca0cca0dca0eca0fca10ca11ca12ca13ca14ca15ca16ca17ca18ca19ca1aca1bca1cca1dca1eca1fca20ca21ca22ca23ca24ca25ca26ca27ca28ca29ca2aca2bca2cca2dca2eca2fca30ca31ca32ca33ca34ca35ca36ca37ca38ca39ca3aca3bca3cca3dca3eca3fca40ca41ca42ca43ca44ca45ca46ca47ca48ca49ca4aca4bca4cca4dca4eca4fca50ca51ca52ca53ca54ca55ca56ca57ca58ca59ca5aca5bca5cca5dca5eca5fca60ca61ca62ca63ca64ca65ca66ca67ca68ca69ca6aca6bca6cca6dca6eca6fca70ca71ca72ca73ca74ca75ca76ca77ca78ca79ca7aca7bca7cca7dca7eca7fca80ca81ca82ca83ca84ca85ca86ca87ca88ca89ca8aca8bca8cca8dca8eca8fca90ca91ca92ca93ca94ca95ca96ca97ca98ca99ca9aca9bca9cca9dca9eca9fcaa0caa1caa2caa3caa4caa5caa6caa7caa8caa9caaacaabcaaccaadcaaecaafcab0cab1cab2cab3cab4cab5cab6cab7cab8cab9cabacabbcabccabdcabecabfcac0cac1cac2cac3cac4cac5cac6cac7cac8cac9cacacacbcacccacdcacecacfcad0cad1cad2cad3cad4cad5cad6cad7cad8cad9cadacadbcadccaddcadecadfcae0cae1cae2cae3cae4cae5cae6cae7cae8cae9caeacaebcaeccaedcaeecaefcaf0caf1caf2caf3caf4caf5caf6caf7caf8caf9cafacafbcafccafdcafecaffca00cb01cb02cb03cb04cb05cb06cb07cb08cb09cb0acb0bcb0ccb0dcb0ecb0fcb10cb11cb12cb13cb14cb15cb16cb17cb18cb19cb1acb1bcb1ccb1dcb1ecb1fcb20cb21cb22cb23cb24cb25cb26cb27cb28cb29cb2acb2bcb2ccb2dcb2ecb2fcb30cb31cb32cb33cb34cb35cb36cb37cb38cb39cb3acb3bcb3ccb3dcb3ecb3fcb40cb41cb42cb43cb44cb45cb46cb47cb48cb49cb4acb4bcb4ccb4dcb4ecb4fcb50cb51cb52cb53cb54cb55cb56cb57cb58cb59cb5acb5bcb5ccb5dcb5ecb5fcb60cb61cb62cb63cb64cb65cb66cb67cb68cb69cb6acb6bcb6ccb6dcb6ecb6fcb70cb71cb72cb73cb74cb75cb76cb77cb78cb79cb7acb7bcb7ccb7dcb7ecb7fcb80cb81cb82cb83cb84cb85cb86cb87cb88cb89cb8acb8bcb8ccb8dcb8ecb8fcb90cb91cb92cb93cb94cb95cb96cb97cb98cb99cb9acb9bcb9ccb9dcb9ecb9fcba0cba1cba2cba3cba4cba5cba6cba7cba8cba9cbaacbabcbaccbadcbaecbafcbb0cbb1cbb2cbb3cbb4cbb5cbb6cbb7cbb8cbb9cbbacbbbcbbccbbdcbbecbbfcbc0cbc1cbc2cbc3cbc4cbc5cbc6cbc7cbc8cbc9cbcacbcbcbcccbcdcbcecbcfcbd0cbd1cbd2cbd3cbd4cbd5cbd6cbd7cbd8cbd9cbdacbdbcbdccbddcbdecbdfcbe0cbe1cbe2cbe3cbe4cbe5cbe6cbe7cbe8cbe9cbeacbebcbeccbedcbeecbefcbf0cbf1cbf2cbf3cbf4cbf5cbf6cbf7cbf8cbf9cbfacbfbcbfccbfdcbfecbffcb00cc01cc02cc03cc04cc05cc06cc07cc08cc09cc0acc0bcc0ccc0dcc0ecc0fcc10cc11cc12cc13cc14cc15cc16cc17cc18cc19cc1acc1bcc1ccc1dcc1ecc1fcc20cc21cc22cc23cc24cc25cc26cc27cc28cc29cc2acc2bcc2ccc2dcc2ecc2fcc30cc31cc32cc33cc34cc35cc36cc37cc38cc39cc3acc3bcc3ccc3dcc3ecc3fcc40cc41cc42cc43cc44cc45cc46cc47cc48cc49cc4acc4bcc4ccc4dcc4ecc4fcc50cc51cc52cc53cc54cc55cc56cc57cc58cc59cc5acc5bcc5ccc5dcc5ecc5fcc60cc61cc62cc63cc64cc65cc66cc67cc68cc69cc6acc6bcc6ccc6dcc6ecc6fcc70cc71cc72cc73cc74cc75cc76cc77cc78cc79cc7acc7bcc7ccc7dcc7ecc7fcc80cc81cc82cc83cc84cc85cc86cc87cc88cc89cc8acc8bcc8ccc8dcc8ecc8fcc90cc91cc92cc93cc94cc95cc96cc97cc98cc99cc9acc9bcc9ccc9dcc9ecc9fcca0cca1cca2cca3cca4cca5cca6cca7cca8cca9ccaaccabccacccadccaeccafccb0ccb1ccb2ccb3ccb4ccb5ccb6ccb7ccb8ccb9ccbaccbbccbcccbdccbeccbfccc0ccc1ccc2ccc3ccc4ccc5ccc6ccc7ccc8ccc9cccacccbcccccccdcccecccfccd0ccd1ccd2ccd3ccd4ccd5ccd6ccd7ccd8ccd9ccdaccdbccdcccddccdeccdfcce0cce1cce2cce3cce4cce5cce6cce7cce8cce9cceaccebccecccedcceeccefccf0ccf1ccf2ccf3ccf4ccf5ccf6ccf7ccf8ccf9ccfaccfbccfcccfdccfeccffcc00cd01cd02cd03cd04cd05cd06cd07cd08cd09cd0acd0bcd0ccd0dcd0ecd0fcd10cd11cd12cd13cd14cd15cd16cd17cd18cd19cd1acd1bcd1ccd1dcd1ecd1fcd20cd21cd22cd23cd24cd25cd26cd27cd28cd29cd2acd2bcd2ccd2dcd2ecd2fcd30cd31cd32cd33cd34cd35cd36cd37cd38cd39cd3acd3bcd3ccd3dcd3ecd3fcd40cd41cd42cd43cd44cd45cd46cd47cd48cd49cd4acd4bcd4ccd4dcd4ecd4fcd50cd51cd52cd53cd54cd55cd56cd57cd58cd59cd5acd5bcd5ccd5dcd5ecd5fcd60cd61cd62cd63cd64cd65cd66cd67cd68cd69cd6acd6bcd6ccd6dcd6ecd6fcd70cd71cd72cd73cd74cd75cd76cd77cd78cd79cd7acd7bcd7ccd7dcd7ecd7fcd80cd81cd82cd83cd84cd85cd86cd87cd88cd89cd8acd8bcd8ccd8dcd8ecd8fcd90cd91cd92cd93cd94cd95cd96cd97cd98cd99cd9acd9bcd9ccd9dcd9ecd9fcda0cda1cda2cda3cda4cda5cda6cda7cda8cda9cdaacdabcdaccdadcdaecdafcdb0cdb1cdb2cdb3cdb4cdb5cdb6cdb7cdb8cdb9cdbacdbbcdbccdbdcdbecdbfcdc0cdc1cdc2cdc3cdc4cdc5cdc6cdc7cdc8cdc9cdcacdcbcdcccdcdcdcecdcfcdd0cdd1cdd2cdd3cdd4cdd5cdd6cdd7cdd8cdd9cddacddbcddccdddcddecddfcde0cde1cde2cde3cde4cde5cde6cde7cde8cde9cdeacdebcdeccdedcdeecdefcdf0cdf1cdf2cdf3cdf4cdf5cdf6cdf7cdf8cdf9cdfacdfbcdfccdfdcdfecdffcd00ce01ce02ce03ce04ce05ce06ce07ce08ce09ce0ace0bce0cce0dce0ece0fce10ce11ce12ce13ce14ce15ce16ce17ce18ce19ce1ace1bce1cce1dce1ece1fce20ce21ce22ce23ce24ce25ce26ce27ce28ce29ce2ace2bce2cce2dce2ece2fce30ce31ce32ce33ce34ce35ce36ce37ce38ce39ce3ace3bce3cce3dce3ece3fce40ce41ce42ce43ce44ce45ce46ce47ce48ce49ce4ace4bce4cce4dce4ece4fce50ce51ce52ce53ce54ce55ce56ce57ce58ce59ce5ace5bce5cce5dce5ece5fce60ce61ce62ce63ce64ce65ce66ce67ce68ce69ce6ace6bce6cce6dce6ece6fce70ce71ce72ce73ce74ce75ce76ce77ce78ce79ce7ace7bce7cce7dce7ece7fce80ce81ce82ce83ce84ce85ce86ce87ce88ce89ce8ace8bce8cce8dce8ece8fce90ce91ce92ce93ce94ce95ce96ce97ce98ce99ce9ace9bce9cce9dce9ece9fcea0cea1cea2cea3cea4cea5cea6cea7cea8cea9ceaaceabceacceadceaeceafceb0ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebbcebccebdcebecebfcec0cec1cec2cec3cec4cec5cec6cec7cec8cec9cecacecbcecccecdcecececfced0ced1ced2ced3ced4ced5ced6ced7ced8ced9cedacedbcedcceddcedecedfcee0cee1cee2cee3cee4cee5cee6cee7cee8cee9ceeaceebceecceedceeeceefcef0cef1cef2cef3cef4cef5cef6cef7cef8cef9cefacefbcefccefdcefeceffce00cf01cf02cf03cf04cf05cf06cf07cf08cf09cf0acf0bcf0ccf0dcf0ecf0fcf10cf11cf12cf13cf14cf15cf16cf17cf18cf19cf1acf1bcf1ccf1dcf1ecf1fcf20cf21cf22cf23cf24cf25cf26cf27cf28cf29cf2acf2bcf2ccf2dcf2ecf2fcf30cf31cf32cf33cf34cf35cf36cf37cf38cf39cf3acf3bcf3ccf3dcf3ecf3fcf40cf41cf42cf43cf44cf45cf46cf47cf48cf49cf4acf4bcf4ccf4dcf4ecf4fcf50cf51cf52cf53cf54cf55cf56cf57cf58cf59cf5acf5bcf5ccf5dcf5ecf5fcf60cf61cf62cf63cf64cf65cf66cf67cf68cf69cf6acf6bcf6ccf6dcf6ecf6fcf70cf71cf72cf73cf74cf75cf76cf77cf78cf79cf7acf7bcf7ccf7dcf7ecf7fcf80cf81cf82cf83cf84cf85cf86cf87cf88cf89cf8acf8bcf8ccf8dcf8ecf8fcf90cf91cf92cf93cf94cf95cf96cf97cf98cf99cf9acf9bcf9ccf9dcf9ecf9fcfa0cfa1cfa2cfa3cfa4cfa5cfa6cfa7cfa8cfa9cfaacfabcfaccfadcfaecfafcfb0cfb1cfb2cfb3cfb4cfb5cfb6cfb7cfb8cfb9cfbacfbbcfbccfbdcfbecfbfcfc0cfc1cfc2cfc3cfc4cfc5cfc6cfc7cfc8cfc9cfcacfcbcfcccfcdcfcecfcfcfd0cfd1cfd2cfd3cfd4cfd5cfd6cfd7cfd8cfd9cfdacfdbcfdccfddcfdecfdfcfe0cfe1cfe2cfe3cfe4cfe5cfe6cfe7cfe8cfe9cfeacfebcfeccfedcfeecfefcff0cff1cff2cff3cff4cff5cff6cff7cff8cff9cffacffbcffccffdcffecfffcf00d001d002d003d004d005d006d007d008d009d00ad00bd00cd00dd00ed00fd010d011d012d013d014d015d016d017d018d019d01ad01bd01cd01dd01ed01fd020d021d022d023d024d025d026d027d028d029d02ad02bd02cd02dd02ed02fd030d031d032d033d034d035d036d037d038d039d03ad03bd03cd03dd03ed03fd040d041d042d043d044d045d046d047d048d049d04ad04bd04cd04dd04ed04fd050d051d052d053d054d055d056d057d058d059d05ad05bd05cd05dd05ed05fd060d061d062d063d064d065d066d067d068d069d06ad06bd06cd06dd06ed06fd070d071d072d073d074d075d076d077d078d079d07ad07bd07cd07dd07ed07fd080d081d082d083d084d085d086d087d088d089d08ad08bd08cd08dd08ed08fd090d091d092d093d094d095d096d097d098d099d09ad09bd09cd09dd09ed09fd0a0d0a1d0a2d0a3d0a4d0a5d0a6d0a7d0a8d0a9d0aad0abd0acd0add0aed0afd0b0d0b1d0b2d0b3d0b4d0b5d0b6d0b7d0b8d0b9d0bad0bbd0bcd0bdd0bed0bfd0c0d0c1d0c2d0c3d0c4d0c5d0c6d0c7d0c8d0c9d0cad0cbd0ccd0cdd0ced0cfd0d0d0d1d0d2d0d3d0d4d0d5d0d6d0d7d0d8d0d9d0dad0dbd0dcd0ddd0ded0dfd0e0d0e1d0e2d0e3d0e4d0e5d0e6d0e7d0e8d0e9d0ead0ebd0ecd0edd0eed0efd0f0d0f1d0f2d0f3d0f4d0f5d0f6d0f7d0f8d0f9d0fad0fbd0fcd0fdd0fed0ffd000d101d102d103d104d105d106d107d108d109d10ad10bd10cd10dd10ed10fd110d111d112d113d114d115d116d117d118d119d11ad11bd11cd11dd11ed11fd120d121d122d123d124d125d126d127d128d129d12ad12bd12cd12dd12ed12fd130d131d132d133d134d135d136d137d138d139d13ad13bd13cd13dd13ed13fd140d141d142d143d144d145d146d147d148d149d14ad14bd14cd14dd14ed14fd150d151d152d153d154d155d156d157d158d159d15ad15bd15cd15dd15ed15fd160d161d162d163d164d165d166d167d168d169d16ad16bd16cd16dd16ed16fd170d171d172d173d174d175d176d177d178d179d17ad17bd17cd17dd17ed17fd180d181d182d183d184d185d186d187d188d189d18ad18bd18cd18dd18ed18fd190d191d192d193d194d195d196d197d198d199d19ad19bd19cd19dd19ed19fd1a0d1a1d1a2d1a3d1a4d1a5d1a6d1a7d1a8d1a9d1aad1abd1acd1add1aed1afd1b0d1b1d1b2d1b3d1b4d1b5d1b6d1b7d1b8d1b9d1bad1bbd1bcd1bdd1bed1bfd1c0d1c1d1c2d1c3d1c4d1c5d1c6d1c7d1c8d1c9d1cad1cbd1ccd1cdd1ced1cfd1d0d1d1d1d2d1d3d1d4d1d5d1d6d1d7d1d8d1d9d1dad1dbd1dcd1ddd1ded1dfd1e0d1e1d1e2d1e3d1e4d1e5d1e6d1e7d1e8d1e9d1ead1ebd1ecd1edd1eed1efd1f0d1f1d1f2d1f3d1f4d1f5d1f6d1f7d1f8d1f9d1fad1fbd1fcd1fdd1fed1ffd100d201d202d203d204d205d206d207d208d209d20ad20bd20cd20dd20ed20fd210d211d212d213d214d215d216d217d218d219d21ad21bd21cd21dd21ed21fd220d221d222d223d224d225d226d227d228d229d22ad22bd22cd22dd22ed22fd230d231d232d233d234d235d236d237d238d239d23ad23bd23cd23dd23ed23fd240d241d242d243d244d245d246d247d248d249d24ad24bd24cd24dd24ed24fd250d251d252d253d254d255d256d257d258d259d25ad25bd25cd25dd25ed25fd260d261d262d263d264d265d266d267d268d269d26ad26bd26cd26dd26ed26fd270d271d272d273d274d275d276d277d278d279d27ad27bd27cd27dd27ed27fd280d281d282d283d284d285d286d287d288d289d28ad28bd28cd28dd28ed28fd290d291d292d293d294d295d296d297d298d299d29ad29bd29cd29dd29ed29fd2a0d2a1d2a2d2a3d2a4d2a5d2a6d2a7d2a8d2a9d2aad2abd2acd2add2aed2afd2b0d2b1d2b2d2b3d2b4d2b5d2b6d2b7d2b8d2b9d2bad2bbd2bcd2bdd2bed2bfd2c0d2c1d2c2d2c3d2c4d2c5d2c6d2c7d2c8d2c9d2cad2cbd2ccd2cdd2ced2cfd2d0d2d1d2d2d2d3d2d4d2d5d2d6d2d7d2d8d2d9d2dad2dbd2dcd2ddd2ded2dfd2e0d2e1d2e2d2e3d2e4d2e5d2e6d2e7d2e8d2e9d2ead2ebd2ecd2edd2eed2efd2f0d2f1d2f2d2f3d2f4d2f5d2f6d2f7d2f8d2f9d2fad2fbd2fcd2fdd2fed2ffd200d301d302d303d304d305d306d307d308d309d30ad30bd30cd30dd30ed30fd310d311d312d313d314d315d316d317d318d319d31ad31bd31cd31dd31ed31fd320d321d322d323d324d325d326d327d328d329d32ad32bd32cd32dd32ed32fd330d331d332d333d334d335d336d337d338d339d33ad33bd33cd33dd33ed33fd340d341d342d343d344d345d346d347d348d349d34ad34bd34cd34dd34ed34fd350d351d352d353d354d355d356d357d358d359d35ad35bd35cd35dd35ed35fd360d361d362d363d364d365d366d367d368d369d36ad36bd36cd36dd36ed36fd370d371d372d373d374d375d376d377d378d379d37ad37bd37cd37dd37ed37fd380d381d382d383d384d385d386d387d388d389d38ad38bd38cd38dd38ed38fd390d391d392d393d394d395d396d397d398d399d39ad39bd39cd39dd39ed39fd3a0d3a1d3a2d3a3d3a4d3a5d3a6d3a7d3a8d3a9d3aad3abd3acd3add3aed3afd3b0d3b1d3b2d3b3d3b4d3b5d3b6d3b7d3b8d3b9d3bad3bbd3bcd3bdd3bed3bfd3c0d3c1d3c2d3c3d3c4d3c5d3c6d3c7d3c8d3c9d3cad3cbd3ccd3cdd3ced3cfd3d0d3d1d3d2d3d3d3d4d3d5d3d6d3d7d3d8d3d9d3dad3dbd3dcd3ddd3ded3dfd3e0d3e1d3e2d3e3d3e4d3e5d3e6d3e7d3e8d3e9d3ead3ebd3ecd3edd3eed3efd3f0d3f1d3f2d3f3d3f4d3f5d3f6d3f7d3f8d3f9d3fad3fbd3fcd3fdd3fed3ffd300d401d402d403d404d405d406d407d408d409d40ad40bd40cd40dd40ed40fd410d411d412d413d414d415d416d417d418d419d41ad41bd41cd41dd41ed41fd420d421d422d423d424d425d426d427d428d429d42ad42bd42cd42dd42ed42fd430d431d432d433d434d435d436d437d438d439d43ad43bd43cd43dd43ed43fd440d441d442d443d444d445d446d447d448d449d44ad44bd44cd44dd44ed44fd450d451d452d453d454d455d456d457d458d459d45ad45bd45cd45dd45ed45fd460d461d462d463d464d465d466d467d468d469d46ad46bd46cd46dd46ed46fd470d471d472d473d474d475d476d477d478d479d47ad47bd47cd47dd47ed47fd480d481d482d483d484d485d486d487d488d489d48ad48bd48cd48dd48ed48fd490d491d492d493d494d495d496d497d498d499d49ad49bd49cd49dd49ed49fd4a0d4a1d4a2d4a3d4a4d4a5d4a6d4a7d4a8d4a9d4aad4abd4acd4add4aed4afd4b0d4b1d4b2d4b3d4b4d4b5d4b6d4b7d4b8d4b9d4bad4bbd4bcd4bdd4bed4bfd4c0d4c1d4c2d4c3d4c4d4c5d4c6d4c7d4c8d4c9d4cad4cbd4ccd4cdd4ced4cfd4d0d4d1d4d2d4d3d4d4d4d5d4d6d4d7d4d8d4d9d4dad4dbd4dcd4ddd4ded4dfd4e0d4e1d4e2d4e3d4e4d4e5d4e6d4e7d4e8d4e9d4ead4ebd4ecd4edd4eed4efd4f0d4f1d4f2d4f3d4f4d4f5d4f6d4f7d4f8d4f9d4fad4fbd4fcd4fdd4fed4ffd400d501d502d503d504d505d506d507d508d509d50ad50bd50cd50dd50ed50fd510d511d512d513d514d515d516d517d518d519d51ad51bd51cd51dd51ed51fd520d521d522d523d524d525d526d527d528d529d52ad52bd52cd52dd52ed52fd530d531d532d533d534d535d536d537d538d539d53ad53bd53cd53dd53ed53fd540d541d542d543d544d545d546d547d548d549d54ad54bd54cd54dd54ed54fd550d551d552d553d554d555d556d557d558d559d55ad55bd55cd55dd55ed55fd560d561d562d563d564d565d566d567d568d569d56ad56bd56cd56dd56ed56fd570d571d572d573d574d575d576d577d578d579d57ad57bd57cd57dd57ed57fd580d581d582d583d584d585d586d587d588d589d58ad58bd58cd58dd58ed58fd590d591d592d593d594d595d596d597d598d599d59ad59bd59cd59dd59ed59fd5a0d5a1d5a2d5a3d5a4d5a5d5a6d5a7d5a8d5a9d5aad5abd5acd5add5aed5afd5b0d5b1d5b2d5b3d5b4d5b5d5b6d5b7d5b8d5b9d5bad5bbd5bcd5bdd5bed5bfd5c0d5c1d5c2d5c3d5c4d5c5d5c6d5c7d5c8d5c9d5cad5cbd5ccd5cdd5ced5cfd5d0d5d1d5d2d5d3d5d4d5d5d5d6d5d7d5d8d5d9d5dad5dbd5dcd5ddd5ded5dfd5e0d5e1d5e2d5e3d5e4d5e5d5e6d5e7d5e8d5e9d5ead5ebd5ecd5edd5eed5efd5f0d5f1d5f2d5f3d5f4d5f5d5f6d5f7d5f8d5f9d5fad5fbd5fcd5fdd5fed5ffd500d601d602d603d604d605d606d607d608d609d60ad60bd60cd60dd60ed60fd610d611d612d613d614d615d616d617d618d619d61ad61bd61cd61dd61ed61fd620d621d622d623d624d625d626d627d628d629d62ad62bd62cd62dd62ed62fd630d631d632d633d634d635d636d637d638d639d63ad63bd63cd63dd63ed63fd640d641d642d643d644d645d646d647d648d649d64ad64bd64cd64dd64ed64fd650d651d652d653d654d655d656d657d658d659d65ad65bd65cd65dd65ed65fd660d661d662d663d664d665d666d667d668d669d66ad66bd66cd66dd66ed66fd670d671d672d673d674d675d676d677d678d679d67ad67bd67cd67dd67ed67fd680d681d682d683d684d685d686d687d688d689d68ad68bd68cd68dd68ed68fd690d691d692d693d694d695d696d697d698d699d69ad69bd69cd69dd69ed69fd6a0d6a1d6a2d6a3d6a4d6a5d6a6d6a7d6a8d6a9d6aad6abd6acd6add6aed6afd6b0d6b1d6b2d6b3d6b4d6b5d6b6d6b7d6b8d6b9d6bad6bbd6bcd6bdd6bed6bfd6c0d6c1d6c2d6c3d6c4d6c5d6c6d6c7d6c8d6c9d6cad6cbd6ccd6cdd6ced6cfd6d0d6d1d6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d6dad6dbd6dcd6ddd6ded6dfd6e0d6e1d6e2d6e3d6e4d6e5d6e6d6e7d6e8d6e9d6ead6ebd6ecd6edd6eed6efd6f0d6f1d6f2d6f3d6f4d6f5d6f6d6f7d6f8d6f9d6fad6fbd6fcd6fdd6fed6ffd600d701d702d703d704d705d706d707d708d709d70ad70bd70cd70dd70ed70fd710d711d712d713d714d715d716d717d718d719d71ad71bd71cd71dd71ed71fd720d721d722d723d724d725d726d727d728d729d72ad72bd72cd72dd72ed72fd730d731d732d733d734d735d736d737d738d739d73ad73bd73cd73dd73ed73fd740d741d742d743d744d745d746d747d748d749d74ad74bd74cd74dd74ed74fd750d751d752d753d754d755d756d757d758d759d75ad75bd75cd75dd75ed75fd760d761d762d763d764d765d766d767d768d769d76ad76bd76cd76dd76ed76fd770d771d772d773d774d775d776d777d778d779d77ad77bd77cd77dd77ed77fd780d781d782d783d784d785d786d787d788d789d78ad78bd78cd78dd78ed78fd790d791d792d793d794d795d796d797d798d799d79ad79bd79cd79dd79ed79fd7a0d7a1d7a2d7a3d7a4d7a5d7a6d7a7d7a8d7a9d7aad7abd7acd7add7aed7afd7b0d7b1d7b2d7b3d7b4d7b5d7b6d7b7d7b8d7b9d7bad7bbd7bcd7bdd7bed7bfd7c0d7c1d7c2d7c3d7c4d7c5d7c6d7c7d7c8d7c9d7cad7cbd7ccd7cdd7ced7cfd7d0d7d1d7d2d7d3d7d4d7d5d7d6d7d7d7d8d7d9d7dad7dbd7dcd7ddd7ded7dfd7e0d7e1d7e2d7e3d7e4d7e5d7e6d7e7d7e8d7e9d7ead7ebd7ecd7edd7eed7efd7f0d7f1d7f2d7f3d7f4d7f5d7f6d7f7d7f8d7f9d7fad7fbd7fcd7fdd7fed7ffd700d801d802d803d804d805d806d807d808d809d80ad80bd80cd80dd80ed80fd810d811d812d813d814d815d816d817d818d819d81ad81bd81cd81dd81ed81fd820d821d822d823d824d825d826d827d828d829d82ad82bd82cd82dd82ed82fd830d831d832d833d834d835d836d837d838d839d83ad83bd83cd83dd83ed83fd840d841d842d843d844d845d846d847d848d849d84ad84bd84cd84dd84ed84fd850d851d852d853d854d855d856d857d858d859d85ad85bd85cd85dd85ed85fd860d861d862d863d864d865d866d867d868d869d86ad86bd86cd86dd86ed86fd870d871d872d873d874d875d876d877d878d879d87ad87bd87cd87dd87ed87fd880d881d882d883d884d885d886d887d888d889d88ad88bd88cd88dd88ed88fd890d891d892d893d894d895d896d897d898d899d89ad89bd89cd89dd89ed89fd8a0d8a1d8a2d8a3d8a4d8a5d8a6d8a7d8a8d8a9d8aad8abd8acd8add8aed8afd8b0d8b1d8b2d8b3d8b4d8b5d8b6d8b7d8b8d8b9d8bad8bbd8bcd8bdd8bed8bfd8c0d8c1d8c2d8c3d8c4d8c5d8c6d8c7d8c8d8c9d8cad8cbd8ccd8cdd8ced8cfd8d0d8d1d8d2d8d3d8d4d8d5d8d6d8d7d8d8d8d9d8dad8dbd8dcd8ddd8ded8dfd8e0d8e1d8e2d8e3d8e4d8e5d8e6d8e7d8e8d8e9d8ead8ebd8ecd8edd8eed8efd8f0d8f1d8f2d8f3d8f4d8f5d8f6d8f7d8f8d8f9d8fad8fbd8fcd8fdd8fed8ffd800d901d902d903d904d905d906d907d908d909d90ad90bd90cd90dd90ed90fd910d911d912d913d914d915d916d917d918d919d91ad91bd91cd91dd91ed91fd920d921d922d923d924d925d926d927d928d929d92ad92bd92cd92dd92ed92fd930d931d932d933d934d935d936d937d938d939d93ad93bd93cd93dd93ed93fd940d941d942d943d944d945d946d947d948d949d94ad94bd94cd94dd94ed94fd950d951d952d953d954d955d956d957d958d959d95ad95bd95cd95dd95ed95fd960d961d962d963d964d965d966d967d968d969d96ad96bd96cd96dd96ed96fd970d971d972d973d974d975d976d977d978d979d97ad97bd97cd97dd97ed97fd980d981d982d983d984d985d986d987d988d989d98ad98bd98cd98dd98ed98fd990d991d992d993d994d995d996d997d998d999d99ad99bd99cd99dd99ed99fd9a0d9a1d9a2d9a3d9a4d9a5d9a6d9a7d9a8d9a9d9aad9abd9acd9add9aed9afd9b0d9b1d9b2d9b3d9b4d9b5d9b6d9b7d9b8d9b9d9bad9bbd9bcd9bdd9bed9bfd9c0d9c1d9c2d9c3d9c4d9c5d9c6d9c7d9c8d9c9d9cad9cbd9ccd9cdd9ced9cfd9d0d9d1d9d2d9d3d9d4d9d5d9d6d9d7d9d8d9d9d9dad9dbd9dcd9ddd9ded9dfd9e0d9e1d9e2d9e3d9e4d9e5d9e6d9e7d9e8d9e9d9ead9ebd9ecd9edd9eed9efd9f0d9f1d9f2d9f3d9f4d9f5d9f6d9f7d9f8d9f9d9fad9fbd9fcd9fdd9fed9ffd900da01da02da03da04da05da06da07da08da09da0ada0bda0cda0dda0eda0fda10da11da12da13da14da15da16da17da18da19da1ada1bda1cda1dda1eda1fda20da21da22da23da24da25da26da27da28da29da2ada2bda2cda2dda2eda2fda30da31da32da33da34da35da36da37da38da39da3ada3bda3cda3dda3eda3fda40da41da42da43da44da45da46da47da48da49da4ada4bda4cda4dda4eda4fda50da51da52da53da54da55da56da57da58da59da5ada5bda5cda5dda5eda5fda60da61da62da63da64da65da66da67da68da69da6ada6bda6cda6dda6eda6fda70da71da72da73da74da75da76da77da78da79da7ada7bda7cda7dda7eda7fda80da81da82da83da84da85da86da87da88da89da8ada8bda8cda8dda8eda8fda90da91da92da93da94da95da96da97da98da99da9ada9bda9cda9dda9eda9fdaa0daa1daa2daa3daa4daa5daa6daa7daa8daa9daaadaabdaacdaaddaaedaafdab0dab1dab2dab3dab4dab5dab6dab7dab8dab9dabadabbdabcdabddabedabfdac0dac1dac2dac3dac4dac5dac6dac7dac8dac9dacadacbdaccdacddacedacfdad0dad1dad2dad3dad4dad5dad6dad7dad8dad9dadadadbdadcdadddadedadfdae0dae1dae2dae3dae4dae5dae6dae7dae8dae9daeadaebdaecdaeddaeedaefdaf0daf1daf2daf3daf4daf5daf6daf7daf8daf9dafadafbdafcdafddafedaffda00db01db02db03db04db05db06db07db08db09db0adb0bdb0cdb0ddb0edb0fdb10db11db12db13db14db15db16db17db18db19db1adb1bdb1cdb1ddb1edb1fdb20db21db22db23db24db25db26db27db28db29db2adb2bdb2cdb2ddb2edb2fdb30db31db32db33db34db35db36db37db38db39db3adb3bdb3cdb3ddb3edb3fdb40db41db42db43db44db45db46db47db48db49db4adb4bdb4cdb4ddb4edb4fdb50db51db52db53db54db55db56db57db58db59db5adb5bdb5cdb5ddb5edb5fdb60db61db62db63db64db65db66db67db68db69db6adb6bdb6cdb6ddb6edb6fdb70db71db72db73db74db75db76db77db78db79db7adb7bdb7cdb7ddb7edb7fdb80db81db82db83db84db85db86db87db88db89db8adb8bdb8cdb8ddb8edb8fdb90db91db92db93db94db95db96db97db98db99db9adb9bdb9cdb9ddb9edb9fdba0dba1dba2dba3dba4dba5dba6dba7dba8dba9dbaadbabdbacdbaddbaedbafdbb0dbb1dbb2dbb3dbb4dbb5dbb6dbb7dbb8dbb9dbbadbbbdbbcdbbddbbedbbfdbc0dbc1dbc2dbc3dbc4dbc5dbc6dbc7dbc8dbc9dbcadbcbdbccdbcddbcedbcfdbd0dbd1dbd2dbd3dbd4dbd5dbd6dbd7dbd8dbd9dbdadbdbdbdcdbdddbdedbdfdbe0dbe1dbe2dbe3dbe4dbe5dbe6dbe7dbe8dbe9dbeadbebdbecdbeddbeedbefdbf0dbf1dbf2dbf3dbf4dbf5dbf6dbf7dbf8dbf9dbfadbfbdbfcdbfddbfedbffdb00dc01dc02dc03dc04dc05dc06dc07dc08dc09dc0adc0bdc0cdc0ddc0edc0fdc10dc11dc12dc13dc14dc15dc16dc17dc18dc19dc1adc1bdc1cdc1ddc1edc1fdc20dc21dc22dc23dc24dc25dc26dc27dc28dc29dc2adc2bdc2cdc2ddc2edc2fdc30dc31dc32dc33dc34dc35dc36dc37dc38dc39dc3adc3bdc3cdc3ddc3edc3fdc40dc41dc42dc43dc44dc45dc46dc47dc48dc49dc4adc4bdc4cdc4ddc4edc4fdc50dc51dc52dc53dc54dc55dc56dc57dc58dc59dc5adc5bdc5cdc5ddc5edc5fdc60dc61dc62dc63dc64dc65dc66dc67dc68dc69dc6adc6bdc6cdc6ddc6edc6fdc70dc71dc72dc73dc74dc75dc76dc77dc78dc79dc7adc7bdc7cdc7ddc7edc7fdc80dc81dc82dc83dc84dc85dc86dc87dc88dc89dc8adc8bdc8cdc8ddc8edc8fdc90dc91dc92dc93dc94dc95dc96dc97dc98dc99dc9adc9bdc9cdc9ddc9edc9fdca0dca1dca2dca3dca4dca5dca6dca7dca8dca9dcaadcabdcacdcaddcaedcafdcb0dcb1dcb2dcb3dcb4dcb5dcb6dcb7dcb8dcb9dcbadcbbdcbcdcbddcbedcbfdcc0dcc1dcc2dcc3dcc4dcc5dcc6dcc7dcc8dcc9dccadccbdcccdccddccedccfdcd0dcd1dcd2dcd3dcd4dcd5dcd6dcd7dcd8dcd9dcdadcdbdcdcdcdddcdedcdfdce0dce1dce2dce3dce4dce5dce6dce7dce8dce9dceadcebdcecdceddceedcefdcf0dcf1dcf2dcf3dcf4dcf5dcf6dcf7dcf8dcf9dcfadcfbdcfcdcfddcfedcffdc00dd01dd02dd03dd04dd05dd06dd07dd08dd09dd0add0bdd0cdd0ddd0edd0fdd10dd11dd12dd13dd14dd15dd16dd17dd18dd19dd1add1bdd1cdd1ddd1edd1fdd20dd21dd22dd23dd24dd25dd26dd27dd28dd29dd2add2bdd2cdd2ddd2edd2fdd30dd31dd32dd33dd34dd35dd36dd37dd38dd39dd3add3bdd3cdd3ddd3edd3fdd40dd41dd42dd43dd44dd45dd46dd47dd48dd49dd4add4bdd4cdd4ddd4edd4fdd50dd51dd52dd53dd54dd55dd56dd57dd58dd59dd5add5bdd5cdd5ddd5edd5fdd60dd61dd62dd63dd64dd65dd66dd67dd68dd69dd6add6bdd6cdd6ddd6edd6fdd70dd71dd72dd73dd74dd75dd76dd77dd78dd79dd7add7bdd7cdd7ddd7edd7fdd80dd81dd82dd83dd84dd85dd86dd87dd88dd89dd8add8bdd8cdd8ddd8edd8fdd90dd91dd92dd93dd94dd95dd96dd97dd98dd99dd9add9bdd9cdd9ddd9edd9fdda0dda1dda2dda3dda4dda5dda6dda7dda8dda9ddaaddabddacddadddaeddafddb0ddb1ddb2ddb3ddb4ddb5ddb6ddb7ddb8ddb9ddbaddbbddbcddbdddbeddbfddc0ddc1ddc2ddc3ddc4ddc5ddc6ddc7ddc8ddc9ddcaddcbddccddcdddceddcfddd0ddd1ddd2ddd3ddd4ddd5ddd6ddd7ddd8ddd9dddadddbdddcdddddddedddfdde0dde1dde2dde3dde4dde5dde6dde7dde8dde9ddeaddebddecddedddeeddefddf0ddf1ddf2ddf3ddf4ddf5ddf6ddf7ddf8ddf9ddfaddfbddfcddfdddfeddffdd00de01de02de03de04de05de06de07de08de09de0ade0bde0cde0dde0ede0fde10de11de12de13de14de15de16de17de18de19de1ade1bde1cde1dde1ede1fde20de21de22de23de24de25de26de27de28de29de2ade2bde2cde2dde2ede2fde30de31de32de33de34de35de36de37de38de39de3ade3bde3cde3dde3ede3fde40de41de42de43de44de45de46de47de48de49de4ade4bde4cde4dde4ede4fde50de51de52de53de54de55de56de57de58de59de5ade5bde5cde5dde5ede5fde60de61de62de63de64de65de66de67de68de69de6ade6bde6cde6dde6ede6fde70de71de72de73de74de75de76de77de78de79de7ade7bde7cde7dde7ede7fde80de81de82de83de84de85de86de87de88de89de8ade8bde8cde8dde8ede8fde90de91de92de93de94de95de96de97de98de99de9ade9bde9cde9dde9ede9fdea0dea1dea2dea3dea4dea5dea6dea7dea8dea9deaadeabdeacdeaddeaedeafdeb0deb1deb2deb3deb4deb5deb6deb7deb8deb9debadebbdebcdebddebedebfdec0dec1dec2dec3dec4dec5dec6dec7dec8dec9decadecbdeccdecddecedecfded0ded1ded2ded3ded4ded5ded6ded7ded8ded9dedadedbdedcdedddedededfdee0dee1dee2dee3dee4dee5dee6dee7dee8dee9deeadeebdeecdeeddeeedeefdef0def1def2def3def4def5def6def7def8def9defadefbdefcdefddefedeffde00df01df02df03df04df05df06df07df08df09df0adf0bdf0cdf0ddf0edf0fdf10df11df12df13df14df15df16df17df18df19df1adf1bdf1cdf1ddf1edf1fdf20df21df22df23df24df25df26df27df28df29df2adf2bdf2cdf2ddf2edf2fdf30df31df32df33df34df35df36df37df38df39df3adf3bdf3cdf3ddf3edf3fdf40df41df42df43df44df45df46df47df48df49df4adf4bdf4cdf4ddf4edf4fdf50df51df52df53df54df55df56df57df58df59df5adf5bdf5cdf5ddf5edf5fdf60df61df62df63df64df65df66df67df68df69df6adf6bdf6cdf6ddf6edf6fdf70df71df72df73df74df75df76df77df78df79df7adf7bdf7cdf7ddf7edf7fdf80df81df82df83df84df85df86df87df88df89df8adf8bdf8cdf8ddf8edf8fdf90df91df92df93df94df95df96df97df98df99df9adf9bdf9cdf9ddf9edf9fdfa0dfa1dfa2dfa3dfa4dfa5dfa6dfa7dfa8dfa9dfaadfabdfacdfaddfaedfafdfb0dfb1dfb2dfb3dfb4dfb5dfb6dfb7dfb8dfb9dfbadfbbdfbcdfbddfbedfbfdfc0dfc1dfc2dfc3dfc4dfc5dfc6dfc7dfc8dfc9dfcadfcbdfccdfcddfcedfcfdfd0dfd1dfd2dfd3dfd4dfd5dfd6dfd7dfd8dfd9dfdadfdbdfdcdfdddfdedfdfdfe0dfe1dfe2dfe3dfe4dfe5dfe6dfe7dfe8dfe9dfeadfebdfecdfeddfeedfefdff0dff1dff2dff3dff4dff5dff6dff7dff8dff9dffadffbdffcdffddffedfffdf00e001e002e003e004e005e006e007e008e009e00ae00be00ce00de00ee00fe010e011e012e013e014e015e016e017e018e019e01ae01be01ce01de01ee01fe020e021e022e023e024e025e026e027e028e029e02ae02be02ce02de02ee02fe030e031e032e033e034e035e036e037e038e039e03ae03be03ce03de03ee03fe040e041e042e043e044e045e046e047e048e049e04ae04be04ce04de04ee04fe050e051e052e053e054e055e056e057e058e059e05ae05be05ce05de05ee05fe060e061e062e063e064e065e066e067e068e069e06ae06be06ce06de06ee06fe070e071e072e073e074e075e076e077e078e079e07ae07be07ce07de07ee07fe080e081e082e083e084e085e086e087e088e089e08ae08be08ce08de08ee08fe090e091e092e093e094e095e096e097e098e099e09ae09be09ce09de09ee09fe0a0e0a1e0a2e0a3e0a4e0a5e0a6e0a7e0a8e0a9e0aae0abe0ace0ade0aee0afe0b0e0b1e0b2e0b3e0b4e0b5e0b6e0b7e0b8e0b9e0bae0bbe0bce0bde0bee0bfe0c0e0c1e0c2e0c3e0c4e0c5e0c6e0c7e0c8e0c9e0cae0cbe0cce0cde0cee0cfe0d0e0d1e0d2e0d3e0d4e0d5e0d6e0d7e0d8e0d9e0dae0dbe0dce0dde0dee0dfe0e0e0e1e0e2e0e3e0e4e0e5e0e6e0e7e0e8e0e9e0eae0ebe0ece0ede0eee0efe0f0e0f1e0f2e0f3e0f4e0f5e0f6e0f7e0f8e0f9e0fae0fbe0fce0fde0fee0ffe000e101e102e103e104e105e106e107e108e109e10ae10be10ce10de10ee10fe110e111e112e113e114e115e116e117e118e119e11ae11be11ce11de11ee11fe120e121e122e123e124e125e126e127e128e129e12ae12be12ce12de12ee12fe130e131e132e133e134e135e136e137e138e139e13ae13be13ce13de13ee13fe140e141e142e143e144e145e146e147e148e149e14ae14be14ce14de14ee14fe150e151e152e153e154e155e156e157e158e159e15ae15be15ce15de15ee15fe160e161e162e163e164e165e166e167e168e169e16ae16be16ce16de16ee16fe170e171e172e173e174e175e176e177e178e179e17ae17be17ce17de17ee17fe180e181e182e183e184e185e186e187e188e189e18ae18be18ce18de18ee18fe190e191e192e193e194e195e196e197e198e199e19ae19be19ce19de19ee19fe1a0e1a1e1a2e1a3e1a4e1a5e1a6e1a7e1a8e1a9e1aae1abe1ace1ade1aee1afe1b0e1b1e1b2e1b3e1b4e1b5e1b6e1b7e1b8e1b9e1bae1bbe1bce1bde1bee1bfe1c0e1c1e1c2e1c3e1c4e1c5e1c6e1c7e1c8e1c9e1cae1cbe1cce1cde1cee1cfe1d0e1d1e1d2e1d3e1d4e1d5e1d6e1d7e1d8e1d9e1dae1dbe1dce1dde1dee1dfe1e0e1e1e1e2e1e3e1e4e1e5e1e6e1e7e1e8e1e9e1eae1ebe1ece1ede1eee1efe1f0e1f1e1f2e1f3e1f4e1f5e1f6e1f7e1f8e1f9e1fae1fbe1fce1fde1fee1ffe100e201e202e203e204e205e206e207e208e209e20ae20be20ce20de20ee20fe210e211e212e213e214e215e216e217e218e219e21ae21be21ce21de21ee21fe220e221e222e223e224e225e226e227e228e229e22ae22be22ce22de22ee22fe230e231e232e233e234e235e236e237e238e239e23ae23be23ce23de23ee23fe240e241e242e243e244e245e246e247e248e249e24ae24be24ce24de24ee24fe250e251e252e253e254e255e256e257e258e259e25ae25be25ce25de25ee25fe260e261e262e263e264e265e266e267e268e269e26ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x88000}, {&(0x7f0000039c40)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000100000000000000010000000000000001101040000000000ffffffff00000000", 0x1a0, 0xff800}, {&(0x7f0000039de0)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0xff9e0}, {&(0x7f0000039e00)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0xffbe0}, {&(0x7f0000039e20)="0000000000000000000000000000000000000000000000000000000000000300", 0x20, 0xffde0}, {&(0x7f0000039e40)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff0100000000ffffffff00000000", 0x1c0, 0xfffa0}, {&(0x7f000003a000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f000003a020)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f000003a040)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f000003a060)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302000000ffffffff00000000", 0x180, 0x1007e0}, {&(0x7f000003a1e0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1009e0}, {&(0x7f000003a200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f000003a220)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f000003a240)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000000000000000000000400", 0x220, 0x100fe0}, {&(0x7f000003a460)="0000000000000000000000000000000000000000000000000000000000000400", 0x20, 0x1013e0}, {&(0x7f000003a480)="0000000000000000000000000000000000000000000000000000000000000400", 0x20, 0x1015e0}, {&(0x7f000003a4a0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x1017e0}, {&(0x7f000007a4c0)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkal\x00\x00\x00\x00\x00\x00', 0x420, 0x181000}, {&(0x7f000007a8e0)='syzkallers\x00'/32, 0x20, 0x181800}, {&(0x7f000007a900)='syzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallersyzkallers\x00'/128, 0x80, 0x184800}, {&(0x7f000007a980)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002000000015f1c32890d2820000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f000007aa60)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f000007aa80)) [ 1448.556626][ T8204] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1448.572812][ T8204] usb 2-1: config 0 descriptor?? 23:45:30 executing program 2: socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) sendmmsg$unix(r1, &(0x7f00000bd000), 0x318, 0x0) connect$unix(r0, &(0x7f0000000140)=@abs, 0x6e) 23:45:30 executing program 5: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(r0, 0x40045010, &(0x7f0000000140)=0x3) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f0000000200)=0x4) 23:45:30 executing program 1: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000100)=ANY=[@ANYBLOB="1201000000000040ac05438240000000000109022400010000002009040000fd0301000009210000000122010009058103"], 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io(r0, &(0x7f0000000b00)={0x2c, &(0x7f0000000000)={0x0, 0x0, 0x58, {0x58, 0x0, "449b49923f28b10045e1eed1807181c73943276cc88be6cca38e01a847afb69b66b81d48a1dd8ecc4b08f34888f5af7289888eeddee887071f98abcd4d5d7bda79973f8a1ac2b51624b01935ca36ec7158af1570a2aa"}}, 0x0, 0x0, 0x0, 0x0}, 0x0) r1 = syz_open_dev$hiddev(&(0x7f0000000cc0), 0x0, 0x0) ioctl$HIDIOCGUSAGE(r1, 0xc018480b, &(0x7f0000000540)={0x3}) [ 1448.598501][ T8204] usb 2-1: can't set config #0, error -71 [ 1448.612275][ T8204] usb 2-1: USB disconnect, device number 5 23:45:30 executing program 5: sendto$inet6(0xffffffffffffffff, 0x0, 0x0, 0x800, &(0x7f0000000400)={0xa, 0x0, 0x0, @mcast1}, 0x1c) ioctl$sock_SIOCGIFVLAN_GET_VLAN_EGRESS_PRIORITY_CMD(0xffffffffffffffff, 0x8982, &(0x7f0000000740)) unshare(0x6c060000) pipe(&(0x7f0000000300)={0xffffffffffffffff, 0xffffffffffffffff}) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x0, 0xe, &(0x7f0000000580)=ANY=[@ANYBLOB="b70200000200bfa300000000000007030000fdfdfff67a0af0ffd8ffffff79a4f0ff00000000b7060400ffffffff2d6405000000000065040000010000400404000001000000b7050000000000f56a0a00fe00000000850000000a000000990000000000000095000020000000009c050000002c5fea2e25dad5ff4c6fa026"], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) unshare(0x40000000) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) r2 = socket(0x10, 0x2, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, &(0x7f0000000080)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a09ffc2c654"}, 0x80) getsockname$packet(r3, &(0x7f0000005400)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f0000000000)=0x14) sendmsg$nl_route_sched(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000005c0)=ANY=[@ANYBLOB="4001000024000b0f000000000000f10febca0546", @ANYRES32=r4, @ANYBLOB="0000f2ffffffffff000000000a0001006e6574656d00000010010200ca000000"], 0x140}}, 0x894) r5 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r5, &(0x7f0000000800)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000002140)=ANY=[@ANYBLOB="3c00f1ff234ec40f0095dba6fdfeccd07e6e062d06585ab512e5065369ab7107780bd0e02614ddab219e8e8d8c01eb553fd5111e9dc958f1d9b7134a0e8cf6c34008563ea02e3e6fd49bb9167f4970d14fde20f61b67b1abad908ffd7684b0b0f4a9f8a60bc189157accfb91ac89ebbc8d5befb22f9eff2ec3ef13c44f2c7bb33c57609c7e2c817eb1b982090733f50be0d0fb733a249e3b9b43266fbb39430d35ffdfdafb70c5bc14e280455a2dfdfca05867e1e94d4925a9f53e5a1f54a05a98e11dcfd0e51f76192c86ed3337968fb8", @ANYRES32=0x0, @ANYBLOB="00000000ffffffff000000000800010072656400100002000c0004000700000000000000"], 0x3c}}, 0x0) sendmmsg$inet6(0xffffffffffffffff, &(0x7f0000003640)=[{{&(0x7f0000000040)={0xa, 0x4e22, 0x5, @private1={0xfc, 0x1, '\x00', 0x2}, 0x7}, 0x1c, &(0x7f00000001c0)=[{&(0x7f0000000280)="e3a4cd250cf61d08437d81a6faa5d7ebc9cea1f0bbe4311056c6cb31ccf3b7bc5c75a9dab1008cb24e615e2e528c433af97a971689304fb220d9fd38b85882d73a993354dff0569e1c39566b73d34431f6", 0x51}, {&(0x7f0000000440)="99fcd8a643b456cc1f9122a4f98a7616be60eb213dd1b22efda41b0cabbbf875335f5987bc354a3c20fb7ddd86938f22d0a3e59fc3b6e25dc71a4dcd2611ab17eacbfe16fda6f43328d0590fea116cb528c62093c3a5743567151883321093fe05a4d904c7be02e290ae7de72d40c960acda7bd69cbb89d8bd25459cca142c44f9bb53d7796959ee28021132fe5adf2cb992a00d97f2a795e7093b7e63af55491d6419cebbc953c754f8a96f0ed9f7a94b7517154c9b71511a7c53fb0549231b633257370d49766c31e779ac4fbed4e620af01d28ba31c9c34303ecc3db8308deea27d95e3e241a8a5e2", 0xea}, {&(0x7f0000000340)="6c9ab964434f6774a5b55d1db8ea156113ce391e7df15bb1022967fb2a47ad8e3e817cce09245399d508237030726b99c3977e0760e16b4b9220cb45581790c399972a046c50e6e93440cabf4a92fb5ecce7d0e4aefe82947271c307cdf847de05ee", 0x62}], 0x3, &(0x7f00000003c0)=ANY=[@ANYBLOB="1800000000000000290000003700000000a741fcf64678d27b14add40029000053b0546326e65a60000000"], 0x30}}, {{&(0x7f0000000540)={0xa, 0x4e22, 0x1db0, @ipv4={'\x00', '\xff\xff', @empty}, 0x3e}, 0x1c, &(0x7f0000000700)=[{&(0x7f0000000640)="28eee00dbb721486cd4b8159f1716d3e681ba33496cb727f8a1533011e0b353eee23cdb9b980a378e320f6777720d03fbefa8cf8a55ea8bf832b295ca20cbb20eb1596eed3b161aee58434f8b249fec248f134a68c3520686857036443f5758a68182c842e7752f445cdc1fb8ebfbe4ed441e39e524ce808d1de660741c18510225831d67c", 0x85}], 0x1, &(0x7f0000000980)=[@hoplimit={{0x14, 0x29, 0x34, 0x4}}, @pktinfo={{0x24, 0x29, 0x32, {@dev={0xfe, 0x80, '\x00', 0x16}}}}], 0x40}}, {{0x0, 0x0, &(0x7f0000000a00)=[{&(0x7f0000000780)="d94c1d995049cd68bf0fbed7d65ac4c0ef2e19f4e9494ade6a889e42b61705587ee6da4e2285ec1e0569f567b6a3ba9888e5e0dade9578b2c742019c224a8da6e45c3d22fdbca5f2c153202e1c03eefbe00b5705c1577e27f1574226e2097a3cce6ac1f0c3987e9114dc4a855142f7d4bfe573f3edf70b626748af9ea5914303dd22672f3c37f73b40a8e69f2eb6342e9e334492fcd18077838609929ddea5b7e930ec9876629461e8807da871c526b7380019a7686e673c0b50d7e79567f60c282a7cdb91413e7fddb550719381c8f24abfa8cd31fb40f8ca1a483d76300967b668994959f8", 0xe6}, {&(0x7f0000001fc0)="aeec3585451ceda8360ee553519514e45384f27935daf44061eff9b524e07bc3d89c594087d8634b9146200f280db1fe68cb8373b18cfd3139e27586ea7be371ae3a3fb5ed51d9a674632641ff5792ad40664caad46ec8abcfb70943831b4575f7effd3582d162b1e7a38dbf00773ddf19c88fb50d4e79c37f7f6745455d7ea4ef34779c01262082f0a07d52009a76a117bd945be19555", 0x97}], 0x2, &(0x7f0000000a40)=[@rthdr={{0x48, 0x29, 0x39, {0x8, 0x6, 0x0, 0x1, 0x0, [@private1={0xfc, 0x1, '\x00', 0x1}, @dev={0xfe, 0x80, '\x00', 0x3d}, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02']}}}, @hoplimit={{0x14, 0x29, 0x34, 0x400}}, @rthdr_2292={{0x28, 0x29, 0x39, {0x8, 0x2, 0x2, 0x8, 0x0, [@mcast1]}}}, @rthdrdstopts={{0x18, 0x29, 0x37, {0x5e}}}, @rthdrdstopts={{0x48, 0x29, 0x37, {0x0, 0x5, '\x00', [@pad1, @ra={0x5, 0x2, 0x8}, @hao={0xc9, 0x10, @loopback}, @jumbo={0xc2, 0x4, 0x9}, @ra, @padn={0x1, 0x4, [0x0, 0x0, 0x0, 0x0]}]}}}, @dstopts={{0x58, 0x29, 0x37, {0x1d, 0x8, '\x00', [@padn={0x1, 0x5, [0x0, 0x0, 0x0, 0x0, 0x0]}, @generic={0xf9, 0x7, "62fe6a7a40d71d"}, @padn={0x1, 0x1, [0x0]}, @ra={0x5, 0x2, 0x7}, @pad1, @hao={0xc9, 0x10, @mcast2}, @ra={0x5, 0x2, 0x3ff}, @enc_lim={0x4, 0x1, 0x1}, @enc_lim={0x4, 0x1, 0x9}, @calipso={0x7, 0x8, {0x3, 0x0, 0x1, 0x2}}]}}}, @pktinfo={{0x24, 0x29, 0x32, {@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}}}, @flowinfo={{0x14, 0x29, 0xb, 0x750}}], 0x180}}, {{0x0, 0x0, &(0x7f0000001f40)=[{&(0x7f0000000c40)="d0ab826affacdfc6", 0x8}, {&(0x7f0000000c80)="d35d36fe4995adec0b67dcada19b3c626a60b9d0c4c6d041e98a38cd97f1b56e2d08ebc49c4c6f582e234ee7dc0e3145ca645f79e5846d250e45cc775decd2fb7317a1804c1db13d5f1e1fa380e8303c05d1aa31a8e5ea3c66661dbc67f976bed85fb51c76e51c6f74ac85c79eaad1dffa7a48315c0c3aa7da3ab99ae02659ec14843eaaa5483874b4d2ba5f2bc25aa1708726773712c2fe93884347b28d9256539f5e32c3a987aaea242cb66745e8433ae5add9e760a570c232bcf8cda226657c684266c60ae71e07c7d458a418", 0xce}, {&(0x7f0000000d80)="9b89d5b9804497f7bf5a59967a414a21dc0eee27d4264d53de93ff7f8559d13ab53c88c624c624ca4dfacc042d6ad602c749ad9abc6f9a187d8abb67fd1e16eef64a4e1d8b6daa8df9b89c3b4da1fb56c16b2e56653de37c34040286eec1085216e69d7ee74017e5ab167bbfdf4aab48b87f37c3ac1ca0aaf2bcd05263eb501d6a13ad188a3fe7e3c921685bcf4b3238cd0d52c3076a8729fa3063b25f28cd39d54b413e9c6ca70b52ecd49078fa6e5f3aa5749eff973934e590ea8904db7b54d7cc154706bff1ad472783cdb6afd6ab9494ad738861be833d6f695cae1700b102affebf427b9e1a4c331e460aaa7c67858830f9c1d858b4a33dc3261093954eac2fbb0ebd8742b839feff6797809a3ba32ed1bb2465b44f81530acc1096dffa2a5b4997ffe2c3b40cb870953bb0638457b87ebc7dfdf7cfc2df808ab208002feb0696cb92cd50926cc7e84ee9b32d2d048f60b2d5b219b6d2b3c2d66230b57b0797aacab448a76564d4123874698d526a7fdc9c6a3a37dc0328cedc4b2ff540bb9c87086e2e869f56d2826d1f32bead53695d43c5764a4fbf76c3049731b592f19dd1189449531262c8c85568cd55d5259ae88daef59bcb593ac8e2c1bec5d2bfb38af90b25a57f005deed65c004e93f6571833f9431e0fcdeba86bfdf3b5a856c53c935ec4c825a0f9d762d26cf05f671f25e3dcb2ef4a9f13d1c817eaa5f6afb7e43d3369b3926e3e1eea7ffda81a8d56d50446323c15729829c1c239f121611b66e47e23f93c92c905975f66ea7f595c1ff21faacce8e0c220b67e7fea483231a0de61eebf2a8bbbad23b11784697252cca0b3b0d51866c46c01a74cecc8b6d948e1f66ca9d8112b4a3d18ac529189f6bf7ef1019c86f86453979245a4438ff34501638e0585d6d02dfc472132bc89683644770947032a11397f8b3520b5f8a187e8b0700343075cb211a5938876fd20f4375677c58816644fb71670206cbbc318cfcdc5da46e1d5f9a82d6c067d52f6773615acd0983bd1b052c2ad1db9a6a370a372e127e831354677b72f2b82b5a98944fee5eec25504ab368aa0a5c5aba85dc25083bd423674a44ac38549df9b2455e4d56c9e982359c723c5fb5280e6a39edbc337df843df665e07098e585b50f8fee453da636acfb26b4af5f18ec2e571c626ebdc4181bff082a60fae670d1632a62b7b9a262684fe1beb7466631992d608a28f6680e16652c0382428890f788956d46aabc2b2c1bf85ad3f7a77cedd38dbf60b4b6a83f69f98f48f6cafbfc0dafc3fe5a5dc864575ae00448511dc32034c911c89bb3cb13602233b862244458535c9aca26d5f7c93314415b0e8f0ea7eaa87ffddc295c299dc320a4c38aeb9860820a05a2de6fb0b244d722adc21ad9ffe6659c4c276abd3fcf85815b702304e63519bd30e65ef539dda96dc11d2087c21d8d52f7508b1d5a1304e075cb5f93350cb7eb4f177dff57660888580993261e610a7aec9ef5122f2423148e48d8ffd7981ee247ac6fe56262d325413c4bf2a3edb30d62472f835ef920a0bf7f0c543bf8145d07632cedc8201405f19627b5a05dcb6a4c11a1873961bb5f61f4886e32a7bc650cdba74026ef3c7364e9ac5d6c13903fe64ff532b357c1bd7601d80dc6ac692d9c966b5f1f780e323ffc2d9cec10b1be84e883127a0bf889b2c36f90c1e879e6e102783715086f208118fe8c3a4ac944a3380141074cc194ec9885cd26dcaa1b83d58eb0c12f09c5e8527e3199c3100f8a78ae9cacf96609df372b511d77efac9f7639a33dca04a5365311aaed97a61d0038431106df7131e3bf3d14be189553da0eb5dad57184244c318e786303d2913130ed76a784d30e05ab000b5c330eda132770a564f2d140ce35eb48a2497945ca79e2b55d1991ffa7f6e5d437a1d3a2d0b74cdabae899c6656a286a168b7cd2a03dd7d0378ba65ee58dbb7d9976ca6903706a69aaff5c0ddf47972749f5df9ce949d10c21968821f919f93c4bb1513775924a1be663b7daaaa559f56f346a2d46b89574897f72f5a2105f57fea3ca5421ed3865d031525ebb4bf1d01aeadfe1f4f767a53a974af7b078a093fa80f58570cf53f99cda446910da6c138c879160c4c23e883f0925d3c1e45f2df4981d6ed7efd0097db042b827a258601a2f408b606a8a9ac6718366ca7aac65078861cdf3f8027725483a7fc1f16728bc3d15717d3737529ef61547af38c9effa6d087470a1e0a0bb7ea780d11f84fff1c2d05a017ee5b074e9732cb1f13ad27ebc06aa2c296e1c930786531dc87da7f2c5f4cbf25bd5a7eebec90f91c5fe5d76cd76cbea1d3c2e363f13ff6779b3d9dfa3f1b608f9829a8dce14eb56b8466ebf68d82749582e336ff4bcc95d440c9c29ffbfb37fa416a91406037659b7f994ed8492719172a55d949e85638ccac500b4ca0e1666c27471c68b91b35343b92378d64febbd9b378d94770aaee15dd50ca78bbfdcd5650207515d98bb6be9e732c0f6b42ef62f225d004e3b64d0ee804b3ea656a2575b014a15753af47b97321a489315218dd8a19fa23591057fc807e6b0d1cc0405f53a09c3e7dc271847bf8d05665999470be8f881a7bbfd992d6963b20b7c93ed1e3e8d99228886b8fc70a276e16f6fd13b21237b798fa980c39c276924d907e2703a75fb04396a125adc3bc08718ced9a736aa1872e31541203d6160495ea8fcd794e4b3094e18aa6784100ded7e04de799ee78d5f0fe2204200e9b838aea2a12b0d8b4d01f464bf4318433efda18f6bcc7fd092aecd68e181210f206a5632af6943dce93bfd6bf147475f767f331287d02b1e71239971fbeb6b0318587238348ea858241c9903c8db9921bef8c2356f1f80e86a09374260c4de57662a23fae68ca4acdd7243de7430457fef09fa788f8fc1d27c67d3f53f6c674d0427750a18f57ddc36ec2d427e205c0167a5573dd459efd7e40751ed02845a4c1496c71e5c85932802a77b7ce2f95b5efbd0795482bd28bb3edbdaaf29115c8ad1b66dcfda5bd5e894ffe059242d29a4afcaf2cd00e5e760bd3683fa5c79839979d6f8960611fad4a02eb9934e0b0f37ce69bdce4add774f625a8a1f372f6776d2dd478082c42913d1008cc0d45a147ea5bfe3dbcc1047a092d455112c3ceb0a0932c893eb40736d8f5bbd5f2edfdf98dc96364150ec987a1bfc3a65e4a420270368363c0b096bb9ed850eef29425a2a6bf17fbb9163c2184de0e5f748d477c2217dab42d985c995ef6e8091f95958ccdbf89cb56d8bea384a63d6cfa93a31fa49fe20603b0300875d0d1b2739f98fe024531332a650831254419b0f9f542c038c26812ca2d66040347cc2bcd7eab61b42c8c5bd4d7ee393763d0c4c6b62449a045272d0b084083d3078cf55475c2ba41de7d8fba77cfa771e25045f222b13d9757ccff7c23beeab489a5d9c411b078800d37040a1ee0a7b7c5c2b53c1b76ec1434afcaaed886a1172ebe1431ba8d2dd58414d19bba4e7a48d60aa0c8371827da37fc7c54b068543a5cb3e686c0978ab912101a23b22eb8be07270ff7f6b4040e13b3f3218e4d04b846a15e5cd69b52e14816c14b5a9f1f818fc682f31292b12631a9420e79fee101a4245a53a6018b6c0c20d160e59555b43bdd661131b687837322b4b1eb068d37348cec717f199a8797d10a731662272abf77e1612a4fca838968c47c14fa9a82eed4563ea3876ebfc4f5bf04c22bfcb496cbf2280b6411d4566c3ab4af12ac106ba1c817cb0e234a3ffca025f715684a4046d0fc2aea92fcc93f1f0f0255930644b67837f7f2c7b7eccb9a350b112d3b2998860209c671b1fc7f1ccc535160c23f7d90e4c1d166a92bd9f7f681543a8ed4c9b0a547732a494c5102774908c7ca36dbace39ac153248954cc8aa3367437a28c69ae1efa3f2818ab807b435f78cb99a06bf0a8fa30fa99e0a890f903433a60f894d1434df880b5c02efd8debdc2f8a4bd3c8946a7d0d246f560302f4081e46f5371e2266b21e88856f95781c7e4b6011c0441f2b3450f6d737b37b72b83d0aeaeb36c38189d10afb91bb09d200ff8b9e7a7586ccf6899b7521eaa8367f68914e58d3862fb9768a891357515b8af39c9feb97cd9821d15e11b3037352a7524dd8ac5bbadab2c32c460050660f8b491bf2ba708528ecd83dfc597417437ad71ff5b06d8ac82b8a1fff95c7ab1f2474f75555f4ad7b7a9e4e4853f4ba9c98d4a2f43447091b71bbc058d4f0370527420bda2e2677f1c508b6cc1b8a46e08aaa1a8cdddf94d868bae188c0f0399deafddd8c507b6e978a4c5f1ca59f6beb173e8e5edc7767851e659a549f71279a2a61e8752a4f5e71237c95875be93c0834a23a3b141ad0cc44a509a0c4167b673e54d23d8c07b5ad1fd43e92b921b420da75727009b70813394804f9f8c600802afeee5947b1c22662c1e7cc46ec5a295380c60e818d0837f33822dd83abd99938239ceb91fed5118bb5976bfa08eca70fb6c102b12d4e452b94f402d3ae19f089ebef3a4a1b7555625a9426b926c29d3a3ab0fd53d4c05fac6640f2786e6ea1c659bb763453f4e977f08fdef457f397d3cb40f98d5158bf4fc10a78fd031766acf4767b0c0f553c55b1a8707edc05af4f7788ecc649110afe9e37d5db2defd9f6cf6092b4d5c26c8045868bbddc1156c91486538e5a31d04976bb7be908f0dcad46bc1f33ae48ce2e3a3f925b20d552190f3b992a71c278ba6fdda80e94f203c26b8de72ebeec33e0ce09c62b774cef9ed0e13bdb9af1e4d5387fbf1dfc713cfc7425de60a2b1391dc338ad9ae1d953ba9bf7732a8affbaa7188216c9d4d82648eddc99d725f7854517a778e096afd1b78f28c3f9b4659730043b06f162155af27fd88156c0588296227c3bc65f10d23d84d6ca611d9cff266d5635e1c2f8c39cb5d92b72ea91c6d947eb72ed20a4ee1a57a80449ba83ae600279933655a37e9b706b2c814af98a80ade2cd8c7055cec8facd12c6c6ea07ff71f7b8d0e4eb90e86b7a335d5b61fde32c8a9149f2615aa116c511003f9dfdf6a0451c4368fb35cbc079ec582bd5bc7e97bf1f60a3a589a1503ae0664cb9ca79fe83148282260ca424d959cf92738781613be93245857cadecf85bb6b39744eed246cac6550537ed7c5d31b74a327c212455255e79d7987b7ac2f255c837cfaea827d82eb28c03c5a31121c2790c13373cafedfff5dd0cd87318e0a4b7f23c3a4eb86b9f5bfdde2689bca4cbbf61756b6ea6e428b592ffd074efe2485ee381ca9b1c64f1d6df4bc11bde1e7c2333ffb11e399d123bec5c5452c46ab88b1294ff0c257f2eb6b9dd11a7333a031ecc0f64077e639c230cb3356c731c49df90152f84a0c66ba660dfbaa825173e4c1c4c6293a8a0ef937225dba968ce182dab1e64342f030fb89427b45c8cf974f52915ee768f496446f0def10cb9f74db0eb158d8910bc12880a428e17cb46ffbb890f7c226f01f0983175742d11afa2d0ad6215c9471707121f8c4c1e7fad218920278a655e04a6d7bbde4c73cfeb9bf91a7be2eca04e3e5f4684df279a06909e9665f9de4a72f8f414a502f14c3b9394f1b68304e4be82e1f9af78665a379f90ebd2fa3414e3e2dc4b8cbf07b5884fcd9436bdeb2db4e0a9f28f63f64340950997f1450348a756db2a99e7c89ef8a97beddb184324f371fa62253a20fc9b90a00057bca6850605ce88616c3a7b3cfe68a60c13af0e6fd5b18dff231dfdd9eca25226379bb077158c78ae6481729634cb3b3", 0x1000}, {&(0x7f0000001d80)="98a63e8670edba4d4dbb8b9e484665fb70c23a4a6ae8f5c60c6b3f8a389286819b59f17b59c4f5c393b42373b7bb360469d2c7846c34d4b3a920dd9c3788173eb3fe6ec2929e0fe607efb14de909ea06a8109687cc093112f7feccf7716c7df71a16da20d779ec650280761a59903a20c10e1d3d8f7d51a17f0534a5910548cf2cd052f00b8d9ec4b0bde172", 0x8c}, {0x0}, {0x0}], 0x6}}], 0x4, 0x40) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x0) shutdown(r1, 0x1) splice(r1, 0x0, r0, 0x0, 0x406f413, 0x0) 23:45:30 executing program 3: r0 = syz_open_dev$mouse(0xfffffffffffffffc, 0x0, 0xe24aa350110ee1fd) ioctl$FS_IOC_RESVSP(0xffffffffffffffff, 0x40305828, &(0x7f0000000000)={0x0, 0x0, 0x0, 0xffffffff000}) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000040)=ANY=[@ANYBLOB="18000000000000000000000000010000c50000000000020095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, r0, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000180)={&(0x7f0000000140)='ext4_drop_inode\x00', r1}, 0x10) r2 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000040)=ANY=[], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000180)={&(0x7f0000000140)='ext4_drop_inode\x00', r2}, 0x10) r3 = open(&(0x7f0000000000)='.\x00', 0x0, 0x0) symlinkat(&(0x7f0000000040)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', r3, &(0x7f00000000c0)='./file0\x00') unlinkat(r3, &(0x7f0000000280)='./file0\x00', 0x0) 23:45:30 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) [ 1448.872679][T21765] loop4: detected capacity change from 0 to 8185 [ 1448.957267][T21765] loop4: [ 1449.009150][T21765] ntfs3: loop4: Different NTFS' sector size (2048) and media sector size (512) [ 1449.044536][ T8204] usb 2-1: new high-speed USB device number 6 using dummy_hcd [ 1449.081737][T21772] netlink: 244 bytes leftover after parsing attributes in process `syz-executor.5'. 23:45:31 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 23:45:31 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 23:45:31 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) [ 1450.124804][ T8204] usb 2-1: too many endpoints for config 0 interface 0 altsetting 0: 253, using maximum allowed: 30 [ 1450.158072][ T8204] usb 2-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 1450.223175][ T8204] usb 2-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 23:45:35 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 23:45:35 executing program 1: syz_open_dev$hiddev(&(0x7f00000001c0), 0x0, 0x600801) 23:45:35 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 23:45:35 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) [ 1454.005574][ T8204] usb 2-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 253 [ 1454.018892][ T8204] usb 2-1: New USB device found, idVendor=05ac, idProduct=8243, bcdDevice= 0.40 [ 1454.028024][ T8204] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 1454.042180][ T8204] usb 2-1: config 0 descriptor?? [ 1454.076650][ T8204] usb 2-1: can't set config #0, error -71 [ 1454.099674][ T8204] usb 2-1: USB disconnect, device number 6 23:45:39 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 23:45:39 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 23:45:47 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f00000012c0)=@base={0xa, 0x4, 0x4, 0x33}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140), &(0x7f0000000180), 0x39b0, r0}, 0x38) bpf$MAP_DELETE_ELEM(0x3, &(0x7f0000000080)={r0, &(0x7f00000002c0)}, 0x20) 23:45:47 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000040), 0x143341, 0x0) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000100)='/proc/timer_list\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x20000000d67) syz_mount_image$ext4(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) 23:45:47 executing program 1: r0 = socket$pppl2tp(0x18, 0x1, 0x1) r1 = socket$inet6_udp(0xa, 0x2, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f00000042c0)=[{{0x0, 0x0, &(0x7f0000000840)=[{0x0}, {&(0x7f0000000580)=""/240, 0xf0}, {0x0}, {0x0}, {0x0}, {&(0x7f00000007c0)=""/102, 0x66}], 0x6}}], 0x1, 0x0, 0x0) connect$pppl2tp(r0, &(0x7f0000000000)=@pppol2tpv3={0x18, 0x1, {0x3, r1, {0x2, 0x0, @dev}, 0x2}}, 0x2e) sendmmsg(r0, &(0x7f0000000280)=[{{0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x40000}, 0x11}], 0x400000000000085, 0x0) 23:45:47 executing program 2: r0 = syz_mount_image$tmpfs(&(0x7f0000000080), &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000015c0)=ANY=[]) creat(&(0x7f00000009c0)='./file0/file0\x00', 0x0) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) faccessat(r0, &(0x7f0000001e40)='./file0\x00', 0x0) 23:45:47 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:47 executing program 4: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f00000018c0), 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER(r0, 0x40605346, &(0x7f0000000000)={0x0, 0x0, {0x2}}) 23:45:47 executing program 1: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'poly1305-generic\x00'}, 0x58) r1 = accept4(r0, 0x0, 0x0, 0x0) sendmsg$kcm(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f00000001c0)="737ac8fc9f32bdd59016480230afb622f7ed47272c77eb50e0691e4e2821c0dd35", 0x21}, {&(0x7f0000000380)="89", 0x1}], 0x2}, 0x0) 23:45:47 executing program 2: r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_proto_private(r0, 0x8b13, 0x0) [ 1467.173478][T21827] loop3: detected capacity change from 0 to 264192 23:45:49 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:49 executing program 4: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f00000018c0), 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER(r0, 0x40605346, &(0x7f0000000000)={0x0, 0x0, {0x2}}) 23:45:49 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:49 executing program 2: r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_proto_private(r0, 0x8b13, 0x0) [ 1469.412988][T21849] loop1: detected capacity change from 0 to 264192 23:45:52 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:52 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f00000012c0)=@base={0xa, 0x4, 0x4, 0x33}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140), &(0x7f0000000180), 0x39b0, r0}, 0x38) bpf$MAP_DELETE_ELEM(0x3, &(0x7f0000000080)={r0, &(0x7f00000002c0)}, 0x20) 23:45:52 executing program 2: r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_proto_private(r0, 0x8b13, 0x0) 23:45:52 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:52 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:52 executing program 4: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f00000018c0), 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER(r0, 0x40605346, &(0x7f0000000000)={0x0, 0x0, {0x2}}) 23:45:52 executing program 2: r0 = socket$inet_smc(0x2b, 0x1, 0x0) ioctl$sock_proto_private(r0, 0x8b13, 0x0) [ 1473.124088][T21870] loop1: detected capacity change from 0 to 264192 [ 1473.355168][T21871] loop3: detected capacity change from 0 to 264192 23:45:56 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:56 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:56 executing program 4: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f00000018c0), 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER(r0, 0x40605346, &(0x7f0000000000)={0x0, 0x0, {0x2}}) 23:45:56 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) ioctl$KDSETKEYCODE(r0, 0x540e, 0x0) 23:45:57 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) ioctl$KDSETKEYCODE(r0, 0x540e, 0x0) 23:45:57 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) [ 1475.714436][T21890] loop1: detected capacity change from 0 to 264192 23:45:58 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f00000012c0)=@base={0xa, 0x4, 0x4, 0x33}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140), &(0x7f0000000180), 0x39b0, r0}, 0x38) bpf$MAP_DELETE_ELEM(0x3, &(0x7f0000000080)={r0, &(0x7f00000002c0)}, 0x20) 23:45:58 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x0, 0x0) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) getpgid(0x0) sendmmsg$unix(0xffffffffffffffff, 0x0, 0x0, 0x0) r3 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000080eff95"], &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000003c0)={&(0x7f0000000380)='rcu_utilization\x00', r3}, 0x10) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x2, 0x0) r4 = syz_mount_image$vfat(&(0x7f0000000080), &(0x7f0000000940)='./file0\x00', 0x100000000000, 0x2, &(0x7f00000000c0)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0}], 0x0, &(0x7f0000000180)=ANY=[@ANYBLOB]) mkdirat(r4, &(0x7f0000000040)='./file1\x00', 0xc000000) sched_setscheduler(0x0, 0x3, &(0x7f0000000100)) 23:45:58 executing program 4: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f00000000c0)=0x5) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) 23:45:58 executing program 1: r0 = socket$inet6(0xa, 0x400000000001, 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) ppoll(&(0x7f0000000140)=[{r0}], 0x1, 0x0, 0x0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x200002) sendfile(r0, r2, 0x0, 0x80001d00c0d0) 23:45:58 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) ioctl$KDSETKEYCODE(r0, 0x540e, 0x0) [ 1477.723473][T21906] loop3: detected capacity change from 0 to 264192 23:46:00 executing program 4: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f00000000c0)=0x5) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) 23:46:00 executing program 2: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) ioctl$KDSETKEYCODE(r0, 0x540e, 0x0) 23:46:00 executing program 4: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f00000000c0)=0x5) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) 23:46:00 executing program 0: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f00000000c0)=0x5) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) 23:46:00 executing program 3: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000080)={{0x6, @rose}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x48) listen(r0, 0x0) sendmsg$netlink(0xffffffffffffffff, &(0x7f0000003d40)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000200)={0xc0, 0x0, 0x0, 0x0, 0x0, "", [@typed={0xc, 0x0, 0x0, 0x0, @u64}, @nested={0x25, 0x0, 0x0, 0x1, [@generic="d7ee07a3792b00a2d2b9400635e2de9bda4f5ebc5a7a1a2b73cd5fca5837c4449e"]}, @generic="e6a689c0007198f5f9dc950f21d95ba4037e7993230b7b150de3a6a6c18f74f5035c7d57cfb2879c777687e93c2cbed0e96b75eca88c9ac59cf83566a37f27ff748ed723a7420c542a9fe59b8d2e468abf67acfffea635bf3b79efa2d104a832ce9631a2520ab7c7bbf11bdf22cac347ee457e48f5d8f9ce6c"]}, 0xc0}], 0x1}, 0x0) unshare(0x40000000) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) write(r3, &(0x7f0000001400), 0x0) sendfile(r3, 0xffffffffffffffff, 0x0, 0x11f06) ioctl$ifreq_SIOCGIFINDEX_vcan(r3, 0x8933, &(0x7f0000000000)={'vxcan0\x00'}) write$cgroup_int(0xffffffffffffffff, &(0x7f0000000200), 0xf000) sendfile(r2, r1, 0x0, 0x800000000000c) socketpair(0x0, 0x1, 0x0, &(0x7f0000000340)={0x0, 0x0}) recvmmsg(r0, &(0x7f0000000540)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0}}], 0x5dd, 0x40012062, 0x0) recvfrom$netrom(r0, &(0x7f0000000180)=""/37, 0x25, 0x40010000, 0x0, 0x0) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x0, 0x0, 0x3f000000}) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000003a00)={{{@in6=@mcast2, @in=@loopback}}, {{@in6=@empty}, 0x0, @in=@multicast2}}, 0x0) 23:46:00 executing program 1: r0 = socket$inet6(0xa, 0x400000000001, 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) ppoll(&(0x7f0000000140)=[{r0}], 0x1, 0x0, 0x0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x200002) sendfile(r0, r2, 0x0, 0x80001d00c0d0) 23:46:00 executing program 2: r0 = socket$inet6(0xa, 0x400000000001, 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) ppoll(&(0x7f0000000140)=[{r0}], 0x1, 0x0, 0x0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x200002) sendfile(r0, r2, 0x0, 0x80001d00c0d0) [ 1479.508028][ T27] audit: type=1800 audit(1658360761.087:693): pid=21922 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1176 res=0 errno=0 23:46:01 executing program 0: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f00000000c0)=0x5) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) 23:46:01 executing program 5: r0 = bpf$MAP_CREATE(0x0, &(0x7f00000012c0)=@base={0xa, 0x4, 0x4, 0x33}, 0x48) bpf$MAP_UPDATE_BATCH(0x1a, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000140), &(0x7f0000000180), 0x39b0, r0}, 0x38) bpf$MAP_DELETE_ELEM(0x3, &(0x7f0000000080)={r0, &(0x7f00000002c0)}, 0x20) 23:46:01 executing program 3: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000080)={{0x6, @rose}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x48) listen(r0, 0x0) sendmsg$netlink(0xffffffffffffffff, &(0x7f0000003d40)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000200)={0xc0, 0x0, 0x0, 0x0, 0x0, "", [@typed={0xc, 0x0, 0x0, 0x0, @u64}, @nested={0x25, 0x0, 0x0, 0x1, [@generic="d7ee07a3792b00a2d2b9400635e2de9bda4f5ebc5a7a1a2b73cd5fca5837c4449e"]}, @generic="e6a689c0007198f5f9dc950f21d95ba4037e7993230b7b150de3a6a6c18f74f5035c7d57cfb2879c777687e93c2cbed0e96b75eca88c9ac59cf83566a37f27ff748ed723a7420c542a9fe59b8d2e468abf67acfffea635bf3b79efa2d104a832ce9631a2520ab7c7bbf11bdf22cac347ee457e48f5d8f9ce6c"]}, 0xc0}], 0x1}, 0x0) unshare(0x40000000) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) write(r3, &(0x7f0000001400), 0x0) sendfile(r3, 0xffffffffffffffff, 0x0, 0x11f06) ioctl$ifreq_SIOCGIFINDEX_vcan(r3, 0x8933, &(0x7f0000000000)={'vxcan0\x00'}) write$cgroup_int(0xffffffffffffffff, &(0x7f0000000200), 0xf000) sendfile(r2, r1, 0x0, 0x800000000000c) socketpair(0x0, 0x1, 0x0, &(0x7f0000000340)={0x0, 0x0}) recvmmsg(r0, &(0x7f0000000540)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0}}], 0x5dd, 0x40012062, 0x0) recvfrom$netrom(r0, &(0x7f0000000180)=""/37, 0x25, 0x40010000, 0x0, 0x0) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x0, 0x0, 0x3f000000}) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000003a00)={{{@in6=@mcast2, @in=@loopback}}, {{@in6=@empty}, 0x0, @in=@multicast2}}, 0x0) 23:46:01 executing program 4: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f00000000c0)=0x5) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) 23:46:01 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) connect$inet6(r2, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$tipc(&(0x7f0000000640), 0xffffffffffffffff) sendmsg$TIPC_CMD_ENABLE_BEARER(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)={0x34, r4, 0x5, 0x0, 0x0, {{}, {0x0, 0x3}, {0x18, 0x17, {0x0, 0x0, @l2={'eth', 0x3a, 'wlan0\x00'}}}}}, 0x34}}, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f00000003c0)) sendmsg$NL80211_CMD_SET_WIPHY_NETNS(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000100)={0x30, 0x0, 0x100, 0x70bd2a, 0x25dfdbfd, {{}, {@val={0x8}, @void, @void}}, [@NL80211_ATTR_WDEV={0xc, 0x99, {0xffff8dc6, 0x27}}, @NL80211_ATTR_WIPHY={0x8, 0x1, 0x7b}]}, 0x30}, 0x1, 0x0, 0x0, 0x40000}, 0x2000001) openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000140)='devices.allow\x00', 0x2, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r2, 0x6, 0xd, &(0x7f0000000040)='yeah\x00', 0x5) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, 0x0) ioctl$vim2m_VIDIOC_QBUF(0xffffffffffffffff, 0xc058560f, &(0x7f0000000280)=@userptr={0x0, 0x3, 0x4, 0x0, 0x0, {}, {0x0, 0x2, 0x3, 0x0, 0x0, 0x20, "d5055500"}, 0x0, 0x2, {&(0x7f00000001c0)}, 0x4820a310}) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r2, r5, 0x0, 0x8000002b) write$sndseq(0xffffffffffffffff, &(0x7f0000000000)=[{0x84, 0x77, 0x0, 0x0, @tick, {}, {}, @raw32}], 0xffc8) 23:46:01 executing program 0: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_DSP_SETFMT(r0, 0xc0045005, &(0x7f00000000c0)=0x5) r1 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) dup3(r1, r0, 0x0) 23:46:01 executing program 0: r0 = syz_io_uring_setup(0x294f, &(0x7f0000000040), &(0x7f00006d5000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000180)=0x80, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_FSYNC={0x3, 0x2, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x2a6e, 0x0, 0x0, 0x0, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000002300)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba3b70786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000000000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0282a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a64f4ce63f69db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9448a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d6027ab2aec8f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace03361607cc1a84be659355629ab13ad49008c3fcfa2423439a3607961d5b59da48a0155e8e42cc13c702cc40c99cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d88723ef65aa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604c5ab751773a5cf8a719a7ada06ed03832bf274707c7c970edc20d2cb639ecd58709b05a20097208d03f7a146a6901913618738679d4e0af53eae997eecfa0dc3dcec19d3d9205450765d659220c92701ee75c8710470d9eb6f62c5c721883f1544ba66271c8dab05a933746c16b6e93294b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7d33c49336d4cba2cbb170ad7539a45774dfcc55257215c8ae719dc1c232fc6699ef01005887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd251dc88e91a5e458e66ea1e822d55d4dd919a95eb4c25a08cb6e1070000003a0fd07a4ad9df240e00006aaa2db0dfe416146840d88bd08365e547c970e2983200703864a3b9e1682cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbf5e23a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573eefd5d4e33b9ef585980789a92b9848906f545559d32112b5040f0776703363249ca984cbb09752f099efbb9e7362e4999594c1086d8958e9469db01d85fb0b9b3148663e9ea2e755d96c70e540b4200e4cf82986712dd733b26d00e947d03c42215118426d548cb2077b5904fcb063d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5dbc37d03ee056b2579a1d16799589a2600000000aa00006c94bcaf115fbbcb216e3cb7fd9afe16d1fff2d067e508aa5f6de0ea4e9ec1b3a4ab1f8b5f312fc50000000000000000000000000042709db6de7e969ac0ce18b47280fb1b1b1531648122fed3e25edecb5200f5000000000000166f7d36b2966c19af7ffa6afa69e50821c9aa3ae60fbc196cf8ad2f7f86d79db1bb0ecbb9c3d0d3d407574def838e4def26ed9c7e6c69858f7813be8ffc565583663bebfe7485660b67e1436cbc6d4d3c48ab7b033d7d1195173edb16643f69cb779802839d490a4df94e5ea89c192af2ae83876edd59c9a7140e12ba591f073ec604f7e8f1e100cd414e9237ecfc052d9a73a868cd0e4b06da0435af72fb0d25657e8f5464b19fa83f977e6900000000367871fa37420e7a232ef9b440bb0639994c655d144c5786939d6a187b8182ddd2bec36cd28371b1754cb6c53697fb23576ee0d3fd0a5803c9be9fe384f1a7a9a8eb64d17d238fa3238a001aa8ed040a69e9ec0a627e3b3ca64d4680d819c14c71684581000000000000000000000000000000000000c6a6587715865fe14558960bc936bc83abd1f2a00b17a407457681d0760000000000000040000000000000000000004faeabea6de40ae30291662594c993099ef041c264a64d77d69e0cdfa620a191704cef91e269044acf844de65a099200265e13c2a8f9b717886dea8e79407e34bc268a17965033ca1dfeeaf9b49bc68f1546595642f9fc008875ddb7aebda7a16b1d20dd8b65bcdac8cdc75a173fd2e57a9c37bf5a52ea001ec981dd7ad4e5944575ced39233ada8f3c1b856644812828bb79536a5188d14fe537250dc107121534cbbc7598f48aa2335616ae8eb72acf6982048e568e37f1f58e9714343587734c7ec0fa5c44d13165d6384bf9500757b4b0275950d6e7c451eef3fd353d47c54c4c2cf7318e6c24583ba0966225284d1abac80786519c563ddf0e6c023d537ca010d6d4e072c98f45415d13f0dcea174f162ebd00b42264f6fa3dccd09f4101dd254e54423b30e06713eccfacb6ffb38afff920980af938a4d78f4b9a6b5c7424e91121cda789104ee490d25843f1622bba93257cc23e45cd7ed42a6db991d51804e674e507dfd53b5ab6944df33f4f494b9ae0d2de410539828e82a939ad82bd61f891d6705f548535dc469385e66809d7d4d3630b6f22c2f41fdaa0fadeea09fa4f7005813643c2d6307d55689faf6f656327ac5872a3bd4c11363909a8b9f30e5401993a0f6e1a9b42287542647d1e86b02b7e36319414629ac1f35572a9cc1e98ce1457f922da0c2de76c9e97944efad0a3ad78cda81c5b82709d696e85bbf4595ef9664a6aff8cf96446cb6c26595f4eb659d26c846471f6551dbb24fc6c03a01e33efcd5939472b687d31be9bd9bd1bcda45bd2236f06ceca8f50f7d348ebcb9d810d4dc3c55bbe4055ce9c45267daeec7a7d8b498f56ee933cc02fb53c2c28fa09ce5ada5de1415309761f6378c794f8ce23c1f7add4f65280ab446ea2d13fcb46cb46f1df3bf4c147e4d079fa4db1733c65388d4db163fafc52500f3f41b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000240)={r3, 0x0, 0xf0, 0x0, &(0x7f0000000140)="d510c490f913674c5ae400000000", 0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) [ 1479.868540][ T27] audit: type=1800 audit(1658360761.447:694): pid=21945 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1188 res=0 errno=0 23:46:01 executing program 0: r0 = syz_io_uring_setup(0x294f, &(0x7f0000000040), &(0x7f00006d5000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000180)=0x80, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_FSYNC={0x3, 0x2, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x2a6e, 0x0, 0x0, 0x0, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000002300)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba3b70786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000000000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0282a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a64f4ce63f69db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9448a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d6027ab2aec8f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace03361607cc1a84be659355629ab13ad49008c3fcfa2423439a3607961d5b59da48a0155e8e42cc13c702cc40c99cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d88723ef65aa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604c5ab751773a5cf8a719a7ada06ed03832bf274707c7c970edc20d2cb639ecd58709b05a20097208d03f7a146a6901913618738679d4e0af53eae997eecfa0dc3dcec19d3d9205450765d659220c92701ee75c8710470d9eb6f62c5c721883f1544ba66271c8dab05a933746c16b6e93294b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7d33c49336d4cba2cbb170ad7539a45774dfcc55257215c8ae719dc1c232fc6699ef01005887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd251dc88e91a5e458e66ea1e822d55d4dd919a95eb4c25a08cb6e1070000003a0fd07a4ad9df240e00006aaa2db0dfe416146840d88bd08365e547c970e2983200703864a3b9e1682cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbf5e23a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573eefd5d4e33b9ef585980789a92b9848906f545559d32112b5040f0776703363249ca984cbb09752f099efbb9e7362e4999594c1086d8958e9469db01d85fb0b9b3148663e9ea2e755d96c70e540b4200e4cf82986712dd733b26d00e947d03c42215118426d548cb2077b5904fcb063d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5dbc37d03ee056b2579a1d16799589a2600000000aa00006c94bcaf115fbbcb216e3cb7fd9afe16d1fff2d067e508aa5f6de0ea4e9ec1b3a4ab1f8b5f312fc50000000000000000000000000042709db6de7e969ac0ce18b47280fb1b1b1531648122fed3e25edecb5200f5000000000000166f7d36b2966c19af7ffa6afa69e50821c9aa3ae60fbc196cf8ad2f7f86d79db1bb0ecbb9c3d0d3d407574def838e4def26ed9c7e6c69858f7813be8ffc565583663bebfe7485660b67e1436cbc6d4d3c48ab7b033d7d1195173edb16643f69cb779802839d490a4df94e5ea89c192af2ae83876edd59c9a7140e12ba591f073ec604f7e8f1e100cd414e9237ecfc052d9a73a868cd0e4b06da0435af72fb0d25657e8f5464b19fa83f977e6900000000367871fa37420e7a232ef9b440bb0639994c655d144c5786939d6a187b8182ddd2bec36cd28371b1754cb6c53697fb23576ee0d3fd0a5803c9be9fe384f1a7a9a8eb64d17d238fa3238a001aa8ed040a69e9ec0a627e3b3ca64d4680d819c14c71684581000000000000000000000000000000000000c6a6587715865fe14558960bc936bc83abd1f2a00b17a407457681d0760000000000000040000000000000000000004faeabea6de40ae30291662594c993099ef041c264a64d77d69e0cdfa620a191704cef91e269044acf844de65a099200265e13c2a8f9b717886dea8e79407e34bc268a17965033ca1dfeeaf9b49bc68f1546595642f9fc008875ddb7aebda7a16b1d20dd8b65bcdac8cdc75a173fd2e57a9c37bf5a52ea001ec981dd7ad4e5944575ced39233ada8f3c1b856644812828bb79536a5188d14fe537250dc107121534cbbc7598f48aa2335616ae8eb72acf6982048e568e37f1f58e9714343587734c7ec0fa5c44d13165d6384bf9500757b4b0275950d6e7c451eef3fd353d47c54c4c2cf7318e6c24583ba0966225284d1abac80786519c563ddf0e6c023d537ca010d6d4e072c98f45415d13f0dcea174f162ebd00b42264f6fa3dccd09f4101dd254e54423b30e06713eccfacb6ffb38afff920980af938a4d78f4b9a6b5c7424e91121cda789104ee490d25843f1622bba93257cc23e45cd7ed42a6db991d51804e674e507dfd53b5ab6944df33f4f494b9ae0d2de410539828e82a939ad82bd61f891d6705f548535dc469385e66809d7d4d3630b6f22c2f41fdaa0fadeea09fa4f7005813643c2d6307d55689faf6f656327ac5872a3bd4c11363909a8b9f30e5401993a0f6e1a9b42287542647d1e86b02b7e36319414629ac1f35572a9cc1e98ce1457f922da0c2de76c9e97944efad0a3ad78cda81c5b82709d696e85bbf4595ef9664a6aff8cf96446cb6c26595f4eb659d26c846471f6551dbb24fc6c03a01e33efcd5939472b687d31be9bd9bd1bcda45bd2236f06ceca8f50f7d348ebcb9d810d4dc3c55bbe4055ce9c45267daeec7a7d8b498f56ee933cc02fb53c2c28fa09ce5ada5de1415309761f6378c794f8ce23c1f7add4f65280ab446ea2d13fcb46cb46f1df3bf4c147e4d079fa4db1733c65388d4db163fafc52500f3f41b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000240)={r3, 0x0, 0xf0, 0x0, &(0x7f0000000140)="d510c490f913674c5ae400000000", 0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 23:46:01 executing program 3: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000080)={{0x6, @rose}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x48) listen(r0, 0x0) sendmsg$netlink(0xffffffffffffffff, &(0x7f0000003d40)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000200)={0xc0, 0x0, 0x0, 0x0, 0x0, "", [@typed={0xc, 0x0, 0x0, 0x0, @u64}, @nested={0x25, 0x0, 0x0, 0x1, [@generic="d7ee07a3792b00a2d2b9400635e2de9bda4f5ebc5a7a1a2b73cd5fca5837c4449e"]}, @generic="e6a689c0007198f5f9dc950f21d95ba4037e7993230b7b150de3a6a6c18f74f5035c7d57cfb2879c777687e93c2cbed0e96b75eca88c9ac59cf83566a37f27ff748ed723a7420c542a9fe59b8d2e468abf67acfffea635bf3b79efa2d104a832ce9631a2520ab7c7bbf11bdf22cac347ee457e48f5d8f9ce6c"]}, 0xc0}], 0x1}, 0x0) unshare(0x40000000) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) write(r3, &(0x7f0000001400), 0x0) sendfile(r3, 0xffffffffffffffff, 0x0, 0x11f06) ioctl$ifreq_SIOCGIFINDEX_vcan(r3, 0x8933, &(0x7f0000000000)={'vxcan0\x00'}) write$cgroup_int(0xffffffffffffffff, &(0x7f0000000200), 0xf000) sendfile(r2, r1, 0x0, 0x800000000000c) socketpair(0x0, 0x1, 0x0, &(0x7f0000000340)={0x0, 0x0}) recvmmsg(r0, &(0x7f0000000540)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0}}], 0x5dd, 0x40012062, 0x0) recvfrom$netrom(r0, &(0x7f0000000180)=""/37, 0x25, 0x40010000, 0x0, 0x0) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x0, 0x0, 0x3f000000}) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000003a00)={{{@in6=@mcast2, @in=@loopback}}, {{@in6=@empty}, 0x0, @in=@multicast2}}, 0x0) 23:46:01 executing program 0: r0 = syz_io_uring_setup(0x294f, &(0x7f0000000040), &(0x7f00006d5000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000180)=0x80, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_FSYNC={0x3, 0x2, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x2a6e, 0x0, 0x0, 0x0, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000002300)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba3b70786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000000000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0282a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a64f4ce63f69db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9448a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d6027ab2aec8f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace03361607cc1a84be659355629ab13ad49008c3fcfa2423439a3607961d5b59da48a0155e8e42cc13c702cc40c99cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d88723ef65aa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604c5ab751773a5cf8a719a7ada06ed03832bf274707c7c970edc20d2cb639ecd58709b05a20097208d03f7a146a6901913618738679d4e0af53eae997eecfa0dc3dcec19d3d9205450765d659220c92701ee75c8710470d9eb6f62c5c721883f1544ba66271c8dab05a933746c16b6e93294b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7d33c49336d4cba2cbb170ad7539a45774dfcc55257215c8ae719dc1c232fc6699ef01005887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd251dc88e91a5e458e66ea1e822d55d4dd919a95eb4c25a08cb6e1070000003a0fd07a4ad9df240e00006aaa2db0dfe416146840d88bd08365e547c970e2983200703864a3b9e1682cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbf5e23a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573eefd5d4e33b9ef585980789a92b9848906f545559d32112b5040f0776703363249ca984cbb09752f099efbb9e7362e4999594c1086d8958e9469db01d85fb0b9b3148663e9ea2e755d96c70e540b4200e4cf82986712dd733b26d00e947d03c42215118426d548cb2077b5904fcb063d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5dbc37d03ee056b2579a1d16799589a2600000000aa00006c94bcaf115fbbcb216e3cb7fd9afe16d1fff2d067e508aa5f6de0ea4e9ec1b3a4ab1f8b5f312fc50000000000000000000000000042709db6de7e969ac0ce18b47280fb1b1b1531648122fed3e25edecb5200f5000000000000166f7d36b2966c19af7ffa6afa69e50821c9aa3ae60fbc196cf8ad2f7f86d79db1bb0ecbb9c3d0d3d407574def838e4def26ed9c7e6c69858f7813be8ffc565583663bebfe7485660b67e1436cbc6d4d3c48ab7b033d7d1195173edb16643f69cb779802839d490a4df94e5ea89c192af2ae83876edd59c9a7140e12ba591f073ec604f7e8f1e100cd414e9237ecfc052d9a73a868cd0e4b06da0435af72fb0d25657e8f5464b19fa83f977e6900000000367871fa37420e7a232ef9b440bb0639994c655d144c5786939d6a187b8182ddd2bec36cd28371b1754cb6c53697fb23576ee0d3fd0a5803c9be9fe384f1a7a9a8eb64d17d238fa3238a001aa8ed040a69e9ec0a627e3b3ca64d4680d819c14c71684581000000000000000000000000000000000000c6a6587715865fe14558960bc936bc83abd1f2a00b17a407457681d0760000000000000040000000000000000000004faeabea6de40ae30291662594c993099ef041c264a64d77d69e0cdfa620a191704cef91e269044acf844de65a099200265e13c2a8f9b717886dea8e79407e34bc268a17965033ca1dfeeaf9b49bc68f1546595642f9fc008875ddb7aebda7a16b1d20dd8b65bcdac8cdc75a173fd2e57a9c37bf5a52ea001ec981dd7ad4e5944575ced39233ada8f3c1b856644812828bb79536a5188d14fe537250dc107121534cbbc7598f48aa2335616ae8eb72acf6982048e568e37f1f58e9714343587734c7ec0fa5c44d13165d6384bf9500757b4b0275950d6e7c451eef3fd353d47c54c4c2cf7318e6c24583ba0966225284d1abac80786519c563ddf0e6c023d537ca010d6d4e072c98f45415d13f0dcea174f162ebd00b42264f6fa3dccd09f4101dd254e54423b30e06713eccfacb6ffb38afff920980af938a4d78f4b9a6b5c7424e91121cda789104ee490d25843f1622bba93257cc23e45cd7ed42a6db991d51804e674e507dfd53b5ab6944df33f4f494b9ae0d2de410539828e82a939ad82bd61f891d6705f548535dc469385e66809d7d4d3630b6f22c2f41fdaa0fadeea09fa4f7005813643c2d6307d55689faf6f656327ac5872a3bd4c11363909a8b9f30e5401993a0f6e1a9b42287542647d1e86b02b7e36319414629ac1f35572a9cc1e98ce1457f922da0c2de76c9e97944efad0a3ad78cda81c5b82709d696e85bbf4595ef9664a6aff8cf96446cb6c26595f4eb659d26c846471f6551dbb24fc6c03a01e33efcd5939472b687d31be9bd9bd1bcda45bd2236f06ceca8f50f7d348ebcb9d810d4dc3c55bbe4055ce9c45267daeec7a7d8b498f56ee933cc02fb53c2c28fa09ce5ada5de1415309761f6378c794f8ce23c1f7add4f65280ab446ea2d13fcb46cb46f1df3bf4c147e4d079fa4db1733c65388d4db163fafc52500f3f41b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000240)={r3, 0x0, 0xf0, 0x0, &(0x7f0000000140)="d510c490f913674c5ae400000000", 0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 23:46:01 executing program 1: r0 = socket$inet6(0xa, 0x400000000001, 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) ppoll(&(0x7f0000000140)=[{r0}], 0x1, 0x0, 0x0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x200002) sendfile(r0, r2, 0x0, 0x80001d00c0d0) 23:46:01 executing program 2: r0 = socket$inet6(0xa, 0x400000000001, 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) ppoll(&(0x7f0000000140)=[{r0}], 0x1, 0x0, 0x0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x200002) sendfile(r0, r2, 0x0, 0x80001d00c0d0) [ 1480.507312][ T27] audit: type=1800 audit(1658360762.087:695): pid=21968 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1188 res=0 errno=0 23:46:02 executing program 5: r0 = syz_io_uring_setup(0x294f, &(0x7f0000000040), &(0x7f00006d5000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000180)=0x80, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_FSYNC={0x3, 0x2, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x2a6e, 0x0, 0x0, 0x0, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000002300)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba3b70786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000000000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0282a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a64f4ce63f69db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9448a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d6027ab2aec8f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace03361607cc1a84be659355629ab13ad49008c3fcfa2423439a3607961d5b59da48a0155e8e42cc13c702cc40c99cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d88723ef65aa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604c5ab751773a5cf8a719a7ada06ed03832bf274707c7c970edc20d2cb639ecd58709b05a20097208d03f7a146a6901913618738679d4e0af53eae997eecfa0dc3dcec19d3d9205450765d659220c92701ee75c8710470d9eb6f62c5c721883f1544ba66271c8dab05a933746c16b6e93294b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7d33c49336d4cba2cbb170ad7539a45774dfcc55257215c8ae719dc1c232fc6699ef01005887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd251dc88e91a5e458e66ea1e822d55d4dd919a95eb4c25a08cb6e1070000003a0fd07a4ad9df240e00006aaa2db0dfe416146840d88bd08365e547c970e2983200703864a3b9e1682cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbf5e23a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573eefd5d4e33b9ef585980789a92b9848906f545559d32112b5040f0776703363249ca984cbb09752f099efbb9e7362e4999594c1086d8958e9469db01d85fb0b9b3148663e9ea2e755d96c70e540b4200e4cf82986712dd733b26d00e947d03c42215118426d548cb2077b5904fcb063d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5dbc37d03ee056b2579a1d16799589a2600000000aa00006c94bcaf115fbbcb216e3cb7fd9afe16d1fff2d067e508aa5f6de0ea4e9ec1b3a4ab1f8b5f312fc50000000000000000000000000042709db6de7e969ac0ce18b47280fb1b1b1531648122fed3e25edecb5200f5000000000000166f7d36b2966c19af7ffa6afa69e50821c9aa3ae60fbc196cf8ad2f7f86d79db1bb0ecbb9c3d0d3d407574def838e4def26ed9c7e6c69858f7813be8ffc565583663bebfe7485660b67e1436cbc6d4d3c48ab7b033d7d1195173edb16643f69cb779802839d490a4df94e5ea89c192af2ae83876edd59c9a7140e12ba591f073ec604f7e8f1e100cd414e9237ecfc052d9a73a868cd0e4b06da0435af72fb0d25657e8f5464b19fa83f977e6900000000367871fa37420e7a232ef9b440bb0639994c655d144c5786939d6a187b8182ddd2bec36cd28371b1754cb6c53697fb23576ee0d3fd0a5803c9be9fe384f1a7a9a8eb64d17d238fa3238a001aa8ed040a69e9ec0a627e3b3ca64d4680d819c14c71684581000000000000000000000000000000000000c6a6587715865fe14558960bc936bc83abd1f2a00b17a407457681d0760000000000000040000000000000000000004faeabea6de40ae30291662594c993099ef041c264a64d77d69e0cdfa620a191704cef91e269044acf844de65a099200265e13c2a8f9b717886dea8e79407e34bc268a17965033ca1dfeeaf9b49bc68f1546595642f9fc008875ddb7aebda7a16b1d20dd8b65bcdac8cdc75a173fd2e57a9c37bf5a52ea001ec981dd7ad4e5944575ced39233ada8f3c1b856644812828bb79536a5188d14fe537250dc107121534cbbc7598f48aa2335616ae8eb72acf6982048e568e37f1f58e9714343587734c7ec0fa5c44d13165d6384bf9500757b4b0275950d6e7c451eef3fd353d47c54c4c2cf7318e6c24583ba0966225284d1abac80786519c563ddf0e6c023d537ca010d6d4e072c98f45415d13f0dcea174f162ebd00b42264f6fa3dccd09f4101dd254e54423b30e06713eccfacb6ffb38afff920980af938a4d78f4b9a6b5c7424e91121cda789104ee490d25843f1622bba93257cc23e45cd7ed42a6db991d51804e674e507dfd53b5ab6944df33f4f494b9ae0d2de410539828e82a939ad82bd61f891d6705f548535dc469385e66809d7d4d3630b6f22c2f41fdaa0fadeea09fa4f7005813643c2d6307d55689faf6f656327ac5872a3bd4c11363909a8b9f30e5401993a0f6e1a9b42287542647d1e86b02b7e36319414629ac1f35572a9cc1e98ce1457f922da0c2de76c9e97944efad0a3ad78cda81c5b82709d696e85bbf4595ef9664a6aff8cf96446cb6c26595f4eb659d26c846471f6551dbb24fc6c03a01e33efcd5939472b687d31be9bd9bd1bcda45bd2236f06ceca8f50f7d348ebcb9d810d4dc3c55bbe4055ce9c45267daeec7a7d8b498f56ee933cc02fb53c2c28fa09ce5ada5de1415309761f6378c794f8ce23c1f7add4f65280ab446ea2d13fcb46cb46f1df3bf4c147e4d079fa4db1733c65388d4db163fafc52500f3f41b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000240)={r3, 0x0, 0xf0, 0x0, &(0x7f0000000140)="d510c490f913674c5ae400000000", 0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 23:46:02 executing program 0: r0 = syz_io_uring_setup(0x294f, &(0x7f0000000040), &(0x7f00006d5000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000180)=0x80, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_FSYNC={0x3, 0x2, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x2a6e, 0x0, 0x0, 0x0, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000002300)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba3b70786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000000000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0282a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a64f4ce63f69db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9448a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d6027ab2aec8f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace03361607cc1a84be659355629ab13ad49008c3fcfa2423439a3607961d5b59da48a0155e8e42cc13c702cc40c99cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d88723ef65aa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604c5ab751773a5cf8a719a7ada06ed03832bf274707c7c970edc20d2cb639ecd58709b05a20097208d03f7a146a6901913618738679d4e0af53eae997eecfa0dc3dcec19d3d9205450765d659220c92701ee75c8710470d9eb6f62c5c721883f1544ba66271c8dab05a933746c16b6e93294b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7d33c49336d4cba2cbb170ad7539a45774dfcc55257215c8ae719dc1c232fc6699ef01005887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd251dc88e91a5e458e66ea1e822d55d4dd919a95eb4c25a08cb6e1070000003a0fd07a4ad9df240e00006aaa2db0dfe416146840d88bd08365e547c970e2983200703864a3b9e1682cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbf5e23a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573eefd5d4e33b9ef585980789a92b9848906f545559d32112b5040f0776703363249ca984cbb09752f099efbb9e7362e4999594c1086d8958e9469db01d85fb0b9b3148663e9ea2e755d96c70e540b4200e4cf82986712dd733b26d00e947d03c42215118426d548cb2077b5904fcb063d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5dbc37d03ee056b2579a1d16799589a2600000000aa00006c94bcaf115fbbcb216e3cb7fd9afe16d1fff2d067e508aa5f6de0ea4e9ec1b3a4ab1f8b5f312fc50000000000000000000000000042709db6de7e969ac0ce18b47280fb1b1b1531648122fed3e25edecb5200f5000000000000166f7d36b2966c19af7ffa6afa69e50821c9aa3ae60fbc196cf8ad2f7f86d79db1bb0ecbb9c3d0d3d407574def838e4def26ed9c7e6c69858f7813be8ffc565583663bebfe7485660b67e1436cbc6d4d3c48ab7b033d7d1195173edb16643f69cb779802839d490a4df94e5ea89c192af2ae83876edd59c9a7140e12ba591f073ec604f7e8f1e100cd414e9237ecfc052d9a73a868cd0e4b06da0435af72fb0d25657e8f5464b19fa83f977e6900000000367871fa37420e7a232ef9b440bb0639994c655d144c5786939d6a187b8182ddd2bec36cd28371b1754cb6c53697fb23576ee0d3fd0a5803c9be9fe384f1a7a9a8eb64d17d238fa3238a001aa8ed040a69e9ec0a627e3b3ca64d4680d819c14c71684581000000000000000000000000000000000000c6a6587715865fe14558960bc936bc83abd1f2a00b17a407457681d0760000000000000040000000000000000000004faeabea6de40ae30291662594c993099ef041c264a64d77d69e0cdfa620a191704cef91e269044acf844de65a099200265e13c2a8f9b717886dea8e79407e34bc268a17965033ca1dfeeaf9b49bc68f1546595642f9fc008875ddb7aebda7a16b1d20dd8b65bcdac8cdc75a173fd2e57a9c37bf5a52ea001ec981dd7ad4e5944575ced39233ada8f3c1b856644812828bb79536a5188d14fe537250dc107121534cbbc7598f48aa2335616ae8eb72acf6982048e568e37f1f58e9714343587734c7ec0fa5c44d13165d6384bf9500757b4b0275950d6e7c451eef3fd353d47c54c4c2cf7318e6c24583ba0966225284d1abac80786519c563ddf0e6c023d537ca010d6d4e072c98f45415d13f0dcea174f162ebd00b42264f6fa3dccd09f4101dd254e54423b30e06713eccfacb6ffb38afff920980af938a4d78f4b9a6b5c7424e91121cda789104ee490d25843f1622bba93257cc23e45cd7ed42a6db991d51804e674e507dfd53b5ab6944df33f4f494b9ae0d2de410539828e82a939ad82bd61f891d6705f548535dc469385e66809d7d4d3630b6f22c2f41fdaa0fadeea09fa4f7005813643c2d6307d55689faf6f656327ac5872a3bd4c11363909a8b9f30e5401993a0f6e1a9b42287542647d1e86b02b7e36319414629ac1f35572a9cc1e98ce1457f922da0c2de76c9e97944efad0a3ad78cda81c5b82709d696e85bbf4595ef9664a6aff8cf96446cb6c26595f4eb659d26c846471f6551dbb24fc6c03a01e33efcd5939472b687d31be9bd9bd1bcda45bd2236f06ceca8f50f7d348ebcb9d810d4dc3c55bbe4055ce9c45267daeec7a7d8b498f56ee933cc02fb53c2c28fa09ce5ada5de1415309761f6378c794f8ce23c1f7add4f65280ab446ea2d13fcb46cb46f1df3bf4c147e4d079fa4db1733c65388d4db163fafc52500f3f41b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000240)={r3, 0x0, 0xf0, 0x0, &(0x7f0000000140)="d510c490f913674c5ae400000000", 0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 23:46:02 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) connect$inet6(r2, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$tipc(&(0x7f0000000640), 0xffffffffffffffff) sendmsg$TIPC_CMD_ENABLE_BEARER(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)={0x34, r4, 0x5, 0x0, 0x0, {{}, {0x0, 0x3}, {0x18, 0x17, {0x0, 0x0, @l2={'eth', 0x3a, 'wlan0\x00'}}}}}, 0x34}}, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f00000003c0)) sendmsg$NL80211_CMD_SET_WIPHY_NETNS(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000100)={0x30, 0x0, 0x100, 0x70bd2a, 0x25dfdbfd, {{}, {@val={0x8}, @void, @void}}, [@NL80211_ATTR_WDEV={0xc, 0x99, {0xffff8dc6, 0x27}}, @NL80211_ATTR_WIPHY={0x8, 0x1, 0x7b}]}, 0x30}, 0x1, 0x0, 0x0, 0x40000}, 0x2000001) openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000140)='devices.allow\x00', 0x2, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r2, 0x6, 0xd, &(0x7f0000000040)='yeah\x00', 0x5) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, 0x0) ioctl$vim2m_VIDIOC_QBUF(0xffffffffffffffff, 0xc058560f, &(0x7f0000000280)=@userptr={0x0, 0x3, 0x4, 0x0, 0x0, {}, {0x0, 0x2, 0x3, 0x0, 0x0, 0x20, "d5055500"}, 0x0, 0x2, {&(0x7f00000001c0)}, 0x4820a310}) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r2, r5, 0x0, 0x8000002b) write$sndseq(0xffffffffffffffff, &(0x7f0000000000)=[{0x84, 0x77, 0x0, 0x0, @tick, {}, {}, @raw32}], 0xffc8) 23:46:02 executing program 3: r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000080)={{0x6, @rose}, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x2}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @rose={0xbb, 0xbb, 0xbb, 0x1, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}, 0x48) listen(r0, 0x0) sendmsg$netlink(0xffffffffffffffff, &(0x7f0000003d40)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000200)={0xc0, 0x0, 0x0, 0x0, 0x0, "", [@typed={0xc, 0x0, 0x0, 0x0, @u64}, @nested={0x25, 0x0, 0x0, 0x1, [@generic="d7ee07a3792b00a2d2b9400635e2de9bda4f5ebc5a7a1a2b73cd5fca5837c4449e"]}, @generic="e6a689c0007198f5f9dc950f21d95ba4037e7993230b7b150de3a6a6c18f74f5035c7d57cfb2879c777687e93c2cbed0e96b75eca88c9ac59cf83566a37f27ff748ed723a7420c542a9fe59b8d2e468abf67acfffea635bf3b79efa2d104a832ce9631a2520ab7c7bbf11bdf22cac347ee457e48f5d8f9ce6c"]}, 0xc0}], 0x1}, 0x0) unshare(0x40000000) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='memory.events\x00', 0x275a, 0x0) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000140)='memory.events\x00', 0x7a05, 0x1700) r3 = open(&(0x7f00000000c0)='./file0\x00', 0x40c2, 0x0) write(r3, &(0x7f0000001400), 0x0) sendfile(r3, 0xffffffffffffffff, 0x0, 0x11f06) ioctl$ifreq_SIOCGIFINDEX_vcan(r3, 0x8933, &(0x7f0000000000)={'vxcan0\x00'}) write$cgroup_int(0xffffffffffffffff, &(0x7f0000000200), 0xf000) sendfile(r2, r1, 0x0, 0x800000000000c) socketpair(0x0, 0x1, 0x0, &(0x7f0000000340)={0x0, 0x0}) recvmmsg(r0, &(0x7f0000000540)=[{{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0}}], 0x5dd, 0x40012062, 0x0) recvfrom$netrom(r0, &(0x7f0000000180)=""/37, 0x25, 0x40010000, 0x0, 0x0) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, &(0x7f00000000c0)={0x0, 0x0, 0x3f000000}) getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000003a00)={{{@in6=@mcast2, @in=@loopback}}, {{@in6=@empty}, 0x0, @in=@multicast2}}, 0x0) [ 1480.961322][ T27] audit: type=1800 audit(1658360762.537:696): pid=21992 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=collect_data cause=failed(directio) comm="syz-executor.3" name="file0" dev="sda1" ino=1188 res=0 errno=0 23:46:02 executing program 0: r0 = syz_io_uring_setup(0x1c6c, &(0x7f0000000240), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000000080)=0x0, &(0x7f0000000140)=0x0) r3 = socket$inet(0x2b, 0x801, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd=r3, 0x0, &(0x7f0000000040)=""/18, 0x12}, 0x0) sendmmsg(0xffffffffffffffff, &(0x7f00000027c0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000001580)=[{0xac8, 0x0, 0x0, "f4f85e84dd607b71d67b57af133ec29e158c881e3ec5276f792fb926b4cbcca5a80d70969c2972169043330ed41cbac66c3471513d2de466531b091f7954697787f2ab5a22fe4798958218cde4249457e97f3eb81217db579e20bfde2f6b8b2146a81713335d2f27a1622a5a5efa591aedd608c99486d6900f0639eeaa67c64235f0d5bfb123e694bcc98df4dd2bef49f464775cc2e2423b2d3085def3965cb3d0d54e5ecb7684bf535ee0e8a87220afee7c367b976620fb3bd220ba887c79de7f4c1620b5aae53421298d500a1e1f778762c7b4f72bbc0e2b11dc70b668c54b3491877f10a6d48c9bd36e4731f773ca4abb5c05d65d1422f277e47748fa86f51ebef26096fecfa1c12e92bc93924753c3e894a725110f5ccd93377d1a1e9df09bcc179dc6ee2d20ae780694fa37bf161c0f67c1a1f2b45302493bddccd6a9aa4250eb21c0e8ee88b2751c8fce9450dbd4c5e56d2eb05eda40ace59e3f4bf70106aad42d8974abe76d8103140112cc6e8234ab5ca5a99dd89080ddfaf9165cdff617516ba1befe5760448110a07ac61f02cc086374d87885f2d27b6f462c8dfd272530a20341d3c5928c7e90ed3d8dd8d1d00570d61df966979e791ee7b5b68800ddfdf16a1b869f63deb7d30737ebfc45801e23cec3fc5e46e0ad4f0d0b30ec37913582863af9feca94cf33a118ffd8d77c1c7e2f4bb8a707400480c54784c555eee62f50fa75e04bdf6476362f3d220864fa39732ac0dd778985a6d57e45af0d44c18c3b2205b9d0e4680335fe50cead020d501d9cbb557540dae36749fc4e9ae8d41ec70ddf66d0036f8e6e33ab5dee123e87d36728d5320cbd0f6e657345d4334ac3cdaa223556975bf8dd01e90c8d8ec912f3b1e3251626a7b8e0ceb7757bf3ca478518c02e1bc38eb116b4dcc91368698f98862551736a64fb650af14e12ad262b62bc710d070ba06094db83777d65de42badf9871e6516aadfb785fd380e9e338cd05459ac9c2f8d81941cfa35e09a7927840ab96a69dcc613ace7a21ec1b3fd046b557b827d3d58a7afd542551aeedf765c876272e4f72c3c9fecbcfae25dae7f4b30a0b05e829acf2e6f773428c697e9670f5b0b36b9aecf3af0dbc6f1f84b0e3595fe20704da90c5f4f5cc11d4f8b9b8f83031caac541f6bfa4a855f34821ef7f2285728e4880bdada134709f7eeab7bdb2fd2ddb47ab888f428c91be173d485a208e903c5c950a1b6b8362d68db70d4dc07efc88d1576177af285d8a42b8f0121d2919d1cbba1f09fe4d385e3b46c3a396cc37757a15b88c05e1f19ff892978870ed8c790fa338fb6e5c613f81b55dbc096b1baeda9dfab8bdc8921519368b666c606f2e9666cbfc8e7e1082b4589e26aded51ba6bcf2ee7520c6bbb074495176980cda28ad6cdb00ed7dedf57eb4a9be3b498ba3431cb708fb7c4b8151f039388e08b4acdf5f0057d69d9fb395b105ed1aa2a97e071161a86ff7513f7ed3991c10598f6a3ea224dfab533c8e425373e0b7a5c2b453e89bf5e12c5e47577ef4b2f6fac599dff6376ad321017bb3b169af9930982d644e525fa06935ef263ea5f0bc7ab2422bb0e7c517312e161be7ff45808073896c9fcee766c67beef51692da96d7d331904a7568489f87e5f5482cbd7748d2770022eaeced7ebc5a017c791aa03cc6e7e50f8e331d4d3157865c90a05c41e4849f699802fbbaf95ebbe8fffef6ed4915e686e194976a17ea64861a998bdc2c9aa1463a773e63d4d273cba1a299f999aa57d3a6ca3f342e243f0dd077c80b773e231276cd4fff2b1420e0711bcc42542c03d7f73a8078e229c30cd0d1aa745a1f5adbd85f2a578683eb63b64a88e364a2562052314ccd00f8d2f61445b2b6f65ccb79709f00986e7c5e8809cb99df79983fcee5f01b32db4b3fbc476ada244a385ca9f5023a8147dc63a76573bb9e18c1d9563549d3e2f69f6ebdaf9ba16fe64c2e1f5ff5818650b3c6ff405e2787844e1a3194c3b3779a74a8ad0ec30b60842850fc45bfeda8d40a03ed3b5514a02c5a83dbfcfe34f675ab057d58a9ed7df140a06e04b7fd392fa52c0bff998a6006aed5401f51392822d4ce90c506edbe7a5e8cfd01d3196f0f437a65a7ec2b29f9e73c91e61e4bc346893fad050d6510513a05e09305e95833b74db794df4f8f9c7171b2c85c9363f74669fca108cd8630fe0baf62d4c3a1c97591797296d89d5ec08b19a4bf413383cc0ccdce9520a38a2194449673f7077e7542236cad528cdea4c8a77a5d1cee8dec31084644152583bdb4f6d7e06c66b32d3c78f5d5728ed12a985d00cba0da34dd8d68957f15651c20d23bfea4412422747307d9c0f431d925ee53fe0a48be1492063adff804ea3bd836b52775f012bef1f39c6004bed1f9641e886718e0ef2487bb6d9cd485adcd90a9d53b9c676ae69ceaab6e14249fbf1cf087331be82b4f4a8c2b507f19fdea734ea3278517b51618eb616a5bdec1ef0ba901654a73a155048ca6231e34fea1fa09267ed39c071e4805b9c8a5492cf8364a9413b1521bb0b914de58f02034143bda0ab5c4168cc1b32f69fa97f5169c1684ed43fa3edb8c2efcab13fe730437ff07c591e2221506f797ad70678fb94de2f43b0fd5a7262bbd82129a34b8c9cb02b63f74c95d4802adcda22313876a518794ab3057584f9076390c4aa04acdad2c0571bd2b23265d204144b31e637a077340256c4b71411df46b874d8b76eb8da59e5ff2fea2b63a731a100679d87e837ba71ca642a7cb5dfdae3a073a290809560e138ba29a28cb872f21e058729e6ea6e7de1f0e7e5d095459994710840aecee3b507db5a239de1649cd8a78079e4b04a4e267dbfdb129bfc6f92476bb63e94008eec052f247ab59f1c7fc38bf605824d50624b2ca12b323c65d62b5233a6c98a44e4c10ea81c1dcc41378e25127e2e97cfa5befec39618f43f470e8567075281386c05d6a4e1e0794a4983f276dec7391ede4dca6699f45a49dbbd578e0f353c28740f92ddade797516f1e9c4553b3db47f9c082c558e6ca96faaf099b7685d36f780f4f922c422f0aca3223da88d3845aa30fe5ea6f36aed0fd9d3c1ed9b9cb7d7986452efb65f17d834a018558f564c19bd0fec30a36b7c61541b9e5b3b37717efd13a95bf89a76a4107ac8fb32a1b30edf2b7ccf0559efc5a1f6bd8ebe41e1e6826032a0d17d5c335a3c415e30db41395ac573b7cbe55029c58f63437682bacc5857edbca31c5b26fee347b5c808c97007a14116cf67c68e9b81e58cf102fa10a28c1cb1af9dcf35728754e3575d20d86a353c3acc4d08159392df3b9a318da47f72a403524cf1ae504fa9467b1e2979d033febf52abaeb7c3cc3dc967f59a10c181e4c4b2a4fe6d42040171173ee7d6399214de94f258cd07121dd99016476943b394ed09bed5a3079f0735ceed4a7af2bfd08551c1ce03aa162774a895fed78d5314649d8a175d77698c0fd090d7c6ac408b7ead3872b10ded6ae4574696c1e21a57efdd710e9f74db86efe3d0e3a2d6566239d232a7c0445a4775273812713a0352d9ef469da2e30470c501ff664e31f4a250943d05aabed027cf03ce3a3438fd7bad2ae6f656a29e0de6be1e9f600eff234bba5257636028ec510cd61c5512a1c90d9eff88a7e70d205332d8e01a1e21e9260608371645f69240d192ad9e8d0c6e1b50151b938e9a302b403f13f57f7d24cec2184616250cb29287840ce9ccc37ba9194472aaef822d96ed3cfbbfc38c9397e878026122663f6e0abb8c34e62314d5bb5806d0af583900c30c10a3582fecf67d4db2468b5e0f7c5de1740ad75c0def8de5656643d28313e83a83e2b333bdb3aa4228"}], 0xac8}}], 0x1, 0x0) io_uring_enter(r0, 0x2ff, 0x0, 0x0, 0x0, 0x0) 23:46:02 executing program 5: r0 = syz_io_uring_setup(0x294f, &(0x7f0000000040), &(0x7f00006d5000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000180)=0x80, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_FSYNC={0x3, 0x2, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x2a6e, 0x0, 0x0, 0x0, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000002300)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba3b70786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000000000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0282a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a64f4ce63f69db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9448a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d6027ab2aec8f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace03361607cc1a84be659355629ab13ad49008c3fcfa2423439a3607961d5b59da48a0155e8e42cc13c702cc40c99cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d88723ef65aa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604c5ab751773a5cf8a719a7ada06ed03832bf274707c7c970edc20d2cb639ecd58709b05a20097208d03f7a146a6901913618738679d4e0af53eae997eecfa0dc3dcec19d3d9205450765d659220c92701ee75c8710470d9eb6f62c5c721883f1544ba66271c8dab05a933746c16b6e93294b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7d33c49336d4cba2cbb170ad7539a45774dfcc55257215c8ae719dc1c232fc6699ef01005887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd251dc88e91a5e458e66ea1e822d55d4dd919a95eb4c25a08cb6e1070000003a0fd07a4ad9df240e00006aaa2db0dfe416146840d88bd08365e547c970e2983200703864a3b9e1682cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbf5e23a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573eefd5d4e33b9ef585980789a92b9848906f545559d32112b5040f0776703363249ca984cbb09752f099efbb9e7362e4999594c1086d8958e9469db01d85fb0b9b3148663e9ea2e755d96c70e540b4200e4cf82986712dd733b26d00e947d03c42215118426d548cb2077b5904fcb063d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5dbc37d03ee056b2579a1d16799589a2600000000aa00006c94bcaf115fbbcb216e3cb7fd9afe16d1fff2d067e508aa5f6de0ea4e9ec1b3a4ab1f8b5f312fc50000000000000000000000000042709db6de7e969ac0ce18b47280fb1b1b1531648122fed3e25edecb5200f5000000000000166f7d36b2966c19af7ffa6afa69e50821c9aa3ae60fbc196cf8ad2f7f86d79db1bb0ecbb9c3d0d3d407574def838e4def26ed9c7e6c69858f7813be8ffc565583663bebfe7485660b67e1436cbc6d4d3c48ab7b033d7d1195173edb16643f69cb779802839d490a4df94e5ea89c192af2ae83876edd59c9a7140e12ba591f073ec604f7e8f1e100cd414e9237ecfc052d9a73a868cd0e4b06da0435af72fb0d25657e8f5464b19fa83f977e6900000000367871fa37420e7a232ef9b440bb0639994c655d144c5786939d6a187b8182ddd2bec36cd28371b1754cb6c53697fb23576ee0d3fd0a5803c9be9fe384f1a7a9a8eb64d17d238fa3238a001aa8ed040a69e9ec0a627e3b3ca64d4680d819c14c71684581000000000000000000000000000000000000c6a6587715865fe14558960bc936bc83abd1f2a00b17a407457681d0760000000000000040000000000000000000004faeabea6de40ae30291662594c993099ef041c264a64d77d69e0cdfa620a191704cef91e269044acf844de65a099200265e13c2a8f9b717886dea8e79407e34bc268a17965033ca1dfeeaf9b49bc68f1546595642f9fc008875ddb7aebda7a16b1d20dd8b65bcdac8cdc75a173fd2e57a9c37bf5a52ea001ec981dd7ad4e5944575ced39233ada8f3c1b856644812828bb79536a5188d14fe537250dc107121534cbbc7598f48aa2335616ae8eb72acf6982048e568e37f1f58e9714343587734c7ec0fa5c44d13165d6384bf9500757b4b0275950d6e7c451eef3fd353d47c54c4c2cf7318e6c24583ba0966225284d1abac80786519c563ddf0e6c023d537ca010d6d4e072c98f45415d13f0dcea174f162ebd00b42264f6fa3dccd09f4101dd254e54423b30e06713eccfacb6ffb38afff920980af938a4d78f4b9a6b5c7424e91121cda789104ee490d25843f1622bba93257cc23e45cd7ed42a6db991d51804e674e507dfd53b5ab6944df33f4f494b9ae0d2de410539828e82a939ad82bd61f891d6705f548535dc469385e66809d7d4d3630b6f22c2f41fdaa0fadeea09fa4f7005813643c2d6307d55689faf6f656327ac5872a3bd4c11363909a8b9f30e5401993a0f6e1a9b42287542647d1e86b02b7e36319414629ac1f35572a9cc1e98ce1457f922da0c2de76c9e97944efad0a3ad78cda81c5b82709d696e85bbf4595ef9664a6aff8cf96446cb6c26595f4eb659d26c846471f6551dbb24fc6c03a01e33efcd5939472b687d31be9bd9bd1bcda45bd2236f06ceca8f50f7d348ebcb9d810d4dc3c55bbe4055ce9c45267daeec7a7d8b498f56ee933cc02fb53c2c28fa09ce5ada5de1415309761f6378c794f8ce23c1f7add4f65280ab446ea2d13fcb46cb46f1df3bf4c147e4d079fa4db1733c65388d4db163fafc52500f3f41b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000240)={r3, 0x0, 0xf0, 0x0, &(0x7f0000000140)="d510c490f913674c5ae400000000", 0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 23:46:02 executing program 2: r0 = socket$inet6(0xa, 0x400000000001, 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) ppoll(&(0x7f0000000140)=[{r0}], 0x1, 0x0, 0x0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x200002) sendfile(r0, r2, 0x0, 0x80001d00c0d0) 23:46:02 executing program 1: r0 = socket$inet6(0xa, 0x400000000001, 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) ppoll(&(0x7f0000000140)=[{r0}], 0x1, 0x0, 0x0, 0x0) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) r2 = open(&(0x7f0000000080)='./bus\x00', 0x141042, 0x0) ftruncate(r2, 0x200002) sendfile(r0, r2, 0x0, 0x80001d00c0d0) 23:46:02 executing program 5: r0 = syz_io_uring_setup(0x294f, &(0x7f0000000040), &(0x7f00006d5000/0x2000)=nil, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000000000)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f0000000180)=0x80, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000000c0)=@IORING_OP_FSYNC={0x3, 0x2, 0x0, @fd_index}, 0x0) io_uring_enter(r0, 0x2a6e, 0x0, 0x0, 0x0, 0x0) r3 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x8, 0xe, &(0x7f0000002300)=ANY=[@ANYBLOB="b702000000000000bfa30000000000000703000000feffff7a0af0ff1100001f79a4f0ff00000000b706000000000081ad64020000000000450404000100ff0f1704000001130a00b7040000050000006a0af2fe00000000850000001a000000b700000000000000950000000000000000e154cd844a954b26c933f7ffffffffffffff55bb2007ee51050512b5b42128aa090a79507df719af36349f298129da4871307b534bf901115e17392ac66ad022186a8929d1c000006146001e04aeacea799a22a2fa030000c412f6cae80043eb27d53319d0ad229e5752548300000000dbc2777df150dd488318b5790bee7ebdc745b7cdd77b85b941092314fd085f028f4e09d6378198a6097a670838337af2abd55a87ac0394b2f92ffab7d153d62058d0a413b217369ca8b6712f000000001b1df65b3e1b9bf115646914ce53d13d0ccacda1ef16fdcceaede3faedc51d29a47fc813ce3d32cfc7a53ac271d6d6f4ea6bf97f2f1be2ea2e534300bcb3fdc4b4861004eefbda7f54f82a804d4a69bf9bc5fa77ee293fbd165a5a68488e40b030166565a097b1b44b451de736bb6d43db8db03d4b7745fef1d04ec633dee254a6d491b8496da787e814c4fdf0b4a387b4c8149d18c1020029a18986252a70f8f92eb6f0e8c7db000068fbaa2e2a27efd9104297f2c58159f02d1b72183aacf4a84f9130b775dd4e9e3070756f97ad791fa909ac06b57479321a0574fb304bc2a1681989328c8ddc20ea011bf5742e0ef94234db1f00000000000000c20fb4791ec85821d0c48fb657c29b309c73f0977e7cde65a82b94c461d7962b0d2277a84aeb26f37f3e2c25a65f75ca13fb7c8bbd8b6e7dac1aba4b20dc7de058a4dfa7e85a8bdf1d41a2d8bda74d66f47cc17d8ba3eec0fd80f82c5f573c6d294d366505000000da0fde0745db06753a7ac7fe13cab6692422a46e9ffe2d4a2d32f7528751313694bf5700b20ef0c248ddd3da323947004cacadcaff2066bb5d4045c9585638c2153a6eee01738b0c10671f4f559b7dcb98a6273b8c5f1e24d9f679e4fbe948dfb4cc4a389469608241730459f0123fd39206000000000000eb55d001623258a141bd587cc9dad46de56ef907b059b99a79ae5498f6589880ed6eea7b9c670012f80cd6a1397953ba3b70786554df26236ebced9390cb6941b8365d936a7d2120eca291963eb2d537d87cbb54e588ee5d6944ee4de5c183c960119451c31539b22809e1d7f0cda06a9fa87d64cb77872a0aa9a104e16bb1a2bae513464ca03aff14b9aa4bd9539f5096412b92012e095b84c202060098df3314f0e399d1b9f27e3c33269c0e153b28b2d4410572bc45b9d3fa02208d304d455c363000000000223201780200c6ed7966130b547dbf8b497af0a77f52f2cd39000000200000e81c23cf14156951210001c800000000001500000000000928ee53595a779d243a48cea769470424d28804c026ab7f4a5c81921e0128dfd70b438af60b060000000000000056642b49b745f3bf2c01808b6d7d748308eea09f0161b4735efbf3411738d6ee7aebf9ef40662d7836d252c566e1ee938a9a6804ed3a1079b0282a12043408cd60b9e53978c81839be0000000000456f7d2a42cb13da2022f23eaec61854f640f701db0276652f6c74f20675eb781925441578e93046aaddea394cd8ffd3d628293e591dc6f71c2710a7ea8a4fdc214e1cc275b26adfa892e6de9200000000e50e5bafecea4d4134f9d006c8d6883eca5c9c58c9e93311ab50fe82d5a96b09c68c73de2f04f15d005387577f480000ea65559eb00e76e9d0ada209bcbb5c252b11a60ca770663da451790cc36000906d5a9fad98c308e39bd5ffb6151d79c1cee1cdfba05e3633be3f00000015762e5f5a3a0bc33fdbe28a5ffc83f2f085185cc92fe7f791e8f6429309d6adab4b7e508e5bf024ed8f8a005f2bbf96c89739f5d81e750d50515a59a3ad09e8802e8f4f535447dc0fc9d5f99a145dfcedad69da9cd4b75c624600e78f4458542b14f29611f95d4a31838eeb20c20bb82aa31771cd379ec83554cea5e6539db7384e1f58d81f2f2653c4d9818708e27c89b552d583f436137a3c5dc714c9402c21d181aae59efb28d4f91652f6750b9195729d60c534ee8e8ff0755b67fe4c25edb85bcff24c757aa80900000000b6638c420eb4304f66e3a37aaf000000c42a570f0e9dd5fd545470f862f8c3c14fa9ecd1e877b0d8ca84c044859e85e6158f9184bc61a9a284df80e4636c25b96174327d82761c26e329555f9290af40000000000000100000fd3763655500344bae34347f5ab0d534b8d63e4ca3b671f2de1cdf519192c6b59a601fd419a5c16e2055b850580994484305d7a1759782e4c571ee855a87a49bed2ee9647c5d3bbb47bc00edf5e9020c09ab004321610b857e8717764b633b21cb32f0e03280e09758bd445ab91d201782d656ab09f508bbbaca005452b79d7b574a247f1d2fe45b3c4e93da3d51de647c10dd49944dc87c92b32af00f191b66b6a6f732a91f0a2e9120be61e58c79d497247d278888901d44bf77ff246605a64f4ce63f69db497c3960df05caee994adc38a436367a54b9e182b78e9a0ceb9a2c4f63902c1ad1a7c5a08d0920a23c2a86abbdf357849a651733e57f3101985602688888ccb85c87b4f8ffffff7f000000002c331fca0e541b7ca2119ff0d61c5224550346115b43f8b1894c8fa8a14dc4810f61ae96c18cc7130000000000000102000000000000000000000027c9585c0cead5d619d18475ccde2857279a9375de5858818f3c4a4fa6ce46f4d42b07199de8b99231ace58c77a23b0000e49666c464d35ca9b50f3ed3b3da8c17a23692759ccf5a205311b7d122532697b861dfb54609fd88e6043bd52ae84c1bb0c8a6c769f952b3d42c68a3102fa1296dfff4a979369b0e8ebc62887aa46e820a74f91381dcc198e353047db70686d147357024eb3cb94f1e8918a0d6e2949affcacb5ba0a56aa063b4dc521a3d9356b4b8b5917c4c860495b240e80063bde261fd00000000007271e28ef6806bc8e139c49b91c76b0d3958f7f05b47d3e519f1634e8fbd8d31330d89069f9448a2ff93060ff073b3a113e47edf76f7d1b8b90bc0df4cfb0b9c8c80158b44ecae9420654f7016b0aac117087406d343e27b372d6027ab2aec8f2bcad7fe6bb932bc5751d2974e95455a277f9a9aeb29aa185d7fe74b25a3b472bc7bbdd2ac5a1ea608e8137ace03361607cc1a84be659355629ab13ad49008c3fcfa2423439a3607961d5b59da48a0155e8e42cc13c702cc40c99cf86c2021d72f9f4ab1b00de555a5a39593c93871ff7eb5ecadb64837a2d88723ef65aa5152e3d5864e57581b61f2b0960600000000000000265f091e7bce17d20604c5ab751773a5cf8a719a7ada06ed03832bf274707c7c970edc20d2cb639ecd58709b05a20097208d03f7a146a6901913618738679d4e0af53eae997eecfa0dc3dcec19d3d9205450765d659220c92701ee75c8710470d9eb6f62c5c721883f1544ba66271c8dab05a933746c16b6e93294b561c6715a32a394ed1e6c01670c931bfa52c58c6f34d64e758a7a7f7d33c49336d4cba2cbb170ad7539a45774dfcc55257215c8ae719dc1c232fc6699ef01005887d04a543030b4328ab48744ac23ff56fd2da52eb9fb2eefcdd2d92d73ac1b111ea8b5e1fec36a3579879acfe366d393f1fa9cbe08d9ba57a443643e9cd251dc88e91a5e458e66ea1e822d55d4dd919a95eb4c25a08cb6e1070000003a0fd07a4ad9df240e00006aaa2db0dfe416146840d88bd08365e547c970e2983200703864a3b9e1682cb479dad6d34d211b05267eb1355520e9ec0c5014b0832f7fb35782fdbfcbf5e23a7f5d51ea480371748d18d8e10608ab8261fe058d1732f28814a9981d84a04a2bb36c89bdd245e3293a14df1ac567301a79514f103abd387d6ef2d9d94508ac0f6135c8921279573eefd5d4e33b9ef585980789a92b9848906f545559d32112b5040f0776703363249ca984cbb09752f099efbb9e7362e4999594c1086d8958e9469db01d85fb0b9b3148663e9ea2e755d96c70e540b4200e4cf82986712dd733b26d00e947d03c42215118426d548cb2077b5904fcb063d260faea1db53e2cf3427c90aefa2662a1c2b28b0e020e872bda1d39da508de5dbc37d03ee056b2579a1d16799589a2600000000aa00006c94bcaf115fbbcb216e3cb7fd9afe16d1fff2d067e508aa5f6de0ea4e9ec1b3a4ab1f8b5f312fc50000000000000000000000000042709db6de7e969ac0ce18b47280fb1b1b1531648122fed3e25edecb5200f5000000000000166f7d36b2966c19af7ffa6afa69e50821c9aa3ae60fbc196cf8ad2f7f86d79db1bb0ecbb9c3d0d3d407574def838e4def26ed9c7e6c69858f7813be8ffc565583663bebfe7485660b67e1436cbc6d4d3c48ab7b033d7d1195173edb16643f69cb779802839d490a4df94e5ea89c192af2ae83876edd59c9a7140e12ba591f073ec604f7e8f1e100cd414e9237ecfc052d9a73a868cd0e4b06da0435af72fb0d25657e8f5464b19fa83f977e6900000000367871fa37420e7a232ef9b440bb0639994c655d144c5786939d6a187b8182ddd2bec36cd28371b1754cb6c53697fb23576ee0d3fd0a5803c9be9fe384f1a7a9a8eb64d17d238fa3238a001aa8ed040a69e9ec0a627e3b3ca64d4680d819c14c71684581000000000000000000000000000000000000c6a6587715865fe14558960bc936bc83abd1f2a00b17a407457681d0760000000000000040000000000000000000004faeabea6de40ae30291662594c993099ef041c264a64d77d69e0cdfa620a191704cef91e269044acf844de65a099200265e13c2a8f9b717886dea8e79407e34bc268a17965033ca1dfeeaf9b49bc68f1546595642f9fc008875ddb7aebda7a16b1d20dd8b65bcdac8cdc75a173fd2e57a9c37bf5a52ea001ec981dd7ad4e5944575ced39233ada8f3c1b856644812828bb79536a5188d14fe537250dc107121534cbbc7598f48aa2335616ae8eb72acf6982048e568e37f1f58e9714343587734c7ec0fa5c44d13165d6384bf9500757b4b0275950d6e7c451eef3fd353d47c54c4c2cf7318e6c24583ba0966225284d1abac80786519c563ddf0e6c023d537ca010d6d4e072c98f45415d13f0dcea174f162ebd00b42264f6fa3dccd09f4101dd254e54423b30e06713eccfacb6ffb38afff920980af938a4d78f4b9a6b5c7424e91121cda789104ee490d25843f1622bba93257cc23e45cd7ed42a6db991d51804e674e507dfd53b5ab6944df33f4f494b9ae0d2de410539828e82a939ad82bd61f891d6705f548535dc469385e66809d7d4d3630b6f22c2f41fdaa0fadeea09fa4f7005813643c2d6307d55689faf6f656327ac5872a3bd4c11363909a8b9f30e5401993a0f6e1a9b42287542647d1e86b02b7e36319414629ac1f35572a9cc1e98ce1457f922da0c2de76c9e97944efad0a3ad78cda81c5b82709d696e85bbf4595ef9664a6aff8cf96446cb6c26595f4eb659d26c846471f6551dbb24fc6c03a01e33efcd5939472b687d31be9bd9bd1bcda45bd2236f06ceca8f50f7d348ebcb9d810d4dc3c55bbe4055ce9c45267daeec7a7d8b498f56ee933cc02fb53c2c28fa09ce5ada5de1415309761f6378c794f8ce23c1f7add4f65280ab446ea2d13fcb46cb46f1df3bf4c147e4d079fa4db1733c65388d4db163fafc52500f3f41b"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000240)={r3, 0x0, 0xf0, 0x0, &(0x7f0000000140)="d510c490f913674c5ae400000000", 0x0, 0xf000, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 23:46:02 executing program 0: r0 = socket$packet(0x11, 0x2, 0x300) getsockopt$packet_int(r0, 0x107, 0x9, 0x0, &(0x7f0000000100)) 23:46:03 executing program 0: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x5, 0x0) connect$bt_l2cap(r0, &(0x7f0000000080)={0x1f, 0xffc0, @fixed}, 0xe) 23:46:03 executing program 0: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x80006, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="200000000002000019000000600100000f000000000000000000000004000000000002000020000020000000ddf4655fddf4655f0100ffff53ef010001000000ddf4655f000000000000000001000000000000000b0000000001000008000000d24200001203", 0x66, 0x400}, {&(0x7f0000000140)="0000000000000000000000006856d49a00cc4371bd6a7c893f280045010040", 0x1f, 0x4e0}, {&(0x7f0000010400)="03000000040000000500000016000f000300040000000000000000000f00698c", 0x20, 0x800}, {&(0x7f0000010e00)="ed41000000040000ddf4655fddf4655fddf4655f000000000000040020", 0x1d, 0x1500}, {&(0x7f0000011000)="8081000000180000ddf4655fddf4655fddf4655f00000000000001002000000010000800000000000af302000400000000000000000000000200000030000000020000000400000032", 0x49, 0x1600}, {&(0x7f0000012700)="111fc0d901000000803a0900803a09000000000006", 0x15, 0xc000}], 0x0, &(0x7f0000000480)={[{@usrquota}]}) 23:46:03 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {}, 0x0, 0x0, 0x0, 0x0}, 0x58) r4 = bpf$PROG_LOAD(0x5, 0x0, 0x0) r5 = syz_mount_image$vfat(&(0x7f0000000900), &(0x7f0000000940)='./file1\x00', 0x0, 0x2, &(0x7f00000002c0)=[{&(0x7f0000000000)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {0x0, 0x0, 0x20000010e00}], 0x0, &(0x7f0000000140)={[{@iocharset={'iocharset', 0x3d, 'cp950'}}]}) syz_mount_image$tmpfs(0x0, &(0x7f0000000140)='./file1\x00', 0x7fffffff, 0x4, &(0x7f0000000400)=[{&(0x7f0000000180)="a52b1343af87bdcffe72ed230270409ee4bb02a21960", 0x16, 0xfffffffffffffffc}, {&(0x7f0000000300)="e8e02aa6d0c398d124475591eee26f0073b0927d1ddf5c9d02991126ecec94d406b25ee8aa6eefc6d6536f38f12882f10347381982444bab7f4387d13b66898d97effc77b3769d74fc69e250170b6453dde9082d33c648123e4f289d69d0e96f8255b1252185477aa987b39840a813aac9f72c9d6b7ea823fed0d3f8a80a9de7af21dc403cd2f3dc8d01d712e9d822395647f655ada5fadbd3d2b0772de0a1037a3992427990f3388926819b5713a9f9c52766bb80998b30cbd5811a66c3981e38616c0390761a2ca91dd6430506e2ec3132d3d008c0af8d590483541f6cb62f323338dd9cae30350db99423", 0xec, 0xe4}, {&(0x7f0000000200)="d1afbb61454500f3e2b6338aba58a15ef6875e1c7ed92a8481df83f1cb8ea5ce1f251504932f3c9d8e6a69a4e7a09573047107c76d1f22fd6cff1b184908bf6ff56721bdf4b470c01565b868915bbbd4edae00045b0cf6113dbe1c9ea3cb247d6d2d4c184f99fcda049d9865557fbde56e470458", 0x74, 0x5}, {&(0x7f0000000640)="e05c4208775acdef03cccc450e758800a7457380a46bef23229372d36c3ed6680681dae724285deca0f92649e8b79859e646b1311ab67815288033358d6c008585e4cfc94ba132a2d7b811becca0394417d99d9be9a71997a91905edc7ad24e875cf1ac043e2ec83f817154e4affabb7b0849b13faae0b413739b11ef456e503dab0ca4112185b7dc2128491507d0b9936b3fa2139fb00ce18dcfb2cf2b3403790e314706475a32e4bc7c8c8364b60718c0957187f32a7dd083c", 0xba, 0x80000001}], 0x104000, &(0x7f0000000700)={[{@huge_advise}, {@huge_advise}, {@mpol={'mpol', 0x3d, {'default', '=relative', @void}}}, {@nr_blocks={'nr_blocks', 0x3d, [0x6d, 0x39, 0x35, 0x70, 0x34, 0x6b, 0x2d, 0x33, 0x37, 0x35]}}, {@huge_always}, {@huge_within_size}, {@size={'size', 0x3d, [0x78, 0x65, 0x0]}}, {@size={'size', 0x3d, [0x74, 0x33]}}]}) statx(0xffffffffffffff9c, &(0x7f0000006a00)='./file0\x00', 0x0, 0x400, &(0x7f0000006a40)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) r8 = syz_open_dev$vcsn(&(0x7f0000006b40), 0x8, 0x840) r9 = ioctl$TUNGETDEVNETNS(0xffffffffffffffff, 0x54e3, 0x0) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff}) connect$unix(r10, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000006c40)=[{{&(0x7f0000000180)=@file={0x0, './file1\x00'}, 0x6e, &(0x7f0000000100)=[{&(0x7f0000000240)="44550245da6587eb609c5333c1090e6d805a504eab5698a39fd62657b5502006a167856cc1190b011b08d78b700620ac8057685f7032f5193481170481dac9290c4dfa60cb579d0bbb7b0aef7d93dbc5e36ec5", 0x53}], 0x1, &(0x7f0000000340)=[@cred={{0x1c}}], 0x20}}, {{0x0, 0x0, &(0x7f00000004c0)=[{&(0x7f0000000380)="5c1f7d4a0d20c1b2659e4ab06151f40a8695857db76b6f9f87a9896166a3913135bdbedb52adc7d9ac20d39810197421a1e1a1273d9270e043eda841d0f1929417dd9657292429037aef2943e9393cd7464281eb817ddb12adf840034e1c09066526e2f4cf848f857278920aab7ad61e5e73ea880afa565baa21d3d997598ac22fceeb617d0c441f60caa6c8dc97314857bb04d80e1cce94de01696543d45651a18589a71937a8caf5bb6298592bd06e035500dd37694114832a", 0xba}], 0x1, &(0x7f00000005c0)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r5, 0xffffffffffffffff]}}, @rights={{0x10}}], 0x38, 0x40}}, {{&(0x7f0000000600)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000000f40)=[{&(0x7f0000000680)="335ff21654fa3978b7c181596e54421e3654584fc6270e353f0c78b32ebb04f1d1ce963e9892dcd0b6795fa74f6fa114e074ce0dd93669e7a4b9d86b8ae8d496cc49fc8063e597fb84184fbfde47bc55258b1c238b8950a7eea771ce45aec482a66496121c6812f610df8b3065746ea55b8b8a668a6252bef868b3427c289a54bb6fe80b726b814cce3a4b3c699da46e4367e55db4c01123caa12cda", 0x9c}, {&(0x7f0000000740)="6d7fba99b2cb1383f057f42428c538b9a844cc3108767fd2b52f6f8ac59cec9ac34eb352b3e4c8dc13944e81ed9e4ebd47069b037a69528b53b03698dd1f301fe87aba464747fc91fefe9aa83bfea5fa0e570ad41cc2f868c91931d86df32d839c42da1d0ae45bc81cd232231a30dea4ddc742e206e9880d670f1c66327fae22af8e4e95df202122135eebb274feeb3f2bd8790bae8a817ab2a25f74e59783e477a023dda5fef49207f3c27ba1253d1074acba92e4d6428f7746fc5173211041fedcffdcd792475e2c83fa089cbf032d45351169eaafbb74d641d4a3", 0xdc}, {&(0x7f0000000840)="b7deb99c28eac040ccb00e94b5d441dd3fbd5b687ec79e799e19eb3dfd8efa54f39b767aeb0f22a0905a30ec9ab875c87cb2bddcbe9998c23eec7320a700100d7950b8c923816ed38d54125b62fe3ff4f4161961aa0f8aca7c109cb28f248ae5b77818fff9712d4e71a5bf82274f39afab0da76a9028cd613735d723a7dd5003f2cf6cd21c68677ba3aeaf34566721b3d056a44b47e3432d7f6233c68a608a", 0x9f}, {&(0x7f0000000a80)="66bae4fd4aa4e97a96e750db0d9d91217dd9303337612a5df781edbf578d9f7c6fc7185dae0bf061d242ee42a7a08df7afcdce037f91f479e36aed686ba9d943d49fd1e7df10ba4738c755c0c7642f7752354ea3ffa07c9e39fcad3657c4f5ff14cc4f027c8b8b2a4fa07cf30297b4975387a902212928706ae60040bc16740b0657e8e2ac367523323bfddbd6b6aa1826929d769972487e", 0x98}, {&(0x7f0000000b40)="e0663a4a231753eeda01aab94ecbfe500d747eb2d5dc4330aee4c19186bdc59ddf27da49af85016d1d7b0c164a4be7eef8c22e54fae0fd5cad313f723b47ec5d1d0a161c2ac7411d5b3b51528e29fc4c6c1509ac369c9dda92e73a31d21e3af9f354bc771e0af6fe2bac204114b0b4b429ae4761c03469344d4fd5f799b12ec57830c96029f89fbcec65529cf78643e4da5617d40992abafe16f2b3dcfd191c0de1e656d661b07841e461087a186b6a6ba700000000000000000", 0xba}, {&(0x7f0000000c00)="649ffad46fea13bdc5e8146ec521b3db89eb70ac2197efcd781f7ada84f63e2d89c4861377e60f55bb302ca8f6b3311b32e587257dcd8a21c6993cbe253cadbc1f84ae1fec17b58718036a2fbef79fcb790a3e7ae494808034803e9e967580fa236f9146ad2b5c6c72042df1efb0729f1b739adfbd6697a41704c80c971a2502884975e94db5caca74cc0d7e4ec299a328e2a4d2e586c8d90786dab51e793ec5afd0fc5c7a8f5a6500c01f4966748e432e803838e848d29080b50688f52831ddc640d93e0e65c07abf2d", 0xca}, {&(0x7f0000000d00)="c17bb71bd87efe1eb73a2c776decefd967fe384d9f7d0df0572208c9a3ab4b56fac6843ee912d1954081e11a18b11be0deabe18d36670f3901a8ed5b6ab4f05f59660db2b57a0771010c9197f61b4bd0f07fab5c77abc83ac1135f94907d29e57457117078062db304debf238933ac3aea2d1586204ef3ce57115fc098811bcfdf84e684754476831c8f08bc67a769d03b95d8c72741963ed994944c", 0x9c}, {&(0x7f0000000dc0)="2a21a0d09b9f6393de61c3aff31c064f1b1721dc861bb357f531729efc00e775420c3d583d85254ca0f7cef15d1242a6f196419b45e3c20b0d30a9df2df560dc60d7c809c300de70da2d6537a8316f030bf8fa4b09cc605f1331f85892edd282950c727cc4b5399b6d6260a1781cdb0da20ffcc2a478f588143ae2016e95c928402bf62734990c92169c8ebfa6a436928587cce4be37dc668d0d5f8cd818445d3b22f35c96415f15579bc2dc5790b803c657f3183c77248634f7", 0xba}, {&(0x7f0000000980)="b86f4c15301a774a1964101bd6b99aa2796bd341ba7eeabc205a7658f1d3af8cfb3c92f5e8b1d91c0b3f950355f997166753f10746a9e9857e49b46096d954f0d0d66c8b84171fc438d3632e2ea70cb4c75f06b069", 0x55}, {&(0x7f0000000e80)="21b2da7aedb77fe020c4fd034c3254c20e4031247f53393839bf0cb2f0c85ddceca41263557fe6f4c841019e9061baa6845da7a08db1de606b93f652e1d2eb7955478b9c3799d73cd6225eb47d9815bfa3ab1dc6aad6105d5bf9699cbb0ffbc63a9f8651372dd56d869b29cf3cb225a4484bdb0edd14e988494ae7a27ff1a5f831f6872271018e7fc6ee9d0714cbfb65f670c5af60", 0x95}], 0xa, &(0x7f0000001000)=[@rights={{0x1c, 0x1, 0x1, [r1, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xffffffffffffffff}}}], 0x40, 0x8000}}, {{&(0x7f0000001040)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000002800)=[{&(0x7f0000006e40)="ad1261f1c867e639423a6baa96ca2fa05a38eb14429a06cf0737210e4fe14a504cfa1c2969ed7f3c0966e4d6eb77e96554391842b7a12f085ed2851f99b0a4e868aa739d9d853d0f207854d5320415f4c7fd595a64158c9a83f8af655745275bc5d263e9fb39ea92e67062bb5dba1422615935361ce9fe9d657a93feff58343dfa57e0b20a4ac100061bd9be720249302958e10588538da1e5a6e78f76a6811cf1ea7717ecee3f6b204610d35197c0bd2947ac576b44980d3135611c2ced6b33b02a28b9315afe2ddd48c06f66d3d3226f02c373dbe036662b14fc58ab1b26543cd7df9695381f4bd7af73c730338bfd7523497751af4d0a29e0a3cf36efdc448307a313cefb55806cdb1edba5e1f4d76e2f89b1d060963549e3637c7a8c54fdba8b9773098eb2cdcf5c591feea71827fd34fd92e1fc8f5efde44122735264f1738bfbf54b3a1b2bab9c51b90518139c6775018ead17ae14b98a42dff7b0aa2c2bffb9a72faa2596ad1b4cee09cfe1247066d23957fdd9af815994c633fe650ed045a4142b69ec24d96217e7f86be78b91d7f44d475e9932c41db8467085f85e99cc585433c591cef0e13e3ae001e84d91022a47ffd6658a9a55031b30da75cfc771e21555e4f71e2db375918ad5fa76f68ea9ac020d38fdd420e0feb433f3a4d33a8c68627d499d63b933942af54036cbc5adee0b7fbf7eab94ee1057dd06094b18b87a0d22900219d4dcc81981e56f537272a3bae92d19aa1ea90f033eb667d0ec7ed21afc7699c1e7357d671ba33ff187e363a5562c4799cecb3e7235a3f601834ac8a08b87ad14477e360c1a36c938a37045b99a2d9a7a43dfbb184f7870791ef331c71d61689b679ca3d1c01890666e392452c6755536085337024c6ae7f3779df426d739e2166630803d1c63b947e9885bb55b724bf75f82b0989c534f36047592d2856dbaaa18f2eb4b867abf5cf327bc69c06014c6a0479580085dae20f4eb2680e9694bfafc1161d545fdd628fca7fffe54825c98c1b274eabf13f4ced741b4f7c30d3e18aedf5200fe641dfcb44015bbf01f2e434b48aa3aab12322043dc99dd4bebdfc5bb6740a7179b2f51f86f23bea62fc1387bf008b685b496997c2ba3fdb8170a626b8d0fe3d761266a94605ab25062a1adbd40e1998d6fdf17d11d799cc4a103f60d96fb71fe33191a4bfb9b78ed95b08db716b525e95eb9d0dcb63e410e1b9975981f859c0c26e79f03d0c3915e53aa4cfee3173025bdd21bfde143b3059445b18f2742de1a74671cf10a7ff0b63537c75788a3d2a20ed64443dfd396d0861de8491887c9ab39bbc5379322a981992644edf8ea9bf5b2a6be159b57668f560e30128e5165622ccd14f32d43245999eba58fc3445f3a53cd1ccc11d268eb785cbfafa9aadfd14ba4ccc324881290f6d25bd1f44fd8f95dfee9550974db4dbe1010818629ab23f9a3344b8adb7042d68535c9d6981a1ce662a0330dc508b5c55d74ad0c7bdeb0fcab2543292db036b6eb2b42694242d67c3461f6fcc3d7fcedc65ae1526ad6dac43ba4c4bf28f85b434c98e51dedd978077f32d2c508bd08f0af84698030360b58b22c437f71286e28c5b71ea823c35374f7d41dd6eabf07f71491817c4b33d365af59ff618699df4c2d137dce9a77821175ea67baaa0a7863497e468d94bd096b477ab488986ec36b0061c70430d7411bb3d9b8685b400bea348de190c9aab3861914f83aed1ddce48c17844a919dcf4a2045b2e7541b5e3caf51d50f0161c3f49ab7a428c62dda376fbb41604147322182a94155f70d7f4ba1eb4ebd40d552b8b9f1111173343b6184b05817063108d11a9720720bc5da8dd182462aacdd17f30e5f48320b198b125d1e2722f63af1a5ca8266f720f1be74cf9a0a956a40a6f379e9a10cb8b3f72b3111a38b8d16e90ce47e815d9c74e33b0808ff25c50474a75977a2f583afedc9282a757236b6eba2f22e57e77d2a3f798b31452d8bfb2479de8c3477883a22a8a5d1d26215d8a3b27c807679fd4b3be3433aa9794098ab9c2bc0e5023298a028f00195fcb37e1cc33c2431f3c9a7895de099814ca03dfe29bbb6a97cfaba93b5363371f8c0ef6786a217f53bedf2b121961c3fc628ac113766125031d80a50950406d979e2a3709a39dd9677be97b4f81fb8d4c929ec81ede6b93d64ff78a7a68f8ee438593588f977ce8c6978038a4a92973fa97d685ed6e50dc56496655ec53260458b8ae730e50fdb701b9bf792e7d10cc8d201c88696718da6ef0ab1e791d0a18f596e639da4ddcef316e70572073cb397cc37b0108c4030095ccedf4a6970d2df9740e2ead6488d8468fe38744b3ed637f050e7b296c735578598b3e02ba4ce9a8870627759dad588f74f8528e90286233d39ef9dde5740409f71598f887b29579752b8a02acffd85eec03a884fad5a82c533bed6ceef7fa3a21b38d04f14ff42a410f4b1f6fdd88c933c01b1a847b8b0bc2b945517dfa2797cd5cd3fdf3513ead93eabbd8721ceccfa3c506e9a144a936e37eb0fb815ee662ee58202b45ae6bd05a06a0834c69f2299a50a62db34711eade30cbca10d6f08798654e8176116e1d0474db37f1c98f5197ff5a20d16087047ec4ddccb9cb3043749762e02a2136c091934ea0840b2e29dfd8afc887c1f5ecf2fc11c5696eedf664a2367f7b794ca9efe40812a2461a21422a86c1becb7fc8b7558d5f93591c09082894bd26a65f82d2b428c7c192e2d78775628afc5af6305c81755f1427ce140ab46b059faa512b15422fb815cd99edd14559498907b4f1d9bc660f9a271f3099eae04b17a23cdb97b1e60c8fc466620cc5bb15b805a2dce9f356d8f82315015ce5faa5779191bc695ce47d197561b76c811b18219df8c2b71e948e94707d0ff93dc795f9ca94747ec53ae4cdc46e12fd66fdfe34edb335d429f94c3ea701b1d5338c0990fa669df9d4a935eb903abf66b38767e33a0dc0a7c59841a916ccacd24d08aa614ef8252ea5de815a8332bc2cefd6e4dbb77dc95f69b22d1c27d17e216a4318c176058b705b7ba94252257586ad56df98ef73e47075d166738e9c6397a806d9f7c31428673a53ee5d4a6ac5b8714701cde3237faf6b1d8fe09c01d382a5ee8f8515408d26966bc32bf3592c8461d4eed0c91724a6164af3cb265366dbc5fbf056a701290ff869ca98626d9f14212f94387b1141ea12eb528fe54ccffd4ad8656291be29d30178f48640a299f9bf648acdd9d5655b532ad9f12d8f58dcf57992cac7176dfe3121417e7cdf6913a1b2c27b91e6f7a05c2229dcb7fe9fd67a6bef3e390804452f495919c7703581e05e10752bf639574f2627300328081c4ab17ab921d7a1ab63ae0a6e85e67061e926b9ff1a85eba3efa15fd030e611144d1b2c934787c7d00fecfe970e517bced798066fd350e3bc4c159c7042e9cdeac52eccf0f70c78594badc32ff2e03462e1c8e84a8ec782fd44f70da99d9ddf6d1b516132f4b3b512fe0ba18b1ec5d1ac227e76518af23389386bd52219f9cddecad140681d730708ae38fd39e557a5815077aabbc66fc87e8d57fd23a46b75b7a8de463a880de3f602eaacf562bcd4356fc5d4c058d21abb58508d2c4464bd5e64b504252f04eaa78b1b40978b1b50ae264ef2aa8fb8e12a5440bb689dad694403fcda64a86d8eb99668b1ee432a0b55819023e4e105f1f7abf8417c3ec8dd2b7c85c5b216d85f964bbc4f9c91ba94892752d308a1f49ec04fe2428adb95efae298f2074838ef4b0dec46f143e53e388023b501a468d6bf1c94c2ba598c026af5ad128f0c6715ac85571f12cbaf25081722d11f70ec7b44de19d46e9fc9fc2716b9c2a3742a3f638cbc64190dc49bacf34003d18b0ce131ec51b17c96c8cf74bef3b3fec6706629ef4e1ae27579f706b359a6a3fdbf1f37cda14ac8bc648ff4d983c8f7ddfeed6f2d26ba5479e7a13f70eba9c396e07bd4f1382cb48f7363f8a23ef5aea00d5f8a1171b7c807570e91f234385dd4c53ab00f27ee676fae1e7169a1695a9abb8b8e9842ed91dd63cc18a73a8255575ea579194f8e8973b0317563df6f2b5a31ae8f370907e822ed8c28c8ff753af877c23b2c115ad6d2bfa878a02ba2d9a200fe2dfe19160bf5a44a98150ebfab26b8b3f50e2f8a12712ce2a6df3e17989225ad28b3b2265e325de4216fd6b4654f6ffd8a9ee8ca20454b30e9b32ecd633dea07317fbebfbccd06d01aba8259b44bd2e47d5ea2ba68286fd5e07ea60a374a078ae230bc3a2261ad84bced3e59b134d4ab2aea49161e111157a4589f29b613c545b4f1aad44af6c0aabe10670770e4562ec2bf9d01532d56dd73f587ffd90fd131aab5ab51dda1ed8d261f8aa30d5dc445f310cfc4d967a435fa3e073aba350435c5939efa8cbce906349ae34d26c097437463181528d795be47a68c9e2bd5369e05a7c41ee5b541f48771c02b74b87bdc64153fdbcc2e6dc273741942c82a47223aede01bd28787c98bdd90564ad53112a4710acf9fe6cc388bd7e3b50a32ffa34c5b994e6e4512e23bc0e17d66a9f14427e737c9e94bbf2f9ceacb31d5d2d569614562e2933cee94c25ee15f588387d70c30a3e66d752b00b3b3ac89a2ed3a1df26aa494fd4d66a8550433a7af9f20c6a776f27694ae6418796900ce66194a8031820a5ce1cd361a6ec729bf99a38e0923cdc5187314f2e8c177d30a7b9a23b9ba7f23b70f18c903d1b4f8598ae6f0031efc6627e7a670614b19d389697dc4ed35412bb23a525fabe854e5aa377a543b0366de67b7f04bdddfb763db2a25ae06709a1d6c8e1079d42f33504f340b510b8f3ed479ad58183996c6666ecc821806eed5cd08e3233dfeb4a7ad76168d65f83162db488a81a6f9322d47eaf10560bfabe65f9bad02b3e5e0c55a380c69d778bd9bea22c21f7787451b2f0cd79757807c31ef20ebd7d8e7f89b5f052a4d951095739f39b453e56735ee00bb015882b4d62547afdc11c0c416c17358b05aa02f2b22f4b7052a300d87941ccc39d44c487a599d51a8f1938587501e651ed616d41f194c2aa12dfe1fcd9d958dfd84aac089e28d82e679e40da243d188564d7fa1185d398cdf7eeeaa8178be2fa39171d233db378889942b2d4f8a7385bd3e28efd87e5849c34ba90403887d9cbdfdbf092dad3a285d779b09ee47bfd3bf805370c50e9c719ae4eeedc9b7322a5f053dfcc03a8fb21a9ae53e59216973cc90c80c17be9aa6708858383dbbe267ac1bc32a8bd05d68047388da94167a6dab8848d422c3fc887342c1fb8b6c63850d4207dd2082b9cfd70314fff90646a4c55374bb96bc0dbb4f59994b5b11de28307270cffe768f72c13c1c7044c5444a90326b2725e0f4e796a84a4b9cf9777d8aaffeec8bc47063fc180d6ccd681282752b197430b223869d68212f6f5381f438f33f781a82fbe06790c2c17eaefded11845bb6f02dc9faf8117a97c14fcd7375906b720bbdf137da452644aeb5206dcfc35818492651cb37edaca5964f59d99e08bf5971e2da3917fa6518cb2d47173f4b06e3d6f2c6ae3d505f5c81c2523a6ee33a0ef0e9c5ab8a64e8c0a2c110bd104f085cf8266277588bfc31582caad3f0917efe4e4270d4f8cf33408d22661ae20056c6916937145950516792f7f1a592598fb86f40308a99ed16f12edbbc97905f4d971bf4fb6727f03dabc55f751226de59639163c4f0de8d574ef30988f4b6966aa132dabe19f467354e9e8bb0364ff1f2160e857ba2ea4a15923c57a53a66d002a9314e7cec77e065cfeb2b72d990bb251f800ec62eb26f393f75d83a2ca89c850ed7e5a9f7240b8a49897a9de5b7123ca7e82909a78587194a874e940522aed3081b37a539498f0fd6497e18531218ea335e24962adea69eb728c404d61b0f39a124a3f8e919c08cb0a30c0e82b2c866311df53ba2216014d5088d8e6f8ccefa34aa8cb1827d0462546b593c5af7778c300c842bd61a293dd96dc6725db8ed72fae5546bdcdf8b3f11622a5ba339d31b505a025d3adc05fc7a4db273dbe8c1d5dd2371d66be17c37c7bdd97c7b4730fc7845a54595febf34bbca21a53aeaa837728fe79862ab77200d167d72ba6682b43098d0", 0x10fc}, {&(0x7f0000001540)="3382739f5387fd75ea1acdab95a51fd30e5e754f1acbcf59ab41cd04d4ebbabbaf334cf7f7b07e69ff46943831db37dda60cb8d6905934a87dce15c09694ff74f6620a53aed8ca8159421c0cd371e678fabdca7234f5b5b577afb4dddf72be0d7c67151933b660bb459be90b90c56375ac28215e029f524aa888ee84526b2976a429780e693861f1b34e81223c372fafeb0b83b94bbcccb268111880567ca68b3420a2d437c90bbe2317a1098374cc92958cf45940af51cbb125e5ca55c70bb2cb6f87dbe0a860051b9dcd5b0dd1aba616020d2f96cc2fd241a3efea70212c09347837c6950ad5", 0xe7}, {&(0x7f00000010c0)="79c1f6728f42c28d7c42ca6419f85bbe", 0x10}, {&(0x7f0000001100)="d90a0eefe4ac451996747b3fc5ee3f483e4244bf", 0x14}, {&(0x7f0000001640)="9959cda13b3d8f894151b2da2268f7c1ab2caaf7891db19d024a7a2c7deb50bd3bbcf5c9f932b1bb5e12d01e734f5604728ad0b2332dcc024b5b0562700f6f762117ea4df7855b903c85956d1562defae18876a9ed6bef2cf7616d9f740c29d797e1b34dcdc9f7a0fcbd8f5e6dbea2b91f52", 0x72}, {&(0x7f0000002740)="39f4608f0f5c6150ea50bcbc1e58cec077a79a6b6288fbe7d9b8284f9b16a55071d172f23857e0a22e86ba9f651022fe6f1e84e0763b7acfe6ec50da03028c39945ff3bb3e8cb63c2f57477da2b81d166aa52a53343322ffa1fe3f87c37602c3d222ed38b292000104ac7853b770ef52356740525faaa39c12dfe4d5c256be8bb54d5035550994a7ddfb9d73f5520b0c9e13865a3c39a96cb0744238f8cee0c81996f21ba516a3b9b0bf45b4b4b59ead208853cfdc099421e5219e5cc76c2b18", 0xc0}], 0x6, &(0x7f00000016c0)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xee01}}}, @rights={{0x10}}], 0x30, 0x4000014}}, {{&(0x7f0000002880)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000004c80)=[{&(0x7f0000002900)="19330ae5df5d2859bf2c4a0d0b53bb2a5752e2602cc4bbff9dc5eb591b1f23670031a0c54bbfbf1405aa0f4e00be8a7e8a53d5771c244b5cbb80136160c883cb0a79a91e50e62eb52f9211137bb4ef94bda5f5c5522404b3b358df4afeb27a267835765d18158bfe86d793b8cf0e60b89885b55d6e08b5adfd824cd03cecd0456b663c38769a9f14739519eb9652530da6195b6e45cdfab42a47727750c2ebc84c79fb4220ed7ae09d41a0c92130e66e72358ed32fc0ce909ee5799d79bfbbb7ae01d5b22d0100f9c85068ee8b18a8362086240ef6851a6721fc80554841b59720b0ffd5a10a783792134e47b9c09b01a078eefa02d60f12ad8cf56f9c6b283e011f7cf18c2dfe97c280a1ca62a2700ef1ce40d8e4114dc16215451fae8e3e993a54488e0d1e73ec4ebfc6f9c89cb759eb96a687fd13f6641cde9c3dee58dcbd96addf3ffa7c7cf7b2851f707cb0ca1c4665e90ec5fc907269c935c5e30c734f3cf499fcc1b7de2f2336bad38f21646fc5da3725b3b7e1888bcfec98b7605336f7658c7568b81bf8db7f2c772a5c4455d5f1e780593204adb7c5ca079b55e43a3d7a356a26b88c586244de5229d20cbf3114eef0f624040945ff359d1b55d88c70891097df44b4bc8994e40ff3f1e8aea35eaf34ee03ec81b0a7c037a0eb71ce744c61a1d0dbb9dc830674270c68b55724e4dc4ea69a0f2c7a510b711a38719150dbb32f99a8715d148c13821d98b30cc7e1148e94814d88ab3027634dc09882e1ea756469a9d4474ca597ef29fb2ab6eb7950a9cdd90b5b0e7d92ce9222a264eee64801e53f232e1014a1fabeb72d2fc26d2dbfd78dc36fac5f315fd1fec0e34f514ac86bed55509eb4d641189f37cba11e55c6c17db67bf40e8fd5f2b38864a066a083e473cce6329a1eec5641dfde8accdda99ab315d678efe08c3fae274fce7f10376688e73340c9d846bc8beaa1e0323f888e2a6b40b0428edc04a3f885f4a871060681238be0d9b704ac7b0d701225e77e9f95f2b23fd66520fcc3365315df9626ce8d185f16c9935689f3f918e7d0baa76ecb8fe424f67ec5e9f73102d12027fc3c217bac6d1a1a2da101a7e3c7deaee2ef673910428d298d42d850620e9d94418f947b16d8141fb37cf5f7b90905f86ce98411f543cdfbe030df934b66eb4ef2b345119d6e5dc44b8e2d2343dcdde14bd8f451d0bb06833e65e7f62f4e3f5eb9ecd52486f04e299302410db2b290292fdab8aeb865e3d485d05738711feaac62e53569043bbb085871aa0c73fb47ee9d96dad7e8c5cfd70d4533ff768c690cd72616abc85b975f5c3d0aca6db5b78dd533f7fa50fd768ebc5330da26967a2f013f6d5a8e766a151efd6913be602ccd25bde709af5bcc716e6500b204d69f9a4f37bb8ece316b4e907c41190b45fc60f058d33bd024e1d02eac6d2e37921d3be060fa23f2280348a797f5b66316bf101d21412ac1aba2b836827a8e176dd7758e27a424c3a5269d1d7e2a87f3c0bdd182457c162bbd984bbf9fedc36c056ba6c947a36194fcb8f40748e636b7304339f58dc3718bee7acedf83ffbf731e900c7bf44a52665dcf89a0d719f3bd1063cdf23b3a5dd0b717b176549ac4ee9c28f493d9ae00fb5dfdd2fd80fb0d24ea70947a3cf0907881cd899a7a130ffa5a4349d3dcb909e8fc67c996c47363c1e3b928e364e98658278cf7315bfeee19bf0080f8c288489804d3b8a75b8afb7c45eb40f07ef6e84e9d063f08d186ceb42500afb1988ace3c4979b9c8b044df3cd0b34935034c9107be12f88d3ea391e78b5534c77840077c99fd278db9960f0f69d2a5c90bcb3bd434b7df4c4b907aab0b88c5169e44cc0a9a63a764b28feba13d545615241a57649a0a4799e0b47e9cd357e4a0105edb2cf451efd4b39905ab3cc0131495d787858a7a7ddefe7ae808d7573f75170870dfa609a770e02be38651cd73fce32e5a95f3875ccb79277b015aa5a55d87b65036e4d6cb2d6c4c54cef39494dd17eaa443c858dd03dc1346730f396248bf4d8dfed5461818c89e56ecd83c8f22c82d8ac4ee7fa62f7dbaa2b101427315b8897076a65120f97368b0a1a9e8305ab17140ae7cd85888fe94fb1a67f24e2525e7fb230aa55fb1b2defac9fc139d458c7072930b2186fffcb0bb6ba5dd8a6f4cae14ed9f1e6e36980811469f182b68be739104f228ba7bbd94bda58999d3e437655ab23e49d6ddb65f4fdad7d8ad83fea8f427d70cd20d656494c140d8a38dd0b2e989cfe89ac3dbfac0c39934473d744c2e000dc57f9b42e1d098c877a0730fb9c9b088d32115d3b5ddfec7e87560b742ca1c825f3f2aea6e43505ec75c9ba107f1ffbb91a4dbf6011b3cbf2c27ebd99de10ece30956b1b30b859399a5edc81787ea0fcbd6026ea13cb77b6492ff00b31d97c79a3259c178812757ce4b7836c1b93e79377207d487178b315ce35ae501659278e58c7759437564dc99d7b0908b16c9eab4fd6d8830cb8e68bfb6c8a15b5607cf09340dac4c1d9550d45e779ff96586efbd4b74b725f729f24cec0ef59d2073c7a9650ca358622d0472011edf0070b95d8aad01605b9110291c98952db1fb4f8b87e51a764841374db868a460dcce43da191d5825244a165748a0da7d962b9a79bc876d9676ce24b19cdfbbf7d7bc8c8fe3553393151f03a6a6e41ac3e4a8dfd67681f6da64e61e8878dff13a5834d657f2ac4f2bad61080a4b4dc80b5f86b8c0a032b858f749eee93a3cd3849b5cad65fbd04490421dbf41a4caef3b308fe091a799b5fa0d21ba2cff6bf46f97b107f85201406c7fb0e6343efe19ab1c6b0876ff0439aa5c473d358ba2bbc65a04c3efd5a8533c1e8054ae25d7b93f3acf534f78853b3ecc97fc820ed432cd8a3b435c309ab08781badb1929c67afa7895b47eea1033505151173e198e47878c949ad8d9a8fc333e627cbb9777ac25f31b5886e3133ceaa01d478f5dfefae3ad643be9d182f03865f4d108878cc16b67f60f05e2790d1330daf4742fff95955ee4f59c60aff0ee178b381644435ba320e80bbf1b8b011cdeff779d33e53781199fdcc473d46d6ccf52939c13411febb99ab2471513729564e9750594841ad329e813b74a5c6067f50373723dae0418578b5d89cdf59472ad4b9a46bbabfbead7db887dc3c8f6f157dd1e38b44577689c39793dfc54bff750b4b6d2b9f8a82a2a3c66c1813cb399cc00032ff80a5055a47af1b6e93c5a16379423fe44039fc0c724df2f257ae3dc6b74136114fde4f5db11f2dd8e8a5c3908b912a964920d4ca3b71efbf0f1e4ca67dc826411647348fd1f1d705550f24fa8a33f16934808374cbd060d84509b6da63e85f73616a05649a533452def2f4c55fb45b556ff2cbad0fee5bc416720230a5acd41502ee532c5d2bc9ef16d434940348faa2753226c13ea45966c1cfb6cadef188435d912e98c691b54a98e5ab5ae06a04bf4b7b1ecaa0d74cb547d4896df8b40bdb66ef1b0fec461c04eb7e2d73619c51051e995ebd4d40b40eef188a991b0f2412ad67fe093a7b1feffca935bd766658718b58fdfad62817bda3b706d5858cf021071f407a0e2fd06f44985bae3aaf93d6ccb9efba251d0ed973dccac23f6e5c8b9334ed040a7b676b8db64f10e25a102dd096d7ca6e31a54eedef6dbe9feed41a77e4d29b7ac2e0df02a9c411195021e16dd3acd5db10ee328b88d10c00d4154ee4c873306900c7e92bf8f6805a2c084db78d42a818cf163dfee76b10731047f7bd1e9a550856ddfcc84b781842188d6cfa7b661c750bb8647fd9071abccf02721c37915876c6138a99907ab79e57e767320ccb04db852fce7a9c6b0aa8f0f27d8c62329e2b903674451807961d3ff60bd4c045095e450c2603f960a627e300953bd9cc6c3d09316dbe00e57a9095e263652579980607c25d36d2762be7af288d82891497a5fa9a68f5cc0e556cd6e53863b552dffb4aa476354b18abe672d26eb70e3e6770fdbaed32ba079f7ce3d9174b52e16bbd9158a4fbfccccde1c6e55484461f9b6201106a99ec64780a0d1a73a5f9877661e7dbf4aa3c4585124c50a187722ef384f67e82f72dec4a4f3fb95588e1d4e67d5bf21f9868beadc1913d582b06ebf3c846a8ffe3c177f6a19da7901891e9d5c7f715ec1b15f2f6e0685aa4b42f0a380d4d100d74a3d4914ead3936f2a0ac5c29d79f58944f6add9ffeca49d13770655710d70dc16e61cabf03466270580f418d86554ce64849ac43f155f9f927eca234283523fb378e64ef228575c7619b0b11966ff33c74cbc46b18d83ff493bd3f2abc525a42e12d5795ec6f7408a153b46ef1b0e13c7e3a060978b14b277ec43e25184e8ff463be7a483778f10815cb8ba7250ba906bd5322aea0f6867e4a5b1be6dd81554d30ba42343a3870ad8240f5c379bfb322a0c2e904fa2f2192e57495a532561f8d06eb8034a6231d5a762d531193cff25fc2ef2cb8abcb4c8a76e6df61e4c780d6e778a107d2bf0eee03d159256d9495ee518017e575b81e75ea2d6498a8d61895df270b47024ac7776004e649fc7f9c9645b0d56663fc1dff66d0165df1c1ca508ad0c50aa84c82d614df89356d4dd5f42d7ed5db06fb04800aae17986a831d975f618bc5d15d4f74604461aded8cb4fc02524b33f194a2ad58ba12d224210983b62c6a1b53800a4bc09799c4598accf6adecd6488869fcd63a407f45a566f6fa441557460083850b6c882284323f51895509e65d48ccb3cad4820995d992caaaec37e4b790045bacf7e26223a93ab828c45ba2f25cc7bbfac119e6f05ee2b58030f52ebfea3292d7e4c470e04aa88c6ba5b2d1f20714da2b98dd9e50cb8102ad66616b0f92c3179e6be1a370ba88c27ca2b55a67ed2643550e9e345a35d82e8252ca8a25ffe85d18fc618e4b739c8155db64395897a3d13aa65489ddc87f77c9838fff141fb984ffd34c4d724f1059330f37915747007889c208a8cfdd6d31976c242073839714966ae0750fad569f33895542f41f75117e7f9852aebefb0058d194a0f96c28864259b5e3e9717db559ee94cc68e69c5242bc26efa99c674c3b5878abd98eeada54e67cce069af14c3f44f058489bf97dadf70fbd4bb9553a8918b9f808e3be931566df93a004cdce3f75b0a3fc90d0f9ef6a370c1e75037c99551bf18e62d0d05d4e7688d8a13f1f33bb37fea7703559109b23ea882eda9def2920fa086af91cf0f62485c35c7588bf00890f0c06194161fa87c780f20fd6f337e5e994a05ed4c6960462ae1ae9face443ccf8454217b428c9206c1a1932987405b99df7cb4fe4767f9651dadbade39b9af48abe06c43fae5b3ae323ad0e741acb13f631656ef7b5a1b2d1563735b8218840a952ba10cffc3ce781de5c6ec7e5a959c443ee6ed728366e24e2e5a924509a6fa04f58a27ec137012d4aa3bce3f29b39e75b469736622455b5df7725c79ba2e54b1d5936be402fe143989b889aca0d0b629a6eb6eddf259bcabd76e523ddb63ede99c866beccf78b1b8c10d50846ce0ccf67d9b1bb98703fc66a942fa2a852b6379f85ea70b9dcdbb2d3e973a6349127dfe2bf641c699bea71cc88063f2f9107e42d41ec4f172ffb95f55262074f6e4419f1161c539445caa70baaa379b4edad7465c5b5895df7cf5c090cf6a2bc373fcb9b6e6f85f07fc72516a2dfecf39114da1f456e09725064a319faf67459a25bfda6ef70aaedc892468bbfc4d89f606192c8a5aabfe1a8f7663ed92f5ae4ca2a9097d88", 0x1000}, {&(0x7f0000003900)="521aebb9671bc7e394ee34e7102193c70d43aacea52415d508bb19be7a8afb3860e262e5046edd77bb0be6752cf2356eca1439ca290ac99ddaa1d749e929d5c4780dc28f28eb1301e2c4d59fb86aee7644087ba6d7c723d17c5c5a1223c9c5a1", 0x60}, {&(0x7f0000003980)="3576663f183849b392cfddd7df76ad99cef57e53a33105f263d2b28d876cd3551f8bd7", 0x23}, {&(0x7f00000039c0)="5b19f8a8a439d55609617202097cacf118610068332ad106a0be2d2366962599e1d1700a513071517b207437448db63f6839162cb8a60c67559600b0032562c21a6cee10f79482f185a02b071d28ef3419b89a1047d6bbabc9a6a7276e68cfaa32c5f3b0590536a409167892f0846fdf9bb98b5f2041027d3d904ce7603aeb1b27fe2bf9ca469b6713bc7fe3ef5c227d736ae8e658898d2d2af064addeddc41db49b", 0xa2}, {&(0x7f0000003a80)="70aee7931c32cc451b8fb61f213c65a84d509cdf78ad26ab224da770cc7955e8eda43c95f2887ca746a99e2603bc8d2bee54589336d5381dd0c9cb8151e5390fdc36b4870c5e03b690f3b7adfe1c0535001d3bd3a50b2a6f3881f7e3db85ceb7b58b9ba55d0ea837774e0acc0205668696929101e0", 0x75}, {&(0x7f0000003b00)="e5df99dbb4e86c5502a283bf61cc7da8d276f1905e6c8bc4d8336eb724626f61cab91ab96197bd385673c794932d3a134d38e0c046632fd690522a0d4e218ffa16386d76eed65f02bad6750b1ecdc79b654d104a4327b9e99d61e014c4c1b02d3e5e4625f814e3f4ffbef83ece60b71223ade7d4dee42458d2430db87dea7db3296d701e67c1c87d7e8fd75ec9a0ccf3790384f7229390b151f9d24f4e197f563b21a8e3aa7be764c3dcc6ffcd0aa3d5f7c4f7b1ee54335e493fbf284f5aa4438ada98d20e13dd20f2fb980261dbfa4df2d884e43fcc6f34483d18176c10cde12d4bfe9d232b0f3aa4ca32759ece15f40d1322cf2cc5afa47c2d985d3585fabc395a13df6bbb7055fcdb9a0ca8b896e711613bf4edd8b132f7b504a6f4d733bdc10abfa5222d4a63a34fe107861ae0c204fbbe0c1c344a4abfc2471db31f04b867ef94fab9ee0768ace75c8b80502a0ba70851cf77570a89d3c076333842335ec0ff2ee2ba4d79e95beedc0089fb053de47ec7803c25cc890166138e3e7e64dd75e5c754c3eedcb9dbc3c8aee48507a6a25d8729b978089f3829587d06f10f34c2233549ebd2ec95e7f503e9c8e00904c51bbd616e099c2867401a574cb56bddc013ecf5dde71f79fab0537ba733490066084e02baf46b66ad1f2588670fbad8120f8c206a4141e0e32fd0354a3955e870e36a1fd989d35c8b41aaab22c4793842b483ef4882ae9d49b9c38be6b12d4065d781179cf8e65eaa556ed0e2e0d566b0dce38dd927e78e68ab3d1005f88ec3b078b8bdc228634a81df238612b18a1944fcde9a92ebeb00d65b68a42b5c567c0771bb970020759efb3ee93c5b449010eb40e406b8e4ac0d2b5780d8ffb6eb05d4b28f8d4e4611511dc9a50163f85dcff6fe372918fa5d22fdc8fba6bc7892b11556a60db7f3c56d0b05d117cf74801edf10d47600187bc276ad35774bce8c7481d36d7871a5bc89f7c70ac8aa780d48630c41b67551fe9be65f7ee9b703c88e8aa7e8cada023ff1bc0768d16525e6726ed626b6c48371e9f5857eef29330233db9607afb3faf293d9b57f1e4eca8f910a18c7149bc0ed9639514078b6c59971fc3a6671447ce0f7dd08e112e58bf5b81bfda9902b7919d8594258d0acdd2ec83f35c0225a495c30cb81c3aa20d2d9bb0eae16dce8d2620815b354c15428a5972d67cc0a5f4290672d6eb99d2a251890d71b51265270757279964b91f5f22ba2722735d2de6917a3c230fd74b03274ad109458b2bb99a9b5a1ffd02b1c44bb62cab50b545d63451ce544e5afc5c131f9a0aa5160fcbf5c715467915168fa80272730e04bce0aa24e83ede16eba7e2c4d74b0b527c6ea8f1777d4c893c4b0b5f1c72b8c7edb42dbff02faedbd681ce03d7452fcabb9b6bb1bb585b64d576dcc89cff600e02ecc23aa134e0284e13868c45710e0f382a090da88dd9f47fe58cf54adc87a351e37e954d754a88c2d21a25a85e92f435864f5daa7308489452e8c5bc06a00648497e0c7f87fcbbfe067b540d8cc562b649c293f609bb60de376bb4a9f79ceef66bc2fee49c05e7686ce60e74cb056148c0de0d920f0f99f4f57667e675832ed1f38ce1fc7e8672d71cb58dc7e55b50ff9c6f7804f0040026d3ef62426c9521ada1fe32b95c486e3dda65eff5fa9509d4048631b774de9110b1c3e396b5b415180715d57b03ea4ec95f80a6b680b3698307a17cea504c5e125a5840000033e046dd83cade11dd62b8c217facf0ff54a5783865d8c7fea0a936facdf6941b5fb39e7f24c720879d86c1d78bab99a36d00f9a98f9a5849c54d526eacea98c48851993e2988a193a549bf0ca03260ef7ef0871cd3d0b3563e608ff5b02c026db30a469856b2e21002e9af2ba1fa32e720c4e8f680d64c766ff4f3e29a91d7df7c0a26572f03f5dfb905d77207c563668e6ab05353683f8a38143c20405d21b2229a906d05bde20203df2a4410827c10e95d67391127611fb9130ba09398123f770f5856f6c20112aa61d547f905d33ca63bed3d28f9dee986db0c823d8b672bb4afe0d0b0908a30eb133724ac1554bd8294c1f6e3d7edfbcf9adec19a7d929dde1502471edafea37975149953959558b6f99d178dddacb149f27048844a61fb54b108bd554a1dadad666b67f46da1e57b5c72faf1792fb2d8058142ffb3dc7aef3b0b9bf813873ab780cc7ebb219a4eec4f3c2856a15c6a2769f975fe685eed6d5932621bd5caa113a67c7033247efe186cc101b30b38995d59577bb570f132c74f910ba194244ffb502c5ba7f2a1b8d3feaab731b8e09427b85da6c7b58ddd9baca299a72bbde8166536de7ac54651f67bff8648acee668c480eb69fd0ec7d746df447000aa72ddf997ac1e16b65686adcab8296565db81f8dd79091987fa12b0cf71c2b72b93d600ca96c6a893cbd4040bdc0aad18184d03a6b9ea2136e86aaa2cd8f16abbf54294165379d19d247acd8dbf9c76dda3ea6e6b30abd795ee8739019814222a132952698ce48e3f4b19894fa6cd9cd9806bfb883a9a05fc9e236fbced051a1b7d39f6efe8cad67be13131fb623699e174c1bdd26517fbc25d9525a2778d537bf3395b48a7921ee67b292e592983be2d46b4b49a14a66c740deb2b6ebe5c8d492d51f1f31e3274f145e33c0f920a5f9deea9d4dbed9453fb72a096c3dd43fd24b85dee6c5fed927a40ccd22c8756a5b81fc49a65ae60b7d32fa5c3c1355392bbcf0503b74afb1d2b80c415c64751d4d811721d27b1552b84be1729033da868b3617bdf700df56f4fe0d0cdc604b846bfcf1529c2ceaca8b3c5e58d1aec27d8cd38463fb7e7b201f2457e412dbdfb777cb796834e2f8d0af584a57052ed1bcc980859f7c2dac0f90b5052360ce417a210c270da1a8d659af0ea8617965aafc63fe8319f6dd2fbef51d4c77f8f2b1a73f9c876d7d2f980940059d281567d4fd674290c12f7679e61515dbd3f072b55582e9082506fc0ec483e9bc649ba3e8e2589081d2b6b195b807adbb3b25b1dc5ff7866bdaa161309604c9049a3f5bf1342d33956a6acc7afae08da47a469493759c3c73eed75cc366371511650085e34b34fc95a2c5168e0b8a7b4b661d3ec66072c41a49a7b72920a3047f5bd368050a429c7c674d2d2308f4711edf1c48649366205dd01a9dc794e4d29abaae76077642531257887ba7af11dd32d95757f76f6cf25fcd72b21e4c0c9c99c5d959dce95fa5aa12e3f6c3643518c3260288c4281a81a012770dbf458f32e1111b7cf9b3345e6d34b70d1360956d4ee91f39107c7ee7cfbe859480432c7cc8ef4487085d6694c5c8d3b5cdb2db88b275030e2f42d8a6e976753a34f245fd886cec72b5d8f7b47e2fbed445f2b83582515f077db57b5e4f3a555f52f581eae3b709f5037d16cb25d9d82d0f985518dc235062c5904b794f7390bb4c371fb9e0fea1be6acb34cfd22779517db2ceeaa8f7f898c0c61fa048de440f7c554b692e015203069bf347e43a7b8adf783502384055f40effe82c39ca26277263bf1f7a8b1cf08737deecfe44951977ef39f09fbd8324e063f83e9cb9b26f8724e20b396fedad91222c5c429b422163f00419def6294f77296a76c67c8ef9487caf168a5459dd0f505f323f97125763b4439c3ebe71660165af25b00a60a1d89e9cf4c61f97e1b79c4f034bca3c00b49f688460daca233f8028dffdfaaacb857c0a25dfb8a4d5cbf9c35e4565a4214ac5a84a20e93a2dedd6e41fc21fd8942df4006097fbb60904e0b4ff784517851e4712ce61dca9bb9c421a9d39a30971364f9ef240f18b25602cd2dc3b7fe90aa1614cfb8cd1705614ecb43df5d8238815019b8a4f439be17b1856a172fe90d9c7840207a453b22f62fe225f22859bab21e342399c779c46283b337e97a496a12253f16399c020b066247451dbd6a05980af044a569f42676f14608de162cf407a11a02d7257adb40d03e746a6ea526c4207f58475b25f2f5ab9c6e7de14aab1013dedcef6a79cbd707570bd025a35daec4786de57ed3479dd44b8c27d39850851e97ccfce1d778e51248fafd1bd7c5b4dc13c01493a34a70c9e25d2f2e0f06e2fba95ce4be24168fee57a6371bd726467d9f78a5b3b6634e121355153792debf4c3614f49b635c78582c883bdfeda97c94bc3dabda564b11803d7df660c59d62411d750684400ba6839d3bc53b0b91dfce65ed5677844262e0ba1326cb3ad687acd361edcae4b1897f677a6dbc75ee2cf496ee6bead48b5ad79ca4838fbb2aa4476fb1e5dedda61d774b582f1275fe3d8420cd2623b7f8a7b9bf4477955271e0b4e9aac424f37022d8fb5a86c25714c95c67bcf2fc45bb44f014bcb80217532e477092dc4caa66d2e42e600b1043b1d15c05d6859129824f54f626f019773acc92538269bda1114ddd583557b2fa80d2d33f4b63ebbca09b17d80d24a13dfe04b51da1bf7728aabd07715eb4f81d939eadfd11f22a5bf50b95d17bafa8414d618aa763648cda268999047e65bb41b058991b8276fe198ed64d586144dfaff8f3731cf24b588c9a33140e3d4d911d8de532e37b7090c1acbb32b971921f8d204e3a5307fbea2a631fc132a63524447da5d7b2dcd1a92b84ff94bf5f0ecf24d7c29e118d0c26768e5f8c71703eb426de9fae2693c10e8123a8eaa50f001db310044243d98a3d291937630d8e9209ddd3c1fa7d9eaf0dd30b31b843027a7fcff39d098cd1f22e1f4beb271606e511ccd961527b0a6a56011cea962c17da448a65d700624f72979c2fe4869a13d45a1f1f35ccd708ec5dd4180293d6264b74a6f231fce60660dec70d80c98c327bc9d7f21e740d550cd56a2e465965ef300f933da76d7adc7c6be6330c62a1a1914305e001d9e89cd237c477fac5253c41fe1bc6cef06608745e770e911f38557d2ca554c507333185fe92fd6425612d6b4c97f0899e8fc83994a7519b02e8f08d6935c39ddda2f8cbb25d6875332657edd7f2f3c9ebfcb7784505a3ed2c2cfb3eec68a16c8edbcd676261980e9d0a77e0f451891fbd132d18111a37b736166a4a1bbf92ee7a3f9a511e8f9c09f1763449ccd06580956c5b6983bf5c7a9922a0bee05dece833f7e8ccc6b97a1377cb9996903c6110d11460d937fc2e9435fe4b3a5032b7ea07cd88632a8043e9a3cb01a926dc0fc42f67ab2ddfde06f10dee6ce89299705e99a9d8f2b69a0bfda5864444931cf6498f16e9a1a73c4d1274b9610f73b17489bd44007d95fe2588028991cb188dd272656c424a7359024542fa7cef4c8eee9a0e4bc9e4210f0216692c6cf6ab1aaa19d2b8f2a8be995004e574262578e036ae76a081f29599a2e76c8e98a8ceb6974e45411785a5d8d70189b18c132f885b9cd57e73a581c3dbe1459d61daded55c1479711715f40ca4ac1cca4808fe8236cc032893bdd9cdc57a60b7a879c73bfdcd41822b847b71af5d4ca7bb589e3a863d43723df49518bef129f8316fe3c8208af9b1041f3355090684f80a5dbd7edc0f3764e56f5a6ba51939450e68ed7046fa3dd157c59c43c7b6e7225d0b870a9dfa31ce16b8f0db0fbf340058dca8962679db6b9bf711f2753313bc6b56116c8e58b489714fa2c426e33e9c93a589e99874ebfcb69819c5e2bc22165dfbea27c39f596e48a02e9b5b962b7945e1963eb0eb7014bca8bb3e9fdba2ab9826dead291e1737b5c812dcdfb96ad4a425c8a697a429532cedd8c8a605891e2fdbaebeb87136d2135f4a1dd3ac26b6038a2ee6575bf2dde", 0x1000}, {&(0x7f0000004b00)="054fb199b0a8e7033aa6357baf705b8e160da1d4a2594a0ff0bd54bdb6238652b58d863613511bf8ac9db704a5dddd1e3e6d2839485835b82046229faea82fa38f5eb1e25371dd89524af66c7286680db63a600fcd90eaf468e8922648cf6799212db3fa38f1a18706eb139d8226645285db92d1b7c29ebec9b33569d379a785d55a8e1e4cf492a957e6a71c42862b09c15fd0ebd430b92727d5f7d2562a93bd1586cd179c6e3e841c39042645fe1185dbf868723cf84c7e9fbf307048c288e258c69848851e88b068", 0xc9}, {&(0x7f0000004c00)="9176342c73c4551e6f02b43c4e6b83500d96d046fff5472dbd427e73d3044e829d0c2ec0e50a89f2ad9485981211ded892c96a85c532696a3a540091d806597ccc213e12eb6ce178691b5a91a4d8d1c4a53b5af0", 0x54}], 0x8, &(0x7f0000005080)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xee01}}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r1, 0xffffffffffffffff]}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, r2, r4, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r4, 0xffffffffffffffff]}}], 0x78, 0x20000000}}, {{&(0x7f0000005100)=@abs={0x0, 0x0, 0x4e21}, 0x6e, &(0x7f0000005240)=[{&(0x7f0000005180)="189db327e537378d10650e64666a035d69c6b0541e8a833f7397810dc5aa5ce8913d50ae4f15554c4e308989bb17fb7846e36c6a7a6dd13e739b6e349adea600c67cad5af2fdff7f4b5480f0d1524733f5c86c87c2b6d8da9d6200acff6d13523ac083231c98d1d147738dbb952babbf8529e46de4e372567e065e3eed3f28cb7a3ff3b90c7947bf20602adc1e8a7ef48f1a326098479dc1aa10ae68c68f8a6ab4687cbecc98b6ea0aba4baeffa60c3f31c83f", 0xb3}], 0x1, &(0x7f00000052c0)=[@rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r4, 0xffffffffffffffff, 0xffffffffffffffff, r5]}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xffffffffffffffff}}}], 0x50, 0x40000}}, {{0x0, 0x0, &(0x7f0000006800)=[{&(0x7f0000005340)}, {&(0x7f0000005380)="298e47e0770c5b574a964e812e8c7b25a6a7df6cf80d42d0a4c943749e7b68bff646093572a1369267abd53132f592536847aecfe9", 0x35}, {&(0x7f00000053c0)="f3ed28ef877b8476e6a72de7f60f1b8e8b7d4bf4b9a72fc22e62e82860c851c03a5bdb07b039bc86a01bf6c1dfce9945ab8ce081a87d57edd3a3dab1dd9c3d9e25dac1c600c3f9aa26bd11a65e22a0793960a1f220385bbd7f3f3bf3b00c61327e0dbfcd329e03c3dbce8cc71c8799993983c1b50a3f9483290ac7c88fe26cb4ce09d2cf15c9fd35ad6f77efcf7e1448736b4f92c9a23b1b27905ff91799070e37d4ceb2d8237e3b5e7129f75400c3a8ba8d3a9123bfd02eed2e3611ceb91ab3fed8f42fcd6aeccac57ed841c7c04bd846fc7e2de4347a75a963", 0xda}, {&(0x7f00000054c0)="d60f9899aad3479fcb8c685f15978a69c36fda54e282c40d23c6a9d29dd6dfa35c320a740cad0e9721a4fb255b7aac4ae766717141f1cdcb74dcb1f476e56604f3230686508170be82013a42282cbfb1db75f830f77c3b92c00f44fb941c31de1fd534d7d0442e1256a886aa5b3998c1153dedeb380d4de89f33b569fc42e1f444808f17a45490d9e6827833f03b4bac4b94e1feeb4ed8c9e1511a4b4ac869045dca613acf622585ab52089981da798af73a947bea603b9246d6df0bfb61c44cb73861451b86c80726b6415f7d777ac14ed136d1adca1b8b7ed428561edc5bd7b9f7493a6441298a5daf40ff8d00a74eec072447dfab37f2289608686093464685d5d5fe8789dd61a252787509b3a2dc0c79e2eb35f805c3bb0655c74498964beec677c3ac2bceff9a851096c5bbcff4f434b5391a4415f4031df11ce648318f675c18b114ee8ff8f6a9063f3c565c73604a6e9dd4d1b0fd3aa8a8e1229524ccf3ac1ac1746c1bb7fb7f068b04c98fd314b13cdfac027723a4aa11ce592a224a77ef30da132895c96d161a5c96e439f10fd20c0d62980e3709a8b1da1c199c13fd0ccf3dd9f2ff128567f236410ba7379ea375ed1b510ba3dc9926ab7433b715c795606f3db161ff8bf1fd9c1ca2bfe6ec3172c1e60ea70163e436819b70278623805044917afcb98f42aff7e2e5f9e2715231cdfb1a4c681fe0d84ac6568f8abba1d62d1aaec100f05e4478e04f63c55acd49414d19537f9dbe7a09d502cb3be41ab0b7bae7d12941f764c6f13cec970e978104fe3e4e8dcfc9733fcdd78a890ea8328e2d491280e1cde370f4280ff1db3fa2152f42d2c3736c526ae3164b3282f8e419701c707b89a207be79acfee83bce00fd44387a3e7da452a361e46ceb051f25488cba9a98c8a0d06d4805750ab1e86172cce1f309a61e0a9041fde82c1516585c8ed357913943eada07dcca7889f63cc7ba1584c022ca62865372e9c70dd27a46324963624c634482e40cf4cc52b580987c8b9a0033405bf9dffe9603677c48171676e88d83db1826bde61d731b057e3b936a44dd0baa8df9bf4cea56add38d012f219ff7bb27795a243fe086c44f1dc08e564108d7cf693fd9a49b1afebc1265c816217a35de1df78050c4190c1aec5d82d67350fd6a4d83a34c13a68e57d1e64627c8ac3c10c9013f7425779033f01239653c3b16e93644043b6e94c7b03d299e0ca37516ebe25c1d86f357ac65e41a1276e02c81df6a4c5610f7edafb391ac28133715c48e3b175f31d86120bb58408da2af9db6babdb6b57a95dd66c99a76605bd9eab3ac5e46e69e70487783b32d2d3ed09139e2240c6f2ca8be24a3b8b033d5cc7f4028556750e245fe7849b12748aa6d070c5d319dad07576cbb838f94c0115407164d9df2dd18efa5d67489aaaf24aef13535b6353f5afa1a80ea43582e927dc945fde0cf05678488f923c1a9523bc57c91e2d2ee8ddc55a81b24be5a72ef55cdfad56c85e2998b874c707ef9736f17855e6c60b868a8d6e8995c5f7ed87e8f0392ac6230699c2f85f9c025cd009390e88c155a8f57cffee01867610ac1fb662c995a6216936701c96210f18b43f18b403390f5b75fe8c1d7725c1d9e01e39f2224e6a65b8843a7058430b88feb77a007de37cd08efe9bae70a524986899f22906b9a2ab2dec56b701d09dec9b8331f4d570616425d32d0f3415b9c24499eba5a3341a09eb96e14e38d25a0fce8ae144a2492ccb74bbccd4b1e9d913ee2e24335a8dccb7aa3231108551df65c75b31bfb2621dddef0c64505bc2fd0177d07b6e834200fbd110ad38310bcb2fd6db253a094a8843342ef2e915a7469f4f3b59d11dfd564b7fa82a8a85d9cbd3ae60cf0890e55ce4b83789df304948795705bfc9b6077931d9e851cf1ed1898f2e91c5c9bad20a6217c53f3dc5886c255ef9f8b4c0f066f7fcf3856c3303528ef6102033efb029a3cbb2e82ff867475b9a1656bc11f518876082302cef25eba9f7575349c8c726949a89be9365d5617feb7b423dd17a7380d7d15604b1afa6583ecc5da387aa2de2fee4d5932215a337dd55ca83638396234c850897c592675af9a29cb3c399e8df7aeb15cc3961ed2c90f20c3d8d85fa92ce9241eed0677de1ee09180faef669380f4380078d2ef9356b74f9ecea78567c47c610fbc896f5cfe564e98efca592d7fe9b9c9f727c86de6d33a3293c8ea10d41687eda7da0c9bb19e60bdaa6f107211be51ee642bed307d4c3b1306d6ab48ac64731e73678d3f37ba1f4d32d017acd377999f9cdc3171c68566e6a2988ef0ac8900dbecff1a301590b41c1c2ee2f4fd5c24e171e8ee909adfb6d0fd1367887cd647b6ce6f046ee928b8eaca2d8009f01ede0c9c2b51dd931e0578c649efa2d2e6d821e2f682231792479cb0f3723790dc7cf679b27b05267e52f27493dcb87196ef17bc4312e6766f619cdcc62ef1c21d8a27fbd976c577923a4bef22dffa153a55b7e0f44eaebd41b028a210a6689915a30c284050fe68be0321eb941a1872465fa91d81b0b84b89d79cf5d5bec7c4f64d5550182693a69c10a8cc306bf8e7eefe9d561dc7c55694e884572595a25c91e4d20c456b4a7e94e29666873a8a1534d05a43812249a53167363a27b48a3872aa78daa238a5bd3e70078153e0d5bedd4a1cb0598e2fdf79d8067b4b1cc2329bb8913661690e23cb2ec6fbf19299ef7f05cc3e0ea52976a6d040de53e1b30cf4733aba63f79ade4425544b42c09da8763bd0fab5c344c6af7aa026e7f0111f26d9b57a69b9d712b71d93abb762f206c8323f26aeda6b66298290ee762d1974a019ef9d31b9cc87dcda22bc2d4fa4f9e51f581a5a93153aedc6d7d8618c29a2b1238b14360b4d6571658e404a49b3e5ae76ef2622a6d4ea2e993c9b8d724907c0a092ca78b42e8ea7320dd52e38f2901580caae768dd52ecf684ce16abd62a6984ac13475ef91d57657c05db7cfc18b80afd2d983238a2b0f14dc86cc1bbb7f4e35492c33147801f4cf36debf8f7907998166024aff36fb0bd75fd2db805fbf78a7424379c6740319ac6bcf655bf1d8ba895f6b42fd1aad8388d9350c64a458406e69f82b3e2275b1bad716899b8e187f13e7a148a22e54fe91582462ef93154115d7ac2b268ac92c961d39b4d79c9a1f02c6b59499ce68c7d339c18eab604e2aa9a428143e754b1df97fa356ffa9efbb57e75ea29fa2f440c6a5503c3740c3d7f2bb836b3727333f668d20c7045f0f7bd20682975a23dfad0d1581b281d99061a4f0a2a227cc523c200dcf7846e4e0f6d75cd5dc5e2b9def440ed40320fa101a3d7ba4253c0567681b576ec164d39cfc4f2bb68324acd3869ff9d1031f68d72f8cd8132a818b482f30ff71a0e58d01def752cbddeb6002d891c50b9c87547054eed27e28dea5d30bb4a3903dd3684ebd15fe5f0b3e1c08eb9d03906407b882bc8d95a4d78d7bae8f1aef60709779d9299bb2eb1a74e354dde7f4fecb13d301c2f8ee89d9ed606cc40513ab0438ad71605ec6303b5a0503a233116956770a3852b038271ea2bc99978dcf2a54279ae053f7e8b2cd3db51b1b5dd7d385090b9e63f6124b553c7ee71a9411e811dadfb6fea8ec7047affdd6aedf8c7511d92385e8304d703c6f6ddafc41b9cce4a487a2c3a1ca9e7d0e8ef6d5cd0e84fd91bb85f9e5758d8ea8e6077812003b23a719e02f7357d5383b76f22e3ff4b9fbea0784c0886461c1d18a1e3814df431ab705164e1eb3fbb9fe6bb9e16bcc8de3eaec4da171c1cb800b790734e566f4438f1769f01f9c490cfd0c743b57960e4ea07a00987e4a734f9d14925facfabb5f269339328f6618c762b98bc26ca0bc7b2b16c70e73c7e5009375d82314c5b38e441a6c8229fa388910e86b4424d8ef2c64f72618a3a13ff6b05d1fb00d0377c4474fc4c1b21c7b25384f402270c3db8ef980db4fbdef14f1f0b367d6f274616f13228bb24a985aee84917c7972b974d7a4f021ccd6551797d1792a6dcc18414dae734387aee5e1090ad734ad3602477844f3b24c68c9deddf259abf055706483a68176dce144182c309d27ce1d633d72636bf1d2ebf6c30c5f6fb558bc60bbbe5afa8257c60bfbbce4b0372c4e9691c4f34767ba3ec156228651a8d9ef3a44d3c8cae325fd469e29aba8694b42ba69143d9f32a66cc4c2851265759093c65773213c7650c335cd98fc709a31597dfedac8fdc3c50aa2919953aae8bcc2dd41a1092df5bf613ea5d160954e69e91f623ae2b46f5b55a822162ee4f420e8b416c394b2b43c1703ad7e12b948bcb49e687f7dc90c515656f409a0e7df5b12d1337308d2aa7601a80a88d444914fcaf13f744214e484a0d472484ef156828d1ebdac8416507f920790729dd51b5d7f356eb857e7c6f3c0d60384c6a46fc27c61576f132546a9341b971c930e7508c728f66e8f45e46def2c9a55ab18b8bce0057417521a6a99be5b3e730a361e95e5327294e1e0e2b3a436476b29bfad78e51b7a364c960b0984dc3e64b17c2675e87338d68e4dc3c99a8bd54710b3207b4c7dde112e1dcfa6fd41fcfdfb0593b4844cc2427ba5fdfeb425f79e221aa8ae119c97b5e0de4be179055b8f050c8c54884fc12b8d57cf66802cbeb04a68c934d0dd63f2524ca48ff89eb52022a31f4cb6f602b63d954b33868a524a92a519f4b76ffe8e12b6fb9cb86f1e56c22caa4bfcce4d5f89d0e01d3ee7a89dfead68a5147e80838faf970d7ed85d8230ba357a5b7c4b22a3ab2ff421d2fe41cfbc852961f6fab5081ca878103bfb3cd407c7df8558f050efef740399480c87d0fae4687c289709901af72e054a1a1ee627912b7555dd190774e640efd6f20fec34a3eaad267f210825689198854052435e6ce47b2d94bf29ffe273d263ba30be5c6c7be64cf6de57052aa40db2b705e437823edf8af0417d1ff0ba9cc14e5b6cb15d5015400b1d3cfefcc30ab0e1dc4f5947f744a2618bfd489989a3cf28e2e1ade67c8fcd2389f6717ccdad1f566a59b4b40bee3af2a19185f21153ba24c7859833b2120d6a24f3b3e50e6854234fba2dd77272b549c68cd57c063e49097101abe86c283e6f568c7f8f425be3b809324d1751c477b96238fe0becb6a1ef8b6625da1d2f713fe0d458e746f7cf5111fa187839c8c975777f156dffcf04449c23b363d9b0b8cbf8229a6676aca3d1e1cb6149af5abc9dda1e749e98027792680f3caa1e493301622f58f478477f4890e4089122201cdfd708cf1928679c0a07f6b220e945d39da7e470a9168e69804d3e336534a4dcbb86243c731ad1a807621e9cf4624453a1435ce7b9ae15db3458918a46438288d5edfd1eb1a1fa511c0b9bfdd22d12bfd9ad2108511e66e133d95e0723ceefc7a3b1d7b93a16588266661d7a300089cc4c20bf612bf0524fb71fcc194db7ffd54fe5c9f0b29a345ff2456963dbe80e0a6b2aa5d7b7f50b9ad90e7e8dff70bbea69fdad5ce6106e19940371fb81e72f28690cafdd8d038b6bc2122e8671901432287c751f8b6dd14a19e4b6130d30a8c657882d7bb1266fed5a07c8cdff5fa7fd1754c903b7a45d5540d08e34065e2dda402d8ab6821d715ffac32345b7059a9555a50d5f4c154b45c0184c6a32f3191ad2e8f3b147296463d8de0fbe91a54135238d965874425f9af15047239ce25d3ce64ba01c6a7864ebc6ee8aafc769b7216ca9b74227a88408ea218d3575f46902a9dd1266b04a263ba45f6908e14e5aa67e02ad037c23812112", 0x1000}, {&(0x7f00000064c0)="83091be6a6fbb7025e48c910884a9ea0b90f8a7a0ec940af1bc8b1a1aa24d12a6962f80af28ce3c6b4bc4a163b429fb15a208b6f9668723e615bc5337cbabc65098e3ddf73606e2929932fc483eeb82507702121c9fb91a1eee1bdaf3247aa6239849d7e561b305b2ef4c1f499d4118e8580e5f28de45ea981f06f785f5bb2b13a289d1654a4d458451288165e721da686cbd5e73d782b95a338bf60eb61e8fd62e777da752afdf4a544e59c56bb30c5a4fabc8e9252fd61b0172ea800fc917297425e0c2e4627fdce20e5", 0xcb}, {&(0x7f00000065c0)="b190d2f69efb1705c03fb46df0f654d62b34cd119cb9849c02abbb6f28cd98cf291e57951049d9b1ac2b8e17e630439b1189f12721f84e6272561a0a8d026e51259bff28e6d66cca372a1c2ff0d172a6e79203fd622cbd6ab0f95d31a3e6fa3caf186deceacdf7f0ab9567ae0e6621d73f71de6ddf641db771c35cc83cf90ddbc1e034f956e1904b19a9408215952ba168e826913c6d41885cbd92413075cffe60f7193959ed64200be3f66353b4390337ed77948a501d32bb169f8d8a", 0xbd}, {&(0x7f0000006680)="e9b221f61207140201ba69b42c1d1acf6e9f8db5f33ff4ec55b9982ea3817219e8598d761a9f57eb4a8961768efe800dce3ef54cc11417bfcdaf871f0589b0c9ca91d13e407661f84adea22c7626010af1b8ef00d0de28a1bb425c25cdebb9781be23a68a6f25e91fc4ec106b5e9e5e5395b1270b0e331cc62f454f27bbf0f5259a32f325d4485e5bbe7997aa57f52b674c27d5d64cd220de6a2a3801bb6bffd55affcba1fcfd674acd8a2e23a8d078771250cd7ee94ab09565bdf8eeab2c68adf21bf39135e67cbbbede7dee94eeb43a645ea4fdffcdd484e77f10a929e", 0xde}, {&(0x7f0000006780)="21f7b10b4b378238788544e3db99a128ca5a12444b7948e6bfa041798ff6d8b4920d030320b98f711d7164c106024343f3415fd58667822b2b4d9879af0bd2f575", 0x41}], 0x8, &(0x7f0000000500)=[@cred={{0x1c, 0x1, 0x2, {r0, 0xffffffffffffffff, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {r3, 0xffffffffffffffff, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {r0, r6}}}], 0x60, 0x40000e0}}, {{&(0x7f0000006900)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f00000069c0)=[{&(0x7f0000006980)="2d130b839b7bbba1c4f0e58d3f8c8bace28a087fab213c044746b81c587bd2e24c9b109376708ceb3223c19974a3", 0x2e}], 0x1, &(0x7f0000006bc0)=[@cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, 0xee01, r7}}}, @rights={{0x24, 0x1, 0x1, [r4, r8, r2, 0xffffffffffffffff, r9]}}], 0x48, 0x40}}], 0x8, 0x800) mkdirat(r5, &(0x7f0000000000)='./file0\x00', 0xb) 23:46:03 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x88, 0x68, &(0x7f0000000700)=@nat={'nat\x00', 0x1b, 0x5, 0x478, 0x0, 0x2c4, 0xffffffff, 0xec, 0x0, 0x3b0, 0x3b0, 0xffffffff, 0x3b0, 0x3b0, 0x5, 0x0, {[{{@ipv6={@dev, @mcast2, [], [], 'veth0_to_bond\x00', 'ipvlan0\x00'}, 0x0, 0xa4, 0xec}, @unspec=@DNAT1={0x48, 'DNAT\x00', 0x1, {0x0, @ipv4=@broadcast, @ipv4=@initdev={0xac, 0x1e, 0x0, 0x0}, @icmp_id}}}, {{@ipv6={@local, @empty, [], [], 'xfrm0\x00', 'wg0\x00'}, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv6=@ipv4={'\x00', '\xff\xff', @dev}, @ipv4=@local, @gre_key}}}, {{@uncond, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv4=@remote, @ipv6=@empty, @gre_key, @icmp_id}}}, {{@ipv6={@empty, @remote, [], [], 'veth1_macvtap\x00', 'wlan1\x00'}, 0x0, 0xa4, 0xec}, @MASQUERADE={0x48, 'MASQUERADE\x00', 0x0, {0x0, @ipv6=@empty, @ipv4=@local, @icmp_id}}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x4d4) syz_emit_ethernet(0x72, &(0x7f0000000140)={@multicast, @dev, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "5e15b1", 0x3c, 0x3a, 0x0, @dev, @mcast2, {[], @param_prob={0x4, 0x0, 0x0, 0x0, {0x0, 0x6, "140001", 0x0, 0x88, 0x0, @loopback, @remote, [@fragment], 'INrS'}}}}}}}, 0x0) 23:46:04 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x88, 0x68, &(0x7f0000000700)=@nat={'nat\x00', 0x1b, 0x5, 0x478, 0x0, 0x2c4, 0xffffffff, 0xec, 0x0, 0x3b0, 0x3b0, 0xffffffff, 0x3b0, 0x3b0, 0x5, 0x0, {[{{@ipv6={@dev, @mcast2, [], [], 'veth0_to_bond\x00', 'ipvlan0\x00'}, 0x0, 0xa4, 0xec}, @unspec=@DNAT1={0x48, 'DNAT\x00', 0x1, {0x0, @ipv4=@broadcast, @ipv4=@initdev={0xac, 0x1e, 0x0, 0x0}, @icmp_id}}}, {{@ipv6={@local, @empty, [], [], 'xfrm0\x00', 'wg0\x00'}, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv6=@ipv4={'\x00', '\xff\xff', @dev}, @ipv4=@local, @gre_key}}}, {{@uncond, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv4=@remote, @ipv6=@empty, @gre_key, @icmp_id}}}, {{@ipv6={@empty, @remote, [], [], 'veth1_macvtap\x00', 'wlan1\x00'}, 0x0, 0xa4, 0xec}, @MASQUERADE={0x48, 'MASQUERADE\x00', 0x0, {0x0, @ipv6=@empty, @ipv4=@local, @icmp_id}}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x4d4) syz_emit_ethernet(0x72, &(0x7f0000000140)={@multicast, @dev, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "5e15b1", 0x3c, 0x3a, 0x0, @dev, @mcast2, {[], @param_prob={0x4, 0x0, 0x0, 0x0, {0x0, 0x6, "140001", 0x0, 0x88, 0x0, @loopback, @remote, [@fragment], 'INrS'}}}}}}}, 0x0) 23:46:04 executing program 3: r0 = socket$inet6(0xa, 0x800000000000002, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, 0x0, 0x0) r3 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) write$binfmt_script(r3, &(0x7f0000000500)=ANY=[], 0x10b) openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) r4 = syz_io_uring_setup(0x0, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x17f}, &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, 0x0, &(0x7f0000000180)) syz_io_uring_setup(0x3d53, &(0x7f00000002c0)={0x0, 0x4ded, 0x1, 0x1, 0x212, 0x0, r4}, &(0x7f0000ffc000/0x4000)=nil, &(0x7f0000ffb000/0x2000)=nil, &(0x7f0000000240), &(0x7f0000000280)) syz_io_uring_submit(0x0, 0x0, &(0x7f00000004c0)=@IORING_OP_MADVISE={0x19, 0x3, 0x0, 0x0, 0x0, &(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x64}, 0xe05e) connect$inet6(r0, &(0x7f0000000000)={0xa, 0x0, 0x0, @remote, 0x2}, 0x1c) r5 = socket$inet6(0xa, 0x2, 0x0) ioctl$sock_inet6_SIOCSIFDSTADDR(r5, 0x8918, &(0x7f00000001c0)={@loopback={0x0, 0x307}, 0x79}) connect$inet6(0xffffffffffffffff, &(0x7f0000000040)={0xa, 0x4e20, 0x40000, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x4}}}, 0x1c) sendmmsg(r0, &(0x7f0000004d80)=[{{0x0, 0xfffffdef, 0x0, 0x0, 0x0, 0x0, 0xffffffe0}, 0x4000000}], 0xaa, 0x0) 23:46:04 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000100)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="2c00000024000b0f000000000400000000000000", @ANYRES32=r2, @ANYBLOB="00000000ffffffff0000000008000100647272"], 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x36, &(0x7f0000000180)={&(0x7f0000000380)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x0, 0xffe0}, {}, {0x5}}, [@filter_kind_options=@f_tcindex={{0xc}, {0xc, 0x2, [@TCA_TCINDEX_HASH={0x8, 0x1, 0xdd3c}]}}]}, 0x3c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) 23:46:04 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000640)="906f744fa09270c7679819315bd3a997aa17f5517b7083a71f4096cd3ae0aac19b8ba89fa8a378df88100d306318cf905d1e5c522e9fe2e3f19f7db5feeccd6f396d6b953e3b307279288f1b28727681772d01e33648cf3cddbab8933732827420a6e5f304c4e2ee4ef45b4376ec9a5581b888fce805ec8bae7566023bb1dfc4f6", 0x81}], 0x1}, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000400)=ANY=[@ANYBLOB="0b00000073797a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000073797a3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000008000000073797a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"], 0x119) writev(r0, &(0x7f0000000780)=[{&(0x7f00000003c0)='\b\x00\x00\x00', 0x4}, {&(0x7f00000006c0), 0x1000000}], 0x2) 23:46:04 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_buf(r0, 0x0, 0x8008000000010, &(0x7f00000000c0)="17000000020001000003be8c5ee17688a2003208030300ecff3f0000000300000a0000000098fc5ad9485bbb6a880000d6c8db0000dba67e06000000e28900000200df018000000000f50607bdff59100ac45761547a681f009cee4a5acb3da400001fb700674f00c88ebbf9315033bf79ac2dff060115003901000000000000ea000000000000000002ffff02dfccebf6ba000840024f0298e9e90554062a80e605007f71174aa951f3c63e5c83f1ba2112ce68bf17a6e0", 0xb8) r1 = socket$key(0xf, 0x3, 0x2) setsockopt$sock_int(r1, 0x1, 0x8, &(0x7f00000001c0), 0x4) r2 = socket$inet_tcp(0x2, 0x1, 0x0) r3 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_buf(r3, 0x0, 0x8008000000010, &(0x7f00000000c0)="17000000020001000003be8c5ee17688a2003208030300ecff3f0000000300000a0000000098fc5ad9485bbb6a880000d6c8db0000dba67e06000000e28900000200df018000000000f50607bdff59100ac45761547a681f009cee4a5acb3da400001fb700674f00c88ebbf9315033bf79ac2dff060115003901000000000000ea000000000000000002ffff02dfccebf6ba000840024f0298e9e90554062a80e605007f71174aa951f3c63e5c83f1ba2112ce68bf17a6e0", 0xb8) setsockopt$inet_buf(r2, 0x0, 0x8008000000010, &(0x7f00000000c0)="17000000020001000003be8c5ee17688a2003208030300ecff3f0000000300000a0000000098fc5ad9485bbb6a880000d6c8db0000dba67e06000000e28900000200df018000000000f50607bdff59100ac45761547a681f009cee4a5acb3da400001fb700674f00c88ebbf9315033bf79ac2dff060115003901000000000000ea000000000000000002ffff02dfccebf6ba000840024f0298e9e90554062a80e605007f71174aa951f3c63e5c83f1ba2112ce68bf17a6e0", 0xb8) sendmsg$key(r1, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000240)={0x2, 0x12, 0x0, 0x0, 0x2}, 0x10}}, 0x0) sendmsg$key(r1, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000300)={0x2, 0xa, 0x0, 0x0, 0x2}, 0x10}}, 0x0) 23:46:04 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) connect$inet6(r2, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$tipc(&(0x7f0000000640), 0xffffffffffffffff) sendmsg$TIPC_CMD_ENABLE_BEARER(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)={0x34, r4, 0x5, 0x0, 0x0, {{}, {0x0, 0x3}, {0x18, 0x17, {0x0, 0x0, @l2={'eth', 0x3a, 'wlan0\x00'}}}}}, 0x34}}, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f00000003c0)) sendmsg$NL80211_CMD_SET_WIPHY_NETNS(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000100)={0x30, 0x0, 0x100, 0x70bd2a, 0x25dfdbfd, {{}, {@val={0x8}, @void, @void}}, [@NL80211_ATTR_WDEV={0xc, 0x99, {0xffff8dc6, 0x27}}, @NL80211_ATTR_WIPHY={0x8, 0x1, 0x7b}]}, 0x30}, 0x1, 0x0, 0x0, 0x40000}, 0x2000001) openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000140)='devices.allow\x00', 0x2, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r2, 0x6, 0xd, &(0x7f0000000040)='yeah\x00', 0x5) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, 0x0) ioctl$vim2m_VIDIOC_QBUF(0xffffffffffffffff, 0xc058560f, &(0x7f0000000280)=@userptr={0x0, 0x3, 0x4, 0x0, 0x0, {}, {0x0, 0x2, 0x3, 0x0, 0x0, 0x20, "d5055500"}, 0x0, 0x2, {&(0x7f00000001c0)}, 0x4820a310}) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r2, r5, 0x0, 0x8000002b) write$sndseq(0xffffffffffffffff, &(0x7f0000000000)=[{0x84, 0x77, 0x0, 0x0, @tick, {}, {}, @raw32}], 0xffc8) 23:46:04 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x88, 0x68, &(0x7f0000000700)=@nat={'nat\x00', 0x1b, 0x5, 0x478, 0x0, 0x2c4, 0xffffffff, 0xec, 0x0, 0x3b0, 0x3b0, 0xffffffff, 0x3b0, 0x3b0, 0x5, 0x0, {[{{@ipv6={@dev, @mcast2, [], [], 'veth0_to_bond\x00', 'ipvlan0\x00'}, 0x0, 0xa4, 0xec}, @unspec=@DNAT1={0x48, 'DNAT\x00', 0x1, {0x0, @ipv4=@broadcast, @ipv4=@initdev={0xac, 0x1e, 0x0, 0x0}, @icmp_id}}}, {{@ipv6={@local, @empty, [], [], 'xfrm0\x00', 'wg0\x00'}, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv6=@ipv4={'\x00', '\xff\xff', @dev}, @ipv4=@local, @gre_key}}}, {{@uncond, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv4=@remote, @ipv6=@empty, @gre_key, @icmp_id}}}, {{@ipv6={@empty, @remote, [], [], 'veth1_macvtap\x00', 'wlan1\x00'}, 0x0, 0xa4, 0xec}, @MASQUERADE={0x48, 'MASQUERADE\x00', 0x0, {0x0, @ipv6=@empty, @ipv4=@local, @icmp_id}}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x4d4) syz_emit_ethernet(0x72, &(0x7f0000000140)={@multicast, @dev, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "5e15b1", 0x3c, 0x3a, 0x0, @dev, @mcast2, {[], @param_prob={0x4, 0x0, 0x0, 0x0, {0x0, 0x6, "140001", 0x0, 0x88, 0x0, @loopback, @remote, [@fragment], 'INrS'}}}}}}}, 0x0) [ 1482.871989][T22033] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. [ 1482.917252][T18480] hid-generic 0000:0000:0000.0007: unknown main item tag 0x0 [ 1482.944090][T18480] hid-generic 0000:0000:0000.0007: hidraw0: HID v0.00 Device [syz0] on syz1 23:46:04 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) getrlimit(0x4, &(0x7f00000002c0)) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000780)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) recvmmsg$unix(0xffffffffffffffff, &(0x7f00000002c0), 0x0, 0x123, &(0x7f0000000300)) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = accept4$inet6(0xffffffffffffffff, 0x0, 0x0, 0x0) prlimit64(0x0, 0x2, 0x0, &(0x7f0000000600)) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0xce) r4 = creat(&(0x7f0000000240)='./file0\x00', 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000010c0)=[{{0x0, 0x0, &(0x7f0000000840)=[{&(0x7f0000000380)="7dca6f12f10654e78fcc124b1886d75f8656f732770989bf5dbb497875e7c24907ddf057a54a997e8a59cef38662e56e99aef89f8981e893d4c4b99498618d24261a16077c9660f4001d304adb2d4a65a0c01d82503d1099ee34a9d4bf7cdb222cd52635531966", 0x67}, {&(0x7f0000000400)="561081ab4d7ad57de1a82470fda225cb3b91d21ac9200dd32e60c332f1d60112c0f9ef3d80eb869ad60ffc8022198ddedafa3006f687efc2952d5790e0a6048e6600938ead4dfca8a82ac87df76216ab5b5d4a1c3a051a850127488514d64f3644c9ecb6bf176de224af46ed0e19ccae552b9e3f3ad60d7ff25c91853b2ec03d85257b2fc3b6bfbd24decc94fe79584a10a8cb97ace5493297b8431a6b5693cf8ae18bad44da962a73c566079dafb37f1f", 0xb1}, {&(0x7f00000004c0)="63ac6ba24c539bef2dd4775282137c5c8e61a1ec2573d8dad21c429a9d6e1d0f67b07b3d313ba6c30a99aa05a94f8558fc31209ce6c5b58d8078f86923", 0x3d}, {&(0x7f0000000540)="5bc7b56e12e4bcb392670bc726b1c60bcc086a754e29660b76337ff773b0b000c238f5c4e65b5e2102ea67de", 0x2c}, {&(0x7f0000000640)="d7d5546ab0f361fc5fd68ecf9e9f3cc2500cd79e7f99", 0x16}, {&(0x7f0000000680)="5e062226bc4fe7217f7d7fbd850a11f9ee8bbb3b2aa124383f58cd9ca6c0a4a449", 0x21}, {&(0x7f00000006c0)="f8cfbe9a84b5115b52f09b8d1aef333ccc714cd13447daa20fba974d328b1fae2d79f367aee88bb07bb71879876bea66e7060577feab722d7f1b05482cf4bdb9d8308a7ee50cf7a7012871d53e4d3504e6a49bb1056dc7c07afb90aed7cc0a750f450bb53b9331ab6990e9b941f64268ed42a0a664697d11a7", 0x79}, {&(0x7f00000007c0)="1b57b8731d7f0471bd3bf23169fe5f0905cc580dd4c55620fef1a70cbc67f827a63db253bc34ef900888121b0ed2013e03d077a5b55a5a9bca49e48da1244f9b5e9099bd5b2506c1816e85709a633c064573e70a04fc7fa8", 0x58}], 0x8, &(0x7f00000008c0)=ANY=[@ANYBLOB="1c0000000000000001000000020000", @ANYRES32=r0, @ANYRES32=0xee01, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB, @ANYRES32=r3, @ANYRES32=r3, @ANYBLOB="1c000000000000000100000002000000d5afae32f3f8c4cd26b360912407a5ef8533266861342dc7d767647b08168f876f550ae11ab105af954ec2b5851cb9c6c3f634db55bfd7058199591c0136efbeee0e3ed80d0f7243279ea4ac3e063e39d948a77f8f5313c193fa2a99202329a2d44f43a59c720e56ef28d77b6dfa921386520c99a66086f6c2555113656b86ee45d50d1091448613230c8d", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB="000000001c000000000000360100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000f2ff"], 0xb8, 0x20048811}}, {{&(0x7f0000000bc0)=@file={0x0, './file0\x00'}, 0x6e, 0x0, 0x0, &(0x7f0000001040)=ANY=[@ANYRES32, @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB, @ANYRES32], 0x58, 0xcc800}}], 0x2, 0x4040) fallocate(r4, 0x100000011, 0x0, 0x2811fdff) 23:46:04 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x88, 0x68, &(0x7f0000000700)=@nat={'nat\x00', 0x1b, 0x5, 0x478, 0x0, 0x2c4, 0xffffffff, 0xec, 0x0, 0x3b0, 0x3b0, 0xffffffff, 0x3b0, 0x3b0, 0x5, 0x0, {[{{@ipv6={@dev, @mcast2, [], [], 'veth0_to_bond\x00', 'ipvlan0\x00'}, 0x0, 0xa4, 0xec}, @unspec=@DNAT1={0x48, 'DNAT\x00', 0x1, {0x0, @ipv4=@broadcast, @ipv4=@initdev={0xac, 0x1e, 0x0, 0x0}, @icmp_id}}}, {{@ipv6={@local, @empty, [], [], 'xfrm0\x00', 'wg0\x00'}, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv6=@ipv4={'\x00', '\xff\xff', @dev}, @ipv4=@local, @gre_key}}}, {{@uncond, 0x0, 0xa4, 0xec}, @NETMAP={0x48, 'NETMAP\x00', 0x0, {0x0, @ipv4=@remote, @ipv6=@empty, @gre_key, @icmp_id}}}, {{@ipv6={@empty, @remote, [], [], 'veth1_macvtap\x00', 'wlan1\x00'}, 0x0, 0xa4, 0xec}, @MASQUERADE={0x48, 'MASQUERADE\x00', 0x0, {0x0, @ipv6=@empty, @ipv4=@local, @icmp_id}}}], {{'\x00', 0x0, 0xa4, 0xc8}, {0x24}}}}, 0x4d4) syz_emit_ethernet(0x72, &(0x7f0000000140)={@multicast, @dev, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "5e15b1", 0x3c, 0x3a, 0x0, @dev, @mcast2, {[], @param_prob={0x4, 0x0, 0x0, 0x0, {0x0, 0x6, "140001", 0x0, 0x88, 0x0, @loopback, @remote, [@fragment], 'INrS'}}}}}}}, 0x0) 23:46:04 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000640)="906f744fa09270c7679819315bd3a997aa17f5517b7083a71f4096cd3ae0aac19b8ba89fa8a378df88100d306318cf905d1e5c522e9fe2e3f19f7db5feeccd6f396d6b953e3b307279288f1b28727681772d01e33648cf3cddbab8933732827420a6e5f304c4e2ee4ef45b4376ec9a5581b888fce805ec8bae7566023bb1dfc4f6", 0x81}], 0x1}, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000400)=ANY=[@ANYBLOB="0b00000073797a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000073797a3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000008000000073797a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"], 0x119) writev(r0, &(0x7f0000000780)=[{&(0x7f00000003c0)='\b\x00\x00\x00', 0x4}, {&(0x7f00000006c0), 0x1000000}], 0x2) 23:46:05 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) getrlimit(0x4, &(0x7f00000002c0)) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000780)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) recvmmsg$unix(0xffffffffffffffff, &(0x7f00000002c0), 0x0, 0x123, &(0x7f0000000300)) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = accept4$inet6(0xffffffffffffffff, 0x0, 0x0, 0x0) prlimit64(0x0, 0x2, 0x0, &(0x7f0000000600)) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0xce) r4 = creat(&(0x7f0000000240)='./file0\x00', 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000010c0)=[{{0x0, 0x0, &(0x7f0000000840)=[{&(0x7f0000000380)="7dca6f12f10654e78fcc124b1886d75f8656f732770989bf5dbb497875e7c24907ddf057a54a997e8a59cef38662e56e99aef89f8981e893d4c4b99498618d24261a16077c9660f4001d304adb2d4a65a0c01d82503d1099ee34a9d4bf7cdb222cd52635531966", 0x67}, {&(0x7f0000000400)="561081ab4d7ad57de1a82470fda225cb3b91d21ac9200dd32e60c332f1d60112c0f9ef3d80eb869ad60ffc8022198ddedafa3006f687efc2952d5790e0a6048e6600938ead4dfca8a82ac87df76216ab5b5d4a1c3a051a850127488514d64f3644c9ecb6bf176de224af46ed0e19ccae552b9e3f3ad60d7ff25c91853b2ec03d85257b2fc3b6bfbd24decc94fe79584a10a8cb97ace5493297b8431a6b5693cf8ae18bad44da962a73c566079dafb37f1f", 0xb1}, {&(0x7f00000004c0)="63ac6ba24c539bef2dd4775282137c5c8e61a1ec2573d8dad21c429a9d6e1d0f67b07b3d313ba6c30a99aa05a94f8558fc31209ce6c5b58d8078f86923", 0x3d}, {&(0x7f0000000540)="5bc7b56e12e4bcb392670bc726b1c60bcc086a754e29660b76337ff773b0b000c238f5c4e65b5e2102ea67de", 0x2c}, {&(0x7f0000000640)="d7d5546ab0f361fc5fd68ecf9e9f3cc2500cd79e7f99", 0x16}, {&(0x7f0000000680)="5e062226bc4fe7217f7d7fbd850a11f9ee8bbb3b2aa124383f58cd9ca6c0a4a449", 0x21}, {&(0x7f00000006c0)="f8cfbe9a84b5115b52f09b8d1aef333ccc714cd13447daa20fba974d328b1fae2d79f367aee88bb07bb71879876bea66e7060577feab722d7f1b05482cf4bdb9d8308a7ee50cf7a7012871d53e4d3504e6a49bb1056dc7c07afb90aed7cc0a750f450bb53b9331ab6990e9b941f64268ed42a0a664697d11a7", 0x79}, {&(0x7f00000007c0)="1b57b8731d7f0471bd3bf23169fe5f0905cc580dd4c55620fef1a70cbc67f827a63db253bc34ef900888121b0ed2013e03d077a5b55a5a9bca49e48da1244f9b5e9099bd5b2506c1816e85709a633c064573e70a04fc7fa8", 0x58}], 0x8, &(0x7f00000008c0)=ANY=[@ANYBLOB="1c0000000000000001000000020000", @ANYRES32=r0, @ANYRES32=0xee01, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB, @ANYRES32=r3, @ANYRES32=r3, @ANYBLOB="1c000000000000000100000002000000d5afae32f3f8c4cd26b360912407a5ef8533266861342dc7d767647b08168f876f550ae11ab105af954ec2b5851cb9c6c3f634db55bfd7058199591c0136efbeee0e3ed80d0f7243279ea4ac3e063e39d948a77f8f5313c193fa2a99202329a2d44f43a59c720e56ef28d77b6dfa921386520c99a66086f6c2555113656b86ee45d50d1091448613230c8d", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB="000000001c000000000000360100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000f2ff"], 0xb8, 0x20048811}}, {{&(0x7f0000000bc0)=@file={0x0, './file0\x00'}, 0x6e, 0x0, 0x0, &(0x7f0000001040)=ANY=[@ANYRES32, @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB, @ANYRES32], 0x58, 0xcc800}}], 0x2, 0x4040) fallocate(r4, 0x100000011, 0x0, 0x2811fdff) 23:46:05 executing program 5: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000640)="906f744fa09270c7679819315bd3a997aa17f5517b7083a71f4096cd3ae0aac19b8ba89fa8a378df88100d306318cf905d1e5c522e9fe2e3f19f7db5feeccd6f396d6b953e3b307279288f1b28727681772d01e33648cf3cddbab8933732827420a6e5f304c4e2ee4ef45b4376ec9a5581b888fce805ec8bae7566023bb1dfc4f6", 0x81}], 0x1}, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000400)=ANY=[@ANYBLOB="0b00000073797a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000073797a3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000008000000073797a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"], 0x119) writev(r0, &(0x7f0000000780)=[{&(0x7f00000003c0)='\b\x00\x00\x00', 0x4}, {&(0x7f00000006c0), 0x1000000}], 0x2) 23:46:05 executing program 3: r0 = socket$igmp(0x2, 0x3, 0x2) setsockopt$MRT_FLUSH(r0, 0x0, 0x13, 0x0, 0x0) 23:46:05 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000100)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="2c00000024000b0f000000000400000000000000", @ANYRES32=r2, @ANYBLOB="00000000ffffffff0000000008000100647272"], 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x36, &(0x7f0000000180)={&(0x7f0000000380)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x0, 0xffe0}, {}, {0x5}}, [@filter_kind_options=@f_tcindex={{0xc}, {0xc, 0x2, [@TCA_TCINDEX_HASH={0x8, 0x1, 0xdd3c}]}}]}, 0x3c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) [ 1484.049229][T14877] hid-generic 0000:0000:0000.0008: unknown main item tag 0x0 [ 1484.133552][T14877] hid-generic 0000:0000:0000.0008: hidraw0: HID v0.00 Device [syz0] on syz1 [ 1484.181902][T22059] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. 23:46:06 executing program 5: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000640)="906f744fa09270c7679819315bd3a997aa17f5517b7083a71f4096cd3ae0aac19b8ba89fa8a378df88100d306318cf905d1e5c522e9fe2e3f19f7db5feeccd6f396d6b953e3b307279288f1b28727681772d01e33648cf3cddbab8933732827420a6e5f304c4e2ee4ef45b4376ec9a5581b888fce805ec8bae7566023bb1dfc4f6", 0x81}], 0x1}, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000400)=ANY=[@ANYBLOB="0b00000073797a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000073797a3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000008000000073797a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"], 0x119) writev(r0, &(0x7f0000000780)=[{&(0x7f00000003c0)='\b\x00\x00\x00', 0x4}, {&(0x7f00000006c0), 0x1000000}], 0x2) 23:46:06 executing program 3: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f0000000080)='./binderfs/binder1\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000100)={0x10, 0x0, &(0x7f0000000000)=[@request_death], 0x0, 0x0, 0x0}) 23:46:06 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) getrlimit(0x4, &(0x7f00000002c0)) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000780)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) recvmmsg$unix(0xffffffffffffffff, &(0x7f00000002c0), 0x0, 0x123, &(0x7f0000000300)) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = accept4$inet6(0xffffffffffffffff, 0x0, 0x0, 0x0) prlimit64(0x0, 0x2, 0x0, &(0x7f0000000600)) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0xce) r4 = creat(&(0x7f0000000240)='./file0\x00', 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000010c0)=[{{0x0, 0x0, &(0x7f0000000840)=[{&(0x7f0000000380)="7dca6f12f10654e78fcc124b1886d75f8656f732770989bf5dbb497875e7c24907ddf057a54a997e8a59cef38662e56e99aef89f8981e893d4c4b99498618d24261a16077c9660f4001d304adb2d4a65a0c01d82503d1099ee34a9d4bf7cdb222cd52635531966", 0x67}, {&(0x7f0000000400)="561081ab4d7ad57de1a82470fda225cb3b91d21ac9200dd32e60c332f1d60112c0f9ef3d80eb869ad60ffc8022198ddedafa3006f687efc2952d5790e0a6048e6600938ead4dfca8a82ac87df76216ab5b5d4a1c3a051a850127488514d64f3644c9ecb6bf176de224af46ed0e19ccae552b9e3f3ad60d7ff25c91853b2ec03d85257b2fc3b6bfbd24decc94fe79584a10a8cb97ace5493297b8431a6b5693cf8ae18bad44da962a73c566079dafb37f1f", 0xb1}, {&(0x7f00000004c0)="63ac6ba24c539bef2dd4775282137c5c8e61a1ec2573d8dad21c429a9d6e1d0f67b07b3d313ba6c30a99aa05a94f8558fc31209ce6c5b58d8078f86923", 0x3d}, {&(0x7f0000000540)="5bc7b56e12e4bcb392670bc726b1c60bcc086a754e29660b76337ff773b0b000c238f5c4e65b5e2102ea67de", 0x2c}, {&(0x7f0000000640)="d7d5546ab0f361fc5fd68ecf9e9f3cc2500cd79e7f99", 0x16}, {&(0x7f0000000680)="5e062226bc4fe7217f7d7fbd850a11f9ee8bbb3b2aa124383f58cd9ca6c0a4a449", 0x21}, {&(0x7f00000006c0)="f8cfbe9a84b5115b52f09b8d1aef333ccc714cd13447daa20fba974d328b1fae2d79f367aee88bb07bb71879876bea66e7060577feab722d7f1b05482cf4bdb9d8308a7ee50cf7a7012871d53e4d3504e6a49bb1056dc7c07afb90aed7cc0a750f450bb53b9331ab6990e9b941f64268ed42a0a664697d11a7", 0x79}, {&(0x7f00000007c0)="1b57b8731d7f0471bd3bf23169fe5f0905cc580dd4c55620fef1a70cbc67f827a63db253bc34ef900888121b0ed2013e03d077a5b55a5a9bca49e48da1244f9b5e9099bd5b2506c1816e85709a633c064573e70a04fc7fa8", 0x58}], 0x8, &(0x7f00000008c0)=ANY=[@ANYBLOB="1c0000000000000001000000020000", @ANYRES32=r0, @ANYRES32=0xee01, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB, @ANYRES32=r3, @ANYRES32=r3, @ANYBLOB="1c000000000000000100000002000000d5afae32f3f8c4cd26b360912407a5ef8533266861342dc7d767647b08168f876f550ae11ab105af954ec2b5851cb9c6c3f634db55bfd7058199591c0136efbeee0e3ed80d0f7243279ea4ac3e063e39d948a77f8f5313c193fa2a99202329a2d44f43a59c720e56ef28d77b6dfa921386520c99a66086f6c2555113656b86ee45d50d1091448613230c8d", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB="000000001c000000000000360100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000f2ff"], 0xb8, 0x20048811}}, {{&(0x7f0000000bc0)=@file={0x0, './file0\x00'}, 0x6e, 0x0, 0x0, &(0x7f0000001040)=ANY=[@ANYRES32, @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB, @ANYRES32], 0x58, 0xcc800}}], 0x2, 0x4040) fallocate(r4, 0x100000011, 0x0, 0x2811fdff) 23:46:06 executing program 4: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) connect$inet6(r2, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) r3 = socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_genetlink_get_family_id$tipc(&(0x7f0000000640), 0xffffffffffffffff) sendmsg$TIPC_CMD_ENABLE_BEARER(r3, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)={0x34, r4, 0x5, 0x0, 0x0, {{}, {0x0, 0x3}, {0x18, 0x17, {0x0, 0x0, @l2={'eth', 0x3a, 'wlan0\x00'}}}}}, 0x34}}, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f00000003c0)) sendmsg$NL80211_CMD_SET_WIPHY_NETNS(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={&(0x7f0000000100)={0x30, 0x0, 0x100, 0x70bd2a, 0x25dfdbfd, {{}, {@val={0x8}, @void, @void}}, [@NL80211_ATTR_WDEV={0xc, 0x99, {0xffff8dc6, 0x27}}, @NL80211_ATTR_WIPHY={0x8, 0x1, 0x7b}]}, 0x30}, 0x1, 0x0, 0x0, 0x40000}, 0x2000001) openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000140)='devices.allow\x00', 0x2, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r2, 0x6, 0xd, &(0x7f0000000040)='yeah\x00', 0x5) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, 0x0) ioctl$vim2m_VIDIOC_QBUF(0xffffffffffffffff, 0xc058560f, &(0x7f0000000280)=@userptr={0x0, 0x3, 0x4, 0x0, 0x0, {}, {0x0, 0x2, 0x3, 0x0, 0x0, 0x20, "d5055500"}, 0x0, 0x2, {&(0x7f00000001c0)}, 0x4820a310}) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r2, r5, 0x0, 0x8000002b) write$sndseq(0xffffffffffffffff, &(0x7f0000000000)=[{0x84, 0x77, 0x0, 0x0, @tick, {}, {}, @raw32}], 0xffc8) 23:46:06 executing program 5: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000640)="906f744fa09270c7679819315bd3a997aa17f5517b7083a71f4096cd3ae0aac19b8ba89fa8a378df88100d306318cf905d1e5c522e9fe2e3f19f7db5feeccd6f396d6b953e3b307279288f1b28727681772d01e33648cf3cddbab8933732827420a6e5f304c4e2ee4ef45b4376ec9a5581b888fce805ec8bae7566023bb1dfc4f6", 0x81}], 0x1}, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000400)=ANY=[@ANYBLOB="0b00000073797a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000073797a3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000008000000073797a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"], 0x119) writev(r0, &(0x7f0000000780)=[{&(0x7f00000003c0)='\b\x00\x00\x00', 0x4}, {&(0x7f00000006c0), 0x1000000}], 0x2) 23:46:06 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000640)="906f744fa09270c7679819315bd3a997aa17f5517b7083a71f4096cd3ae0aac19b8ba89fa8a378df88100d306318cf905d1e5c522e9fe2e3f19f7db5feeccd6f396d6b953e3b307279288f1b28727681772d01e33648cf3cddbab8933732827420a6e5f304c4e2ee4ef45b4376ec9a5581b888fce805ec8bae7566023bb1dfc4f6", 0x81}], 0x1}, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000400)=ANY=[@ANYBLOB="0b00000073797a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000073797a3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000008000000073797a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"], 0x119) writev(r0, &(0x7f0000000780)=[{&(0x7f00000003c0)='\b\x00\x00\x00', 0x4}, {&(0x7f00000006c0), 0x1000000}], 0x2) 23:46:06 executing program 3: fstatfs(0xffffffffffffffff, &(0x7f0000000140)=""/177) pwrite64(0xffffffffffffffff, &(0x7f0000000440)="7aef710c17c829989d0385438955bcb6b3bb1a0e7dbab314ff8df78188c85c3a870d7ebf7dc9b2940ee9bbce54a85df9bfc3f58d591bfcb1ab5664199c1c296f315b9b7ba9d9b0dbbc965cc1e596ca6f869b717e0f31fbbed1cce63bdd3b14a12523ea09015634497ba167856a7893e474cd87cf4f85c5b091f2420efee7b1f6e33c3bba8917f32b5a27fc54c3dcbe2a82d0fa9eb5a90e936ea4ffad8a0ea163e94f7f59ec39566b77bef2af758d0a0ca2d571fcb65e5f0b48785a87b37a2c2b4456d7702512b0fb797ee2798ed9552aa396d93e1f977e67adb52faa145c988a160c3b5eec326ca98bb196ccea3d5e5fe5f0de146c0a5ca73d36", 0xfa, 0x4) syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000100)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=ANY=[@ANYBLOB='huge=alwaus']) chdir(&(0x7f0000000380)='./bus\x00') creat(&(0x7f0000000400)='./bus\x00', 0x0) r0 = open(&(0x7f0000000200)='./bus\x00', 0x10103e, 0x0) r1 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r1, 0x2008001) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x4002011, r0, 0x0) remap_file_pages(&(0x7f00002ec000/0x200000)=nil, 0x200000, 0x0, 0x0, 0x0) r2 = socket$inet6(0xa, 0x400000000001, 0x0) bind$inet6(r2, &(0x7f0000000600)={0xa, 0x4e20, 0x0, @loopback}, 0x1c) r3 = syz_open_dev$vcsn(&(0x7f0000000040), 0x4, 0x240002) setsockopt$inet6_int(r3, 0x29, 0xc8, &(0x7f0000000080), 0x4) sendto$inet6(r2, 0x0, 0x0, 0x2400880c, &(0x7f00008d4fe4)={0xa, 0x4e20, 0x0, @empty}, 0x1c) r4 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) sendfile(r2, r4, 0x0, 0x8000fffffffe) creat(&(0x7f0000000000)='./bus\x00', 0x0) [ 1485.307816][T17560] hid-generic 0000:0000:0000.0009: unknown main item tag 0x0 23:46:07 executing program 2: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) getrlimit(0x4, &(0x7f00000002c0)) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000780)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) recvmmsg$unix(0xffffffffffffffff, &(0x7f00000002c0), 0x0, 0x123, &(0x7f0000000300)) syz_open_procfs(0xffffffffffffffff, 0x0) r3 = accept4$inet6(0xffffffffffffffff, 0x0, 0x0, 0x0) prlimit64(0x0, 0x2, 0x0, &(0x7f0000000600)) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0xce) r4 = creat(&(0x7f0000000240)='./file0\x00', 0x0) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000010c0)=[{{0x0, 0x0, &(0x7f0000000840)=[{&(0x7f0000000380)="7dca6f12f10654e78fcc124b1886d75f8656f732770989bf5dbb497875e7c24907ddf057a54a997e8a59cef38662e56e99aef89f8981e893d4c4b99498618d24261a16077c9660f4001d304adb2d4a65a0c01d82503d1099ee34a9d4bf7cdb222cd52635531966", 0x67}, {&(0x7f0000000400)="561081ab4d7ad57de1a82470fda225cb3b91d21ac9200dd32e60c332f1d60112c0f9ef3d80eb869ad60ffc8022198ddedafa3006f687efc2952d5790e0a6048e6600938ead4dfca8a82ac87df76216ab5b5d4a1c3a051a850127488514d64f3644c9ecb6bf176de224af46ed0e19ccae552b9e3f3ad60d7ff25c91853b2ec03d85257b2fc3b6bfbd24decc94fe79584a10a8cb97ace5493297b8431a6b5693cf8ae18bad44da962a73c566079dafb37f1f", 0xb1}, {&(0x7f00000004c0)="63ac6ba24c539bef2dd4775282137c5c8e61a1ec2573d8dad21c429a9d6e1d0f67b07b3d313ba6c30a99aa05a94f8558fc31209ce6c5b58d8078f86923", 0x3d}, {&(0x7f0000000540)="5bc7b56e12e4bcb392670bc726b1c60bcc086a754e29660b76337ff773b0b000c238f5c4e65b5e2102ea67de", 0x2c}, {&(0x7f0000000640)="d7d5546ab0f361fc5fd68ecf9e9f3cc2500cd79e7f99", 0x16}, {&(0x7f0000000680)="5e062226bc4fe7217f7d7fbd850a11f9ee8bbb3b2aa124383f58cd9ca6c0a4a449", 0x21}, {&(0x7f00000006c0)="f8cfbe9a84b5115b52f09b8d1aef333ccc714cd13447daa20fba974d328b1fae2d79f367aee88bb07bb71879876bea66e7060577feab722d7f1b05482cf4bdb9d8308a7ee50cf7a7012871d53e4d3504e6a49bb1056dc7c07afb90aed7cc0a750f450bb53b9331ab6990e9b941f64268ed42a0a664697d11a7", 0x79}, {&(0x7f00000007c0)="1b57b8731d7f0471bd3bf23169fe5f0905cc580dd4c55620fef1a70cbc67f827a63db253bc34ef900888121b0ed2013e03d077a5b55a5a9bca49e48da1244f9b5e9099bd5b2506c1816e85709a633c064573e70a04fc7fa8", 0x58}], 0x8, &(0x7f00000008c0)=ANY=[@ANYBLOB="1c0000000000000001000000020000", @ANYRES32=r0, @ANYRES32=0xee01, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB, @ANYRES32=r3, @ANYRES32=r3, @ANYBLOB="1c000000000000000100000002000000d5afae32f3f8c4cd26b360912407a5ef8533266861342dc7d767647b08168f876f550ae11ab105af954ec2b5851cb9c6c3f634db55bfd7058199591c0136efbeee0e3ed80d0f7243279ea4ac3e063e39d948a77f8f5313c193fa2a99202329a2d44f43a59c720e56ef28d77b6dfa921386520c99a66086f6c2555113656b86ee45d50d1091448613230c8d", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB="000000001c000000000000360100000002000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000f2ff"], 0xb8, 0x20048811}}, {{&(0x7f0000000bc0)=@file={0x0, './file0\x00'}, 0x6e, 0x0, 0x0, &(0x7f0000001040)=ANY=[@ANYRES32, @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB, @ANYRES32], 0x58, 0xcc800}}], 0x2, 0x4040) fallocate(r4, 0x100000011, 0x0, 0x2811fdff) 23:46:07 executing program 5: socket$nl_route(0x10, 0x3, 0x0) sched_setaffinity(0x0, 0x0, 0x0) getpid() sched_setscheduler(0x0, 0x0, &(0x7f0000001700)=0x4) recvmmsg(0xffffffffffffffff, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r0 = socket(0x1e, 0x1, 0x0) connect$tipc(r0, &(0x7f0000000000)=@name={0x1e, 0x2, 0x0, {{0x1, 0x1}}}, 0x10) sendmmsg(r0, &(0x7f0000000080), 0x1a1, 0x0) 23:46:07 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000100)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="2c00000024000b0f000000000400000000000000", @ANYRES32=r2, @ANYBLOB="00000000ffffffff0000000008000100647272"], 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x36, &(0x7f0000000180)={&(0x7f0000000380)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x0, 0xffe0}, {}, {0x5}}, [@filter_kind_options=@f_tcindex={{0xc}, {0xc, 0x2, [@TCA_TCINDEX_HASH={0x8, 0x1, 0xdd3c}]}}]}, 0x3c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) [ 1486.242180][T17560] hid-generic 0000:0000:0000.0009: hidraw0: HID v0.00 Device [syz0] on syz1 [ 1486.259637][T22079] tmpfs: Bad value for 'huge' 23:46:07 executing program 1: r0 = openat$uhid(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000380)={0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000640)="906f744fa09270c7679819315bd3a997aa17f5517b7083a71f4096cd3ae0aac19b8ba89fa8a378df88100d306318cf905d1e5c522e9fe2e3f19f7db5feeccd6f396d6b953e3b307279288f1b28727681772d01e33648cf3cddbab8933732827420a6e5f304c4e2ee4ef45b4376ec9a5581b888fce805ec8bae7566023bb1dfc4f6", 0x81}], 0x1}, 0x0) write$UHID_CREATE2(r0, &(0x7f0000000400)=ANY=[@ANYBLOB="0b00000073797a3000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000073797a3100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000008000000073797a0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"], 0x119) writev(r0, &(0x7f0000000780)=[{&(0x7f00000003c0)='\b\x00\x00\x00', 0x4}, {&(0x7f00000006c0), 0x1000000}], 0x2) [ 1486.380333][T18475] hid-generic 0000:0000:0000.000A: unknown main item tag 0x0 [ 1486.389471][T22090] mmap: syz-executor.3 (22090) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst. [ 1486.405460][T22087] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. [ 1486.417280][T18475] hid-generic 0000:0000:0000.000A: hidraw0: HID v0.00 Device [syz0] on syz1 23:46:08 executing program 2: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000010900)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f0000011800)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10000}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x0, &(0x7f0000013b00)=ANY=[]) chdir(&(0x7f0000000080)='./file0\x00') r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) ftruncate(r0, 0x800) lseek(r0, 0x0, 0x2) r1 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x8400fffffffb) creat(&(0x7f0000000040)='./bus\x00', 0x0) 23:46:09 executing program 1: r0 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000380), 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000000)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_FRAME(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000fc0)={&(0x7f0000000980)={0x40, r0, 0x1, 0x0, 0x0, {{0x2}, {@val={0x8, 0x3, r2}, @val={0xc}}}, [@chandef_params=[@NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x96c}], @chandef_params=[@NL80211_ATTR_WIPHY_FREQ={0x8}, @NL80211_ATTR_WIPHY_CHANNEL_TYPE={0x8}]]}, 0x40}}, 0x0) [ 1487.435519][T22097] loop2: detected capacity change from 0 to 320 23:46:09 executing program 5: r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_int(r0, 0x107, 0x7, &(0x7f0000000040)=0x8000, 0x4) setsockopt$packet_tx_ring(r0, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) syz_emit_ethernet(0xfdef, &(0x7f0000000140)={@random="5a20dc62e02c", @local, @val={@void, {0x4305}}, {@ipv4={0x8906, @udp={{0x5, 0x4, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x11, 0x0, @private, @broadcast=0xe0000001}, {0x0, 0x0, 0xc, 0x0, @gue={{0x1, 0x0, 0x0, 0x0, 0x0, @void}}}}}}}, 0x0) [ 1487.487257][T22097] loop2: [ 1487.560282][ T27] audit: type=1804 audit(1658360769.137:697): pid=22099 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir3813096193/syzkaller.eLlCfD/97/file0/bus" dev="sda1" ino=1159 res=1 errno=0 23:46:09 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$mptcp(&(0x7f00000000c0), r3) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000080)=0x14) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffff11ffffffff000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000005840)={0x0, 0x0, &(0x7f00000005c0)={&(0x7f0000001240)=@newqdisc={0x78, 0x24, 0x5820a61ca228651, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xffff, 0xffff}}, [@qdisc_kind_options=@q_sfq={{0x8}, {0x4c}}]}, 0x78}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000001300)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {}, {0x3}}, [@filter_kind_options=@f_route={{0xa}, {0xc, 0x2, [@TCA_ROUTE4_CLASSID={0x8}]}}]}, 0x3c}}, 0x0) [ 1487.726661][ T27] audit: type=1804 audit(1658360769.247:698): pid=22097 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.2" name="/root/syzkaller-testdir3813096193/syzkaller.eLlCfD/97/file0/bus" dev="sda1" ino=1159 res=1 errno=0 [ 1487.737415][T22106] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.5'. [ 1487.867422][T22106] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.5'. [ 1487.877968][ T27] audit: type=1804 audit(1658360769.267:699): pid=22090 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.3" name="/root/syzkaller-testdir299667978/syzkaller.LOmG5f/868/bus/bus" dev="sda1" ino=1158 res=1 errno=0 23:46:09 executing program 0: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$SMC_PNETID_ADD(r1, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=ANY=[], 0x20}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000100)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="2c00000024000b0f000000000400000000000000", @ANYRES32=r2, @ANYBLOB="00000000ffffffff0000000008000100647272"], 0x2c}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000340)={0x0, 0x36, &(0x7f0000000180)={&(0x7f0000000380)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {0x0, 0xffe0}, {}, {0x5}}, [@filter_kind_options=@f_tcindex={{0xc}, {0xc, 0x2, [@TCA_TCINDEX_HASH={0x8, 0x1, 0xdd3c}]}}]}, 0x3c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) r4 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r4, &(0x7f00000002c0), 0x40000000000009f, 0x0) 23:46:09 executing program 1: r0 = socket$inet_smc(0x2b, 0x1, 0x0) setsockopt$inet_tcp_TCP_FASTOPEN_KEY(r0, 0x6, 0x21, &(0x7f00000003c0)="fde129dc081f3c609015e845a00db9f5", 0x10) ioctl$sock_inet_tcp_SIOCOUTQNSD(r0, 0x894b, &(0x7f0000000400)) 23:46:09 executing program 2: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000010900)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f0000011800)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10000}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x0, &(0x7f0000013b00)=ANY=[]) chdir(&(0x7f0000000080)='./file0\x00') r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) ftruncate(r0, 0x800) lseek(r0, 0x0, 0x2) r1 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x8400fffffffb) creat(&(0x7f0000000040)='./bus\x00', 0x0) 23:46:09 executing program 3: r0 = socket$inet(0x2, 0x3, 0x4) setsockopt$ARPT_SO_SET_REPLACE(r0, 0x0, 0x60, &(0x7f0000000340)={'filter\x00', 0x7, 0x2, 0x3f0, 0x1f8, 0x0, 0x1f8, 0x308, 0x308, 0x308, 0x4, 0x0, {[{{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@empty, @empty, @empty, @broadcast}}}, {{@uncond, 0xc0, 0xe8}, @unspec=@NFQUEUE3={0x28}}, {{@uncond, 0xc0, 0x110}, @mangle={0x50, 'mangle\x00', 0x0, {@empty, @empty, @private, @dev}}}], {{'\x00', 0xc0, 0xe8}, {0x28}}}}, 0x440) 23:46:09 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000140)={0x5c, 0x2, 0x6, 0x401, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0x15, 0x3, 'hash:ip,port,net\x00'}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8, 0x6, 0x0}]}, @IPSET_ATTR_REVISION={0x5}]}, 0x5c}}, 0x0) 23:46:09 executing program 4: pipe2$watch_queue(&(0x7f0000000040)={0xffffffffffffffff}, 0x80) ioctl$IOC_WATCH_QUEUE_SET_SIZE(r0, 0x5760, 0x0) 23:46:09 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000000)=@setneightbl={0x20, 0x43, 0x1, 0x0, 0x0, {}, [@NDTA_NAME={0xc, 0x1, '/-++!]:\x00'}]}, 0x20}}, 0x0) 23:46:09 executing program 3: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000040), 0x882, 0x0) r1 = mmap$IORING_OFF_CQ_RING(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x13, r0, 0x8000000) syz_io_uring_submit(r1, 0x0, 0x0, 0x0) r2 = openat$zero(0xffffffffffffff9c, &(0x7f0000000040), 0x882, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x13, r2, 0x8000000) [ 1488.106425][T22114] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.0'. [ 1488.107909][T22116] loop2: detected capacity change from 0 to 320 23:46:09 executing program 1: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000100)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xff}) [ 1488.199329][T22116] loop2: 23:46:09 executing program 4: sendmsg$netlink(0xffffffffffffffff, 0x0, 0xc800) openat$procfs(0xffffffffffffff9c, &(0x7f0000001c40)='/proc/sysvipc/sem\x00', 0x0, 0x0) socket$inet_sctp(0x2, 0x0, 0x84) syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) sendmsg$DEVLINK_CMD_SB_TC_POOL_BIND_SET(0xffffffffffffffff, &(0x7f0000001f00)={0x0, 0x0, &(0x7f0000001ec0)={0x0}, 0x1, 0x0, 0x0, 0x79454ae077d77fdd}, 0x20000004) setsockopt$netlink_NETLINK_CAP_ACK(0xffffffffffffffff, 0x10e, 0xa, &(0x7f0000001f80), 0x4) syz_clone(0x2000000, 0x0, 0x0, 0x0, 0x0, &(0x7f0000003080)) sendmsg$DEVLINK_CMD_TRAP_POLICER_SET(0xffffffffffffffff, &(0x7f00000033c0)={0x0, 0x0, 0x0}, 0x0) 23:46:09 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00100}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) r2 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r2, 0x1, r1, &(0x7f0000000140)) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r1, 0xc0182101, &(0x7f0000000200)={r3}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000080)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(r1, 0x40182103, &(0x7f0000000100)={r4, 0x3, r0}) [ 1488.225979][ T27] audit: type=1804 audit(1658360769.807:700): pid=22124 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=open_writers comm="syz-executor.2" name="/root/syzkaller-testdir3813096193/syzkaller.eLlCfD/98/file0/bus" dev="sda1" ino=1173 res=1 errno=0 23:46:09 executing program 1: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000100)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xff}) [ 1488.328013][ T27] audit: type=1804 audit(1658360769.877:701): pid=22116 uid=0 auid=4294967295 ses=4294967295 subj=unconfined op=invalid_pcr cause=ToMToU comm="syz-executor.2" name="/root/syzkaller-testdir3813096193/syzkaller.eLlCfD/98/file0/bus" dev="sda1" ino=1173 res=1 errno=0 [ 1488.480422][ T27] audit: type=1326 audit(1658360770.057:702): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=22130 comm="syz-executor.3" exe="/root/syz-executor.3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x7fec530891f9 code=0x7fc00000 23:46:10 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00100}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) r2 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r2, 0x1, r1, &(0x7f0000000140)) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r1, 0xc0182101, &(0x7f0000000200)={r3}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000080)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(r1, 0x40182103, &(0x7f0000000100)={r4, 0x3, r0}) 23:46:10 executing program 5: syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="5d8e9581878283a9d3e215597d5f06eb0b71b1331a256994d12b54163303a43d0d13038f03cc4dffb57fc4a19b0c743a00000100000000000100fffffffb00005f42485266535f4d", 0x48, 0x10000}], 0x0, &(0x7f0000000040)=ANY=[]) 23:46:10 executing program 2: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000010900)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f0000011800)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10000}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x0, &(0x7f0000013b00)=ANY=[]) chdir(&(0x7f0000000080)='./file0\x00') r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) ftruncate(r0, 0x800) lseek(r0, 0x0, 0x2) r1 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x8400fffffffb) creat(&(0x7f0000000040)='./bus\x00', 0x0) 23:46:10 executing program 1: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000100)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xff}) 23:46:10 executing program 0: socket$inet6(0xa, 0x0, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) creat(&(0x7f0000000000)='./file0\x00', 0x0) fsetxattr(0xffffffffffffffff, &(0x7f00000001c0)=ANY=[@ANYRES32], 0x0, 0x0, 0x2) openat$cgroup_procs(0xffffffffffffffff, &(0x7f0000000200)='cgroup.procs\x00', 0x2, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(0xffffffffffffffff, 0x6, 0xd, 0x0, 0x0) r1 = openat$cgroup_root(0xffffffffffffff9c, 0x0, 0x200002, 0x0) write$binfmt_script(0xffffffffffffffff, &(0x7f0000000380)=ANY=[@ANYRESHEX, @ANYRESOCT=r1], 0xfffffd9d) sendfile(0xffffffffffffffff, 0xffffffffffffffff, 0x0, 0x0) dup(r0) ioctl$SNDRV_CTL_IOCTL_ELEM_REPLACE(0xffffffffffffffff, 0xc1105518, &(0x7f0000000140)={{0x0, 0x5, 0x64d, 0x52}, 0x6, 0x3, 0x0, 0x0, 0x5, 0x5, 'syz1\x00', &(0x7f0000000100)=['-%.-+{\xdd*\x00', '0', '\x00', '\x00', '/dev/snd/midiC#D#\x00'], 0x1e, '\x00', [0x0, 0x1c]}) r2 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r2, 0x84, 0x9, &(0x7f0000000580)={0x0, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x3fc, 0x0, 0x32}, 0x9c) bind$inet6(r2, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) sendto$inet6(r2, &(0x7f0000847fff)='X', 0x34000, 0x0, &(0x7f000005ffe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) [ 1488.529638][ T27] audit: type=1326 audit(1658360770.087:703): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=22130 comm="syz-executor.3" exe="/root/syz-executor.3" sig=0 arch=c000003e syscall=16 compat=0 ip=0x7fec530891f9 code=0x7fc00000 23:46:10 executing program 5: bpf$MAP_CREATE(0x0, &(0x7f0000000040)=@base={0x1, 0x9, 0x6, 0x1000}, 0x48) 23:46:10 executing program 1: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$SNDCTL_SEQ_OUTOFBAND(r0, 0x40085112, &(0x7f0000000100)=@e={0xff, 0xa, 0x0, 0x0, @SEQ_CONTROLLER=0xff}) [ 1488.618089][T22149] loop2: detected capacity change from 0 to 320 [ 1488.622706][ T27] audit: type=1326 audit(1658360770.097:704): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=22130 comm="syz-executor.3" exe="/root/syz-executor.3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x7fec530891f9 code=0x7fc00000 [ 1488.674573][T22149] loop2: 23:46:10 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00100}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) r2 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r2, 0x1, r1, &(0x7f0000000140)) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r1, 0xc0182101, &(0x7f0000000200)={r3}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000080)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(r1, 0x40182103, &(0x7f0000000100)={r4, 0x3, r0}) 23:46:10 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000740), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000780)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CONTROL_PORT_FRAME(r1, &(0x7f0000000b00)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000a80)={0x34, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FRAME={0x16, 0x33, @ctrl_frame=@bar={{}, {}, @device_b, @broadcast, @multi}}]}, 0x34}}, 0x0) [ 1488.771178][ T27] audit: type=1326 audit(1658360770.287:705): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=22141 comm="syz-executor.3" exe="/root/syz-executor.3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x7fec530891f9 code=0x7fc00000 23:46:10 executing program 1: ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, &(0x7f0000000000)) syz_open_dev$hidraw(0x0, 0x0, 0x882) ioctl$HIDIOCGRAWPHYS(0xffffffffffffffff, 0x80404805, &(0x7f00000001c0)) io_setup(0x10000, &(0x7f0000000040)) openat$vcsu(0xffffffffffffff9c, 0x0, 0x309200, 0x0) r0 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) syz_genetlink_get_family_id$ethtool(&(0x7f00000024c0), r0) setsockopt$inet6_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f0000000100)=0x1, 0x4) r1 = openat$vcsu(0xffffffffffffff9c, &(0x7f0000000140), 0x8000, 0x0) syz_genetlink_get_family_id$ethtool(&(0x7f00000024c0), r1) socketpair(0x1f, 0x800, 0x3, &(0x7f0000000200)) syz_genetlink_get_family_id$ethtool(&(0x7f00000000c0), r1) 23:46:10 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0xf, &(0x7f0000006ffc)=0x4000000000000200, 0xe50fb6c50bc849c9) r1 = socket(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$nl_route(r3, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={0x0, 0x3c}}, 0x0) getsockname$packet(r3, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000100)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)=ANY=[@ANYRESHEX, @ANYRESHEX], 0x48}}, 0x0) sendmsg$nl_route(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="3c0000001000010400eeffffff3a358e57000000", @ANYRES32=r4, @ANYBLOB="01000000010000001c0012000c000100627269646765"], 0x3c}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f00000007c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000180)=ANY=[@ANYBLOB="6000000024000b0e00"/20, @ANYRES32=r4, @ANYBLOB="00000000ffffffff0000004508000100746266003400020008000600a4231400280001"], 0x60}}, 0x0) bind$packet(r0, &(0x7f0000000040)={0x11, 0x0, r4}, 0x14) sendto$inet6(r0, &(0x7f0000000280)="4103092c1116480401020200c52cf7c25975e005b02f8906eb2b2ff0dac8897c6b118777faffffff3066090cb600c5471d130a66321a54e7df305f80a88161b6fd8f24286a57c3feffff", 0xfc13, 0x800, 0x0, 0x2f) [ 1488.919755][ T27] audit: type=1326 audit(1658360770.287:706): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=unconfined pid=22141 comm="syz-executor.3" exe="/root/syz-executor.3" sig=0 arch=c000003e syscall=16 compat=0 ip=0x7fec530891f9 code=0x7fc00000 23:46:10 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000740), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000780)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CONTROL_PORT_FRAME(r1, &(0x7f0000000b00)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000a80)={0x34, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FRAME={0x16, 0x33, @ctrl_frame=@bar={{}, {}, @device_b, @broadcast, @multi}}]}, 0x34}}, 0x0) 23:46:10 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00100}]}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(0xffffffffffffffff, 0xc0502100, 0x0) r2 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r2, 0x1, r1, &(0x7f0000000140)) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r1, 0xc0182101, &(0x7f0000000200)={r3}) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r1, 0xc0502100, &(0x7f0000000080)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_ADDFD(r1, 0x40182103, &(0x7f0000000100)={r4, 0x3, r0}) 23:46:10 executing program 0: r0 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x80001) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000040)={0x0, 0x2, [{0x1, 0x1}, {}]}) [ 1489.010685][T22167] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.5'. [ 1489.144936][T22175] usb usb9: usbfs: process 22175 (syz-executor.0) did not claim interface 0 before use [ 1489.277707][ T1233] ieee802154 phy0 wpan0: encryption failed: -22 [ 1489.284060][ T1233] ieee802154 phy1 wpan1: encryption failed: -22 23:46:11 executing program 2: syz_mount_image$exfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb769045584641542020200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000010000000000008000000008000000880000000f00000005000000341234120001000009030180", 0x70}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010200)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x3e0}, {&(0x7f0000010300)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x5e0}, {&(0x7f0000010400)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x7e0}, {&(0x7f0000010500)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x9e0}, {&(0x7f0000010600)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xbe0}, {&(0x7f0000010700)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xde0}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0xfe0}, {&(0x7f0000010900)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x11e0}, {&(0x7f0000010a00)="00ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac191100ac1911", 0x200, 0x1600}, {&(0x7f0000011800)="f8ffffffffffffffffffffff04000000ffffffffffffffff", 0x18, 0x10000}, {&(0x7f0000013100)="030000000000000000000000000000000000000000000000000000000000000081000000000000000000000000000000000000000200000002", 0x39, 0x14000}], 0x0, &(0x7f0000013b00)=ANY=[]) chdir(&(0x7f0000000080)='./file0\x00') r0 = creat(&(0x7f0000000040)='./bus\x00', 0x0) ftruncate(r0, 0x800) lseek(r0, 0x0, 0x2) r1 = open(&(0x7f0000000000)='./bus\x00', 0x0, 0x0) sendfile(r0, r1, 0x0, 0x8400fffffffb) creat(&(0x7f0000000040)='./bus\x00', 0x0) 23:46:11 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000740), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000780)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CONTROL_PORT_FRAME(r1, &(0x7f0000000b00)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000a80)={0x34, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FRAME={0x16, 0x33, @ctrl_frame=@bar={{}, {}, @device_b, @broadcast, @multi}}]}, 0x34}}, 0x0) 23:46:11 executing program 5: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000004180), 0x0, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f0000000040)={'netpci0\x00', 0x1}) ioctl$TUNSETSTEERINGEBPF(r0, 0x401054d6, 0x0) 23:46:11 executing program 0: r0 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x80001) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000040)={0x0, 0x2, [{0x1, 0x1}, {}]}) 23:46:11 executing program 1: r0 = syz_io_uring_setup(0x495a, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000003c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x20010001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x3000006, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r3, &(0x7f00000001c0)=@IORING_OP_REMOVE_BUFFERS={0x1f, 0x7}, 0x1) syz_io_uring_submit(r1, r2, &(0x7f0000000240)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f00000dc000/0x4000)=nil, 0x4000}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_REMOVE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000000c0)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_setup(0x2de1, &(0x7f0000000280), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000140), &(0x7f0000000380)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000200)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000340)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000040)=@IORING_OP_RECV=@pass_buffer={0x1b, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x7149, 0x0, 0x0, 0x0, 0x0) 23:46:11 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$AUDIT_GET_FEATURE(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000140)={0x10}, 0x10}}, 0x0) getsockname$packet(r1, &(0x7f0000000200)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000440)=0x14) sendmsg$nl_route(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r2, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="5000000024000b1d000800800000000000000000", @ANYRES32=r2, @ANYBLOB="00000000ffffffff000003000d00010066715f636f64656c"], 0x50}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000003c0)=@newtfilter={0x4c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r2, {}, {}, {0xb}}, [@filter_kind_options=@f_u32={{0x8}, {0x20, 0x2, [@TCA_U32_SEL={0x14}, @TCA_U32_CLASSID={0x8}]}}]}, 0x4c}}, 0x0) r3 = socket$netlink(0x10, 0x3, 0x0) sendmmsg(r3, &(0x7f00000002c0), 0x40000000000009f, 0x0) 23:46:11 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_ifreq(r0, 0x8924, &(0x7f0000000100)={'bridge_slave_0\x00', @ifru_mtu=0x80000001}) 23:46:11 executing program 1: r0 = syz_io_uring_setup(0x495a, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000003c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x20010001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x3000006, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r3, &(0x7f00000001c0)=@IORING_OP_REMOVE_BUFFERS={0x1f, 0x7}, 0x1) syz_io_uring_submit(r1, r2, &(0x7f0000000240)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f00000dc000/0x4000)=nil, 0x4000}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_REMOVE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000000c0)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_setup(0x2de1, &(0x7f0000000280), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000140), &(0x7f0000000380)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000200)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000340)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000040)=@IORING_OP_RECV=@pass_buffer={0x1b, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x7149, 0x0, 0x0, 0x0, 0x0) [ 1489.604115][T22180] usb usb9: usbfs: process 22180 (syz-executor.0) did not claim interface 0 before use [ 1489.617367][T22184] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. 23:46:11 executing program 0: r0 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x80001) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000040)={0x0, 0x2, [{0x1, 0x1}, {}]}) 23:46:11 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000740), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x8933, &(0x7f0000000780)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_CONTROL_PORT_FRAME(r1, &(0x7f0000000b00)={0x0, 0x0, &(0x7f00000007c0)={&(0x7f0000000a80)={0x34, r2, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FRAME={0x16, 0x33, @ctrl_frame=@bar={{}, {}, @device_b, @broadcast, @multi}}]}, 0x34}}, 0x0) 23:46:11 executing program 0: r0 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x80001) ioctl$USBDEVFS_FREE_STREAMS(r0, 0x8008551d, &(0x7f0000000040)={0x0, 0x2, [{0x1, 0x1}, {}]}) 23:46:11 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_ifreq(r0, 0x8924, &(0x7f0000000100)={'bridge_slave_0\x00', @ifru_mtu=0x80000001}) [ 1489.742420][T22193] usb usb9: usbfs: process 22193 (syz-executor.0) did not claim interface 0 before use [ 1489.768960][T22187] netlink: 28 bytes leftover after parsing attributes in process `syz-executor.3'. [ 1489.870927][T22196] loop2: detected capacity change from 0 to 320 [ 1489.920116][T22201] usb usb9: usbfs: process 22201 (syz-executor.0) did not claim interface 0 before use [ 1489.921089][T22196] loop2: 23:46:11 executing program 0: syz_mount_image$tmpfs(&(0x7f0000002f40), &(0x7f0000002f80)='./file1\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000034c0)=ANY=[]) syz_mount_image$jffs2(&(0x7f0000000300), &(0x7f0000000340)='./file1\x00', 0x0, 0x0, 0x0, 0x190823, &(0x7f0000000440)={[], [{@fsuuid}]}) 23:46:11 executing program 1: r0 = syz_io_uring_setup(0x495a, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000003c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x20010001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x3000006, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r3, &(0x7f00000001c0)=@IORING_OP_REMOVE_BUFFERS={0x1f, 0x7}, 0x1) syz_io_uring_submit(r1, r2, &(0x7f0000000240)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f00000dc000/0x4000)=nil, 0x4000}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_REMOVE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000000c0)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_setup(0x2de1, &(0x7f0000000280), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000140), &(0x7f0000000380)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000200)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000340)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000040)=@IORING_OP_RECV=@pass_buffer={0x1b, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x7149, 0x0, 0x0, 0x0, 0x0) 23:46:11 executing program 3: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(0xffffffffffffffff, &(0x7f000000c2c0)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000000)=ANY=[@ANYBLOB="140000001000010000000000000000000000000a20000000000a01010000000000000000020000000900010073797a300000000080000000030a01020000000000000000020000000900010073797a3000000000090003007379"], 0xdc}}, 0x0) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) write$binfmt_misc(r1, &(0x7f0000000000)=ANY=[], 0xfffffecc) splice(r0, 0x0, r2, 0x0, 0x4ffe6, 0x0) 23:46:11 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_ifreq(r0, 0x8924, &(0x7f0000000100)={'bridge_slave_0\x00', @ifru_mtu=0x80000001}) 23:46:11 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$IPT_SO_SET_ADD_COUNTERS(r0, 0x0, 0x41, &(0x7f0000000000)={'nat\x00', 0x2, [{}, {}]}, 0x48) 23:46:11 executing program 5: r0 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_ifreq(r0, 0x8924, &(0x7f0000000100)={'bridge_slave_0\x00', @ifru_mtu=0x80000001}) 23:46:11 executing program 2: syz_mount_image$udf(&(0x7f0000000580), &(0x7f00000005c0)='./file0\x00', 0x0, 0x0, &(0x7f0000000900), 0x4c00, &(0x7f00000009c0)) [ 1490.146081][T22207] tmpfs: Unknown parameter 'fsuuid' 23:46:11 executing program 4: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000003c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0x40046205, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000380)={0x0, 0x0, 0x0, 0x1, 0x0, &(0x7f00000002c0)="c8"}) 23:46:11 executing program 0: syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x4, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0xfff}], 0x0, &(0x7f0000000100)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff8) readlink(0x0, 0x0, 0x0) dup(0xffffffffffffffff) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f00000013c0)=ANY=[@ANYBLOB, @ANYBLOB], 0xe) r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r0, 0x800) r1 = open(&(0x7f0000000040)='./file0\x00', 0x101042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) r3 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001380)='/sys/block/loop0', 0x0, 0x123) dup(r3) write$P9_RREADLINK(r2, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r2, r2, &(0x7f0000000240), 0x7fff) 23:46:11 executing program 1: r0 = syz_io_uring_setup(0x495a, &(0x7f00000002c0), &(0x7f0000ee7000/0x2000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000380)=0x0, &(0x7f0000000100)=0x0) syz_io_uring_submit(r1, r2, &(0x7f00000003c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x20010001) r3 = mmap$IORING_OFF_SQES(&(0x7f0000ee7000/0x3000)=nil, 0x3000, 0x3000006, 0x11, r0, 0x10000000) syz_io_uring_submit(r1, r3, &(0x7f00000001c0)=@IORING_OP_REMOVE_BUFFERS={0x1f, 0x7}, 0x1) syz_io_uring_submit(r1, r2, &(0x7f0000000240)=@IORING_OP_MADVISE={0x19, 0x0, 0x0, 0x0, 0x0, &(0x7f00000dc000/0x4000)=nil, 0x4000}, 0x0) syz_io_uring_submit(r1, r2, &(0x7f0000000000)=@IORING_OP_POLL_REMOVE, 0x0) syz_io_uring_submit(r1, r3, &(0x7f00000000c0)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_setup(0x2de1, &(0x7f0000000280), &(0x7f0000002000/0x2000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000140), &(0x7f0000000380)=0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000200)=@IORING_OP_REMOVE_BUFFERS, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000180)=@IORING_OP_FALLOCATE={0x11, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r4, &(0x7f0000000340)=@IORING_OP_TEE={0x21, 0x0, 0x0, @fd_index}, 0x0) syz_io_uring_submit(r1, r3, &(0x7f0000000040)=@IORING_OP_RECV=@pass_buffer={0x1b, 0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0}, 0x0) io_uring_enter(r0, 0x7149, 0x0, 0x0, 0x0, 0x0) [ 1490.227260][T22214] netlink: 84 bytes leftover after parsing attributes in process `syz-executor.3'. [ 1490.283326][T22219] UDF-fs: warning (device loop2): udf_load_vrs: No VRS found [ 1490.305434][T22217] binder: 22215:22217 ioctl 40046205 0 returned -22 [ 1490.322688][T22219] UDF-fs: Scanning with blocksize 512 failed 23:46:11 executing program 5: r0 = socket$inet6(0xa, 0x2, 0x0) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x14e24}, 0x1c) connect$inet6(r0, &(0x7f0000000280)={0xa, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @loopback}}, 0x1c) recvmmsg(r0, &(0x7f0000000200), 0x38c, 0x0, 0x0) connect$inet6(r0, &(0x7f00000002c0)={0xa, 0x4e24}, 0x1c) sendmmsg(r0, &(0x7f00000092c0), 0x4ff, 0x0) setsockopt$SO_TIMESTAMP(r0, 0x1, 0x23, &(0x7f0000000140)=0x1, 0x4) setsockopt$inet6_IPV6_ADDRFORM(r0, 0x29, 0x1, &(0x7f0000000040), 0x4) [ 1490.412912][T22219] UDF-fs: warning (device loop2): udf_load_vrs: No VRS found 23:46:12 executing program 1: r0 = open(&(0x7f0000000080)='.\x00', 0x0, 0x0) getdents(r0, &(0x7f0000000280)=""/4096, 0x1000) readv(r0, &(0x7f0000000380)=[{&(0x7f0000000140)=""/229, 0xe5}], 0x1) [ 1490.460413][T22219] UDF-fs: Scanning with blocksize 1024 failed [ 1490.516392][T22219] UDF-fs: warning (device loop2): udf_load_vrs: No VRS found [ 1490.528804][T22219] UDF-fs: Scanning with blocksize 2048 failed [ 1490.568351][T22219] UDF-fs: warning (device loop2): udf_load_vrs: No VRS found 23:46:12 executing program 1: r0 = signalfd4(0xffffffffffffffff, &(0x7f0000000040), 0x8, 0x0) r1 = epoll_create1(0x0) epoll_ctl$EPOLL_CTL_ADD(r1, 0x1, r0, &(0x7f000001bff4)) r2 = gettid() rt_sigprocmask(0x0, &(0x7f0000000000)={[0xfffffffffffffffd]}, 0x0, 0x8) timer_create(0x3, &(0x7f000049efa0)={0x0, 0x14, 0x4, @tid=r2}, &(0x7f0000044000)) timer_settime(0x0, 0xffffffffffffffff, &(0x7f0000000080)={{0x77359400}, {0x0, 0x9}}, 0x0) [ 1490.631651][T22219] UDF-fs: Scanning with blocksize 4096 failed 23:46:12 executing program 2: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="180300000000000000000000a4000000850000006d00000095"], &(0x7f0000000140)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='9p_client_req\x00', r0}, 0x10) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r1, 0x29, 0x40, &(0x7f0000000c40)=ANY=[@ANYBLOB="7261770000000000000000000000000000000000dfffffffffffffff00000000c103010003000000200400000000000080020000004f000000000000800000005003000050030000380300005003000050030000030000000000000000000000fe8000000000000000000000000000bbff0200000000000000000000000000010000000000000000000000000000000000000000000000c02211a09f38e7410056657468315f746f5f626f6e640000006e657470636930000000000000000000000000000000000000000000000000000000000000000000001d000000000000000000000000000000000000500280020000000001000000000000000000000000000000000000005001686173686c696d69740000000000000000000000000000000000010000027465616d5f736c6176655f310008000000000000000000000000000000000004000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000090000000000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000004b00000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000fe18b61a000800000000000400000000000000005800686173686c696d697400000000000000000000000000000000000000000173797a6b616c6c65d5bab7bf15940d62000000000000000004000000000000000000000005000000a60000000000000000004c1f000000003000434f4e4e4d41524b000000000000000000000000000000000000000000010000000000000000000000000000000000ff010000000000000000000007000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000a800d00000000000000000000000000000000030e93452780239f6002800434c4153534946590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a800d00000000000000000001c0000000000000000000000000000002800000000000000000000000000000000000000000000000000000000000000feffffff"], 0x1) 23:46:12 executing program 1: r0 = creat(&(0x7f0000000000)='./file0\x00', 0x0) ioctl$FS_IOC_FSSETXATTR(r0, 0x401c5820, &(0x7f0000000040)={0x881a}) rmdir(&(0x7f0000000140)='./file0\x00') 23:46:12 executing program 3: setsockopt$inet_mtu(0xffffffffffffffff, 0x0, 0xa, &(0x7f0000000240), 0x4) prlimit64(0x0, 0xe, &(0x7f0000000040)={0x7, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x20842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) fdatasync(r3) prctl$PR_SET_PTRACER(0x59616d61, r0) geteuid() newfstatat(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', &(0x7f0000000300), 0x500) r4 = dup3(r1, r1, 0x0) sendfile(r4, r2, &(0x7f0000000140)=0x2, 0x101) truncate(&(0x7f00000000c0)='./file0\x00', 0x7) 23:46:12 executing program 2: r0 = syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) bind$bt_sco(r0, &(0x7f0000000000)={0x1f, @none}, 0x8) 23:46:12 executing program 4: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000003c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0x40046205, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000380)={0x0, 0x0, 0x0, 0x1, 0x0, &(0x7f00000002c0)="c8"}) 23:46:13 executing program 1: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000080)) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0xc004500a, 0x0) 23:46:13 executing program 3: setsockopt$inet_mtu(0xffffffffffffffff, 0x0, 0xa, &(0x7f0000000240), 0x4) prlimit64(0x0, 0xe, &(0x7f0000000040)={0x7, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x20842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) fdatasync(r3) prctl$PR_SET_PTRACER(0x59616d61, r0) geteuid() newfstatat(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', &(0x7f0000000300), 0x500) r4 = dup3(r1, r1, 0x0) sendfile(r4, r2, &(0x7f0000000140)=0x2, 0x101) truncate(&(0x7f00000000c0)='./file0\x00', 0x7) [ 1492.091892][T22248] binder: 22246:22248 ioctl 40046205 0 returned -22 23:46:14 executing program 0: syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x4, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0xfff}], 0x0, &(0x7f0000000100)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff8) readlink(0x0, 0x0, 0x0) dup(0xffffffffffffffff) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f00000013c0)=ANY=[@ANYBLOB, @ANYBLOB], 0xe) r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r0, 0x800) r1 = open(&(0x7f0000000040)='./file0\x00', 0x101042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) r3 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001380)='/sys/block/loop0', 0x0, 0x123) dup(r3) write$P9_RREADLINK(r2, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r2, r2, &(0x7f0000000240), 0x7fff) 23:46:14 executing program 2: setsockopt$inet_mtu(0xffffffffffffffff, 0x0, 0xa, &(0x7f0000000240), 0x4) prlimit64(0x0, 0xe, &(0x7f0000000040)={0x7, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x20842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) fdatasync(r3) prctl$PR_SET_PTRACER(0x59616d61, r0) geteuid() newfstatat(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', &(0x7f0000000300), 0x500) r4 = dup3(r1, r1, 0x0) sendfile(r4, r2, &(0x7f0000000140)=0x2, 0x101) truncate(&(0x7f00000000c0)='./file0\x00', 0x7) 23:46:14 executing program 5: socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000340)={0xffffffffffffffff}) ioctl$sock_SIOCGIFINDEX(r0, 0x8931, &(0x7f0000000380)={'macvlan1\x00'}) 23:46:14 executing program 3: setsockopt$inet_mtu(0xffffffffffffffff, 0x0, 0xa, &(0x7f0000000240), 0x4) prlimit64(0x0, 0xe, &(0x7f0000000040)={0x7, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x20842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) fdatasync(r3) prctl$PR_SET_PTRACER(0x59616d61, r0) geteuid() newfstatat(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', &(0x7f0000000300), 0x500) r4 = dup3(r1, r1, 0x0) sendfile(r4, r2, &(0x7f0000000140)=0x2, 0x101) truncate(&(0x7f00000000c0)='./file0\x00', 0x7) 23:46:14 executing program 4: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000003c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0x40046205, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000380)={0x0, 0x0, 0x0, 0x1, 0x0, &(0x7f00000002c0)="c8"}) 23:46:16 executing program 1: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000080)) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0xc004500a, 0x0) 23:46:16 executing program 5: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000080)) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0xc004500a, 0x0) 23:46:16 executing program 2: setsockopt$inet_mtu(0xffffffffffffffff, 0x0, 0xa, &(0x7f0000000240), 0x4) prlimit64(0x0, 0xe, &(0x7f0000000040)={0x7, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x20842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) fdatasync(r3) prctl$PR_SET_PTRACER(0x59616d61, r0) geteuid() newfstatat(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', &(0x7f0000000300), 0x500) r4 = dup3(r1, r1, 0x0) sendfile(r4, r2, &(0x7f0000000140)=0x2, 0x101) truncate(&(0x7f00000000c0)='./file0\x00', 0x7) [ 1495.344976][T22262] binder: 22261:22262 ioctl 40046205 0 returned -22 23:46:17 executing program 3: setsockopt$inet_mtu(0xffffffffffffffff, 0x0, 0xa, &(0x7f0000000240), 0x4) prlimit64(0x0, 0xe, &(0x7f0000000040)={0x7, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x20842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) fdatasync(r3) prctl$PR_SET_PTRACER(0x59616d61, r0) geteuid() newfstatat(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', &(0x7f0000000300), 0x500) r4 = dup3(r1, r1, 0x0) sendfile(r4, r2, &(0x7f0000000140)=0x2, 0x101) truncate(&(0x7f00000000c0)='./file0\x00', 0x7) 23:46:17 executing program 5: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000080)) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0xc004500a, 0x0) 23:46:17 executing program 4: r0 = openat$binderfs(0xffffffffffffff9c, &(0x7f00000003c0)='./binderfs/binder0\x00', 0x0, 0x0) ioctl$BINDER_WRITE_READ(r0, 0x40046205, 0x0) ioctl$BINDER_WRITE_READ(r0, 0xc0306201, &(0x7f0000000380)={0x0, 0x0, 0x0, 0x1, 0x0, &(0x7f00000002c0)="c8"}) 23:46:19 executing program 2: setsockopt$inet_mtu(0xffffffffffffffff, 0x0, 0xa, &(0x7f0000000240), 0x4) prlimit64(0x0, 0xe, &(0x7f0000000040)={0x7, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f000000c380)='./file0\x00', 0x20842, 0x0) writev(r3, &(0x7f0000000000)=[{&(0x7f0000000cc0)="e1", 0x5603d}], 0x1) fdatasync(r3) prctl$PR_SET_PTRACER(0x59616d61, r0) geteuid() newfstatat(0xffffffffffffff9c, &(0x7f0000000100)='./file0/file0\x00', &(0x7f0000000300), 0x500) r4 = dup3(r1, r1, 0x0) sendfile(r4, r2, &(0x7f0000000140)=0x2, 0x101) truncate(&(0x7f00000000c0)='./file0\x00', 0x7) 23:46:19 executing program 0: syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x4, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0xfff}], 0x0, &(0x7f0000000100)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff8) readlink(0x0, 0x0, 0x0) dup(0xffffffffffffffff) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f00000013c0)=ANY=[@ANYBLOB, @ANYBLOB], 0xe) r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r0, 0x800) r1 = open(&(0x7f0000000040)='./file0\x00', 0x101042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) r3 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001380)='/sys/block/loop0', 0x0, 0x123) dup(r3) write$P9_RREADLINK(r2, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r2, r2, &(0x7f0000000240), 0x7fff) [ 1497.602964][T22288] binder: 22281:22288 ioctl 40046205 0 returned -22 23:46:19 executing program 3: syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x4, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0xfff}], 0x0, &(0x7f0000000100)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff8) readlink(0x0, 0x0, 0x0) dup(0xffffffffffffffff) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f00000013c0)=ANY=[@ANYBLOB, @ANYBLOB], 0xe) r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r0, 0x800) r1 = open(&(0x7f0000000040)='./file0\x00', 0x101042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) r3 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001380)='/sys/block/loop0', 0x0, 0x123) dup(r3) write$P9_RREADLINK(r2, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r2, r2, &(0x7f0000000240), 0x7fff) 23:46:19 executing program 5: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000080)) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0xc004500a, 0x0) 23:46:19 executing program 1: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000080)) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0xc004500a, 0x0) 23:46:19 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) connect$unix(r2, &(0x7f00000003c0)=@abs={0x0, 0x0, 0x4e21}, 0x6e) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f0000000000000000", 0x4c, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000000340), 0x0, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a0900000000e1", 0x14}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {0x0}, {0x0}], 0x0, &(0x7f0000013800)) getrlimit(0xa, &(0x7f0000000680)) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000000bc0)=[{{&(0x7f0000000580)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000000b40)=[{&(0x7f0000000340)="808990f79b88971f1df919be8d3b231c585f7875cf982733", 0x18}, {&(0x7f0000000600)="198955713417a18b84dfc7a3cdc54f73fc9b18ccc0cd098eb81feadc97e221db5df77c29c4aa522ba02c9f7cffce0dc3adb28cb076768b958c4a32436702a43bd30f8c0050739913e8601875c420d5f774bd52da3389b2", 0x57}, {&(0x7f00000007c0)="a4bbee958bbfb78f59ca1520020c7adee24a4d58d934f9d155922163115ce2c7159c4f1bd617b3146f63b68945d8b5d27b8ecc284926ab", 0x37}, {&(0x7f0000000800)="40c6c81619ab4465a9ba6ddcd3ba04104be116380e61b5b9cf0d149516ec99bf3f7e32997fd2a122427772740dcf27e051d816cf8703d6a178456a3f1abd4395cfd3deb8e421d1bd4d291e78a3fc63799800e6fadb646019a709e4b3de73bfe472870628eaed7ef8f7601bbe581154f5dcedb530be65a5850c4603eebae2fe49673a5dc52aba2343d02592db2a737f352fdb6c6a6db59eec2ecd6b13865b9362441a5ff789e05fa513ab401d0e72c7dc1c7a268121f4297ed73b2630e1d6076ae89b556d40650fa1b2a8dbe1572804d923ccce9338454aa866c8fe8e543d2a00f4623a1486", 0xe5}, {&(0x7f0000000900)="52542b7df1da55e4eefaba6e47e17d406cc638", 0x13}, {&(0x7f0000000940)="c8a577903ec02fadb5735d658e3b7f4a074502ac5e8035cdf331215c3ed4776dde4b8d3dcc87af9d1e1069defe23b014c228aaffa175df7d756ed87317631494a845a4f68ff6ceba28a997171342c1fafd264c106b0baf63030c95a3679a714710d82d46589120aa7a5cd9ce15d91dabd8c93654cf6131256b7130f971a0b76ec0276c84afb013df7d50086dfae8069ca37fc44ba6a4436e7ee8a42f23d193cb20a9ad1be17b545db9876e6efe184ae5beabe3cdab579312777fc20dc5ffab4995e3347bf29b50ba1c5c7ab1923fb936483c828926da4c0808dd6702", 0xdc}, {&(0x7f0000000a40)="2f7e8bcb5a7a9047b97a24e44211020c9be6fc181810a3272147227a94335c02f8d1243bceb5399fb7d988e2c6ad1cf563d037f46c9049466591e86b684313f7f506a6e48bbc5c833cf419c48aaf8bcb7883f85fceeacf45c94a48f4d2e03dbfe626e03eed152784b6f3c9acc602803a5476575bba437f66f2d6644969ed632bc6b66b184768ee4e34d347aee9a36d7f6fde4e11ff835337b4ea80f59572ad15a64a327353a3038bc6152ccb12c2a7c7cef745b9aa9416bcdfb4776090", 0xbd}], 0x7}}], 0x1, 0x4000014) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000020000040000000000000001040000000e0000f1850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x41100, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = gettid() ioctl$F2FS_IOC_MOVE_RANGE(r2, 0xc020f509, &(0x7f0000000040)={r3, 0x5}) syz_mount_image$ext4(&(0x7f0000000300)='ext2\x00', &(0x7f0000000380)='./file0\x00', 0x2, 0x1, &(0x7f0000000500)=[{&(0x7f0000000440)="893e16d1d1bab8033ed18e752f0076697567bccd207cbe4f0c6dbf44237dcc5f7e334c9362693fae2870b21029a92bb932aa80eca64b241e535b8d9c49f344dd16f2c8d0d89b3918aee2d5fab5e22abeb853c89f62a3f98cd3ae9a1ee824b4ee197f08ae47cd78b0718c18b26c4dc0972ecd639190fd773764a0f9c7226653df2e0d6cfe84a4498c4cfd4ba58d93b64d4d019f8b3560bc0692582b9f28acb43ee31a2f4511cb", 0xa6, 0x22fd1668}], 0x4000, &(0x7f0000000540)={[{@jqfmt_vfsv1}, {@noinit_itable}, {@dax}], [{@subj_role={'subj_role', 0x3d, '.,)'}}]}) sched_setattr(r5, &(0x7f00000006c0)={0x38, 0x6, 0x40, 0x5, 0x9, 0x943, 0x8000000000000000, 0x1, 0x80, 0x7}, 0x0) [ 1498.618296][T22301] loop3: detected capacity change from 0 to 15 23:46:20 executing program 4: syz_usb_connect$cdc_ecm(0x0, 0x56, &(0x7f0000000300)={{0x12, 0x1, 0x0, 0x2, 0x0, 0x0, 0x40, 0x525, 0xa4a1, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x44, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x3, 0x2, 0x6, 0x0, 0x0, {{0x5}, {0x5}, {0xd}}, {[{}]}}}]}}]}}, 0x0) 23:46:20 executing program 2: r0 = fsopen(&(0x7f0000000300)='cgroup\x00', 0x0) fsconfig$FSCONFIG_CMD_CREATE(r0, 0x6, 0x0, 0x0, 0x0) r1 = openat$vsock(0xffffffffffffff9c, &(0x7f00000002c0), 0x0, 0x0) fsconfig$FSCONFIG_SET_PATH_EMPTY(r0, 0x4, &(0x7f0000000340)='\x00', &(0x7f0000000380)='./file0\x00', r1) 23:46:20 executing program 2: syz_mount_image$romfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="150000005affff0180000c0800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f00000002c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r2, @ANYBLOB=',nodevmap']) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) syz_mount_image$iso9660(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) [ 1498.813810][T22301] Dev loop3: unable to read RDB block 15 [ 1498.821620][T22301] loop3: unable to read partition table [ 1498.830064][T22301] loop3: partition table beyond EOD, truncated [ 1498.846316][T22301] FAT-fs (loop3): Unrecognized mount option "./bus" or missing value 23:46:20 executing program 3: syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x4, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0xfff}], 0x0, &(0x7f0000000100)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff8) readlink(0x0, 0x0, 0x0) dup(0xffffffffffffffff) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f00000013c0)=ANY=[@ANYBLOB, @ANYBLOB], 0xe) r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r0, 0x800) r1 = open(&(0x7f0000000040)='./file0\x00', 0x101042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) r3 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001380)='/sys/block/loop0', 0x0, 0x123) dup(r3) write$P9_RREADLINK(r2, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r2, r2, &(0x7f0000000240), 0x7fff) 23:46:20 executing program 2: syz_mount_image$romfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="150000005affff0180000c0800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f00000002c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r2, @ANYBLOB=',nodevmap']) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) syz_mount_image$iso9660(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) [ 1499.094771][T18472] usb 5-1: new high-speed USB device number 8 using dummy_hcd [ 1499.196150][T22324] loop3: detected capacity change from 0 to 15 [ 1499.231673][T22324] Dev loop3: unable to read RDB block 15 23:46:20 executing program 0: syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x4, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0xfff}], 0x0, &(0x7f0000000100)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff8) readlink(0x0, 0x0, 0x0) dup(0xffffffffffffffff) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f00000013c0)=ANY=[@ANYBLOB, @ANYBLOB], 0xe) r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r0, 0x800) r1 = open(&(0x7f0000000040)='./file0\x00', 0x101042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) r3 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001380)='/sys/block/loop0', 0x0, 0x123) dup(r3) write$P9_RREADLINK(r2, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r2, r2, &(0x7f0000000240), 0x7fff) [ 1499.258343][T22324] loop3: unable to read partition table [ 1499.267112][T22324] loop3: partition table beyond EOD, truncated [ 1499.474859][T18472] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 23:46:21 executing program 1: r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000080)) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) ioctl$SNDCTL_DSP_SETTRIGGER(0xffffffffffffffff, 0xc004500a, 0x0) [ 1499.531653][T18472] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 23:46:21 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) connect$unix(r2, &(0x7f00000003c0)=@abs={0x0, 0x0, 0x4e21}, 0x6e) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f0000000000000000", 0x4c, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000000340), 0x0, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a0900000000e1", 0x14}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {0x0}, {0x0}], 0x0, &(0x7f0000013800)) getrlimit(0xa, &(0x7f0000000680)) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000000bc0)=[{{&(0x7f0000000580)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000000b40)=[{&(0x7f0000000340)="808990f79b88971f1df919be8d3b231c585f7875cf982733", 0x18}, {&(0x7f0000000600)="198955713417a18b84dfc7a3cdc54f73fc9b18ccc0cd098eb81feadc97e221db5df77c29c4aa522ba02c9f7cffce0dc3adb28cb076768b958c4a32436702a43bd30f8c0050739913e8601875c420d5f774bd52da3389b2", 0x57}, {&(0x7f00000007c0)="a4bbee958bbfb78f59ca1520020c7adee24a4d58d934f9d155922163115ce2c7159c4f1bd617b3146f63b68945d8b5d27b8ecc284926ab", 0x37}, {&(0x7f0000000800)="40c6c81619ab4465a9ba6ddcd3ba04104be116380e61b5b9cf0d149516ec99bf3f7e32997fd2a122427772740dcf27e051d816cf8703d6a178456a3f1abd4395cfd3deb8e421d1bd4d291e78a3fc63799800e6fadb646019a709e4b3de73bfe472870628eaed7ef8f7601bbe581154f5dcedb530be65a5850c4603eebae2fe49673a5dc52aba2343d02592db2a737f352fdb6c6a6db59eec2ecd6b13865b9362441a5ff789e05fa513ab401d0e72c7dc1c7a268121f4297ed73b2630e1d6076ae89b556d40650fa1b2a8dbe1572804d923ccce9338454aa866c8fe8e543d2a00f4623a1486", 0xe5}, {&(0x7f0000000900)="52542b7df1da55e4eefaba6e47e17d406cc638", 0x13}, {&(0x7f0000000940)="c8a577903ec02fadb5735d658e3b7f4a074502ac5e8035cdf331215c3ed4776dde4b8d3dcc87af9d1e1069defe23b014c228aaffa175df7d756ed87317631494a845a4f68ff6ceba28a997171342c1fafd264c106b0baf63030c95a3679a714710d82d46589120aa7a5cd9ce15d91dabd8c93654cf6131256b7130f971a0b76ec0276c84afb013df7d50086dfae8069ca37fc44ba6a4436e7ee8a42f23d193cb20a9ad1be17b545db9876e6efe184ae5beabe3cdab579312777fc20dc5ffab4995e3347bf29b50ba1c5c7ab1923fb936483c828926da4c0808dd6702", 0xdc}, {&(0x7f0000000a40)="2f7e8bcb5a7a9047b97a24e44211020c9be6fc181810a3272147227a94335c02f8d1243bceb5399fb7d988e2c6ad1cf563d037f46c9049466591e86b684313f7f506a6e48bbc5c833cf419c48aaf8bcb7883f85fceeacf45c94a48f4d2e03dbfe626e03eed152784b6f3c9acc602803a5476575bba437f66f2d6644969ed632bc6b66b184768ee4e34d347aee9a36d7f6fde4e11ff835337b4ea80f59572ad15a64a327353a3038bc6152ccb12c2a7c7cef745b9aa9416bcdfb4776090", 0xbd}], 0x7}}], 0x1, 0x4000014) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000020000040000000000000001040000000e0000f1850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x41100, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = gettid() ioctl$F2FS_IOC_MOVE_RANGE(r2, 0xc020f509, &(0x7f0000000040)={r3, 0x5}) syz_mount_image$ext4(&(0x7f0000000300)='ext2\x00', &(0x7f0000000380)='./file0\x00', 0x2, 0x1, &(0x7f0000000500)=[{&(0x7f0000000440)="893e16d1d1bab8033ed18e752f0076697567bccd207cbe4f0c6dbf44237dcc5f7e334c9362693fae2870b21029a92bb932aa80eca64b241e535b8d9c49f344dd16f2c8d0d89b3918aee2d5fab5e22abeb853c89f62a3f98cd3ae9a1ee824b4ee197f08ae47cd78b0718c18b26c4dc0972ecd639190fd773764a0f9c7226653df2e0d6cfe84a4498c4cfd4ba58d93b64d4d019f8b3560bc0692582b9f28acb43ee31a2f4511cb", 0xa6, 0x22fd1668}], 0x4000, &(0x7f0000000540)={[{@jqfmt_vfsv1}, {@noinit_itable}, {@dax}], [{@subj_role={'subj_role', 0x3d, '.,)'}}]}) sched_setattr(r5, &(0x7f00000006c0)={0x38, 0x6, 0x40, 0x5, 0x9, 0x943, 0x8000000000000000, 0x1, 0x80, 0x7}, 0x0) 23:46:21 executing program 2: syz_mount_image$romfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="150000005affff0180000c0800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f00000002c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r2, @ANYBLOB=',nodevmap']) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) syz_mount_image$iso9660(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) [ 1499.662609][T18472] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x82 has invalid wMaxPacketSize 0 [ 1499.718374][T18472] usb 5-1: config 1 interface 0 altsetting 0 bulk endpoint 0x82 has invalid maxpacket 0 [ 1499.737779][T22324] syz-executor.3: attempt to access beyond end of device [ 1499.737779][T22324] loop3: rw=2049, sector=15, nr_sectors = 1 limit=15 [ 1499.752384][T22324] Buffer I/O error on dev loop3, logical block 15, lost async page write [ 1499.763343][T18472] usb 5-1: config 1 interface 0 altsetting 0 endpoint 0x3 has invalid wMaxPacketSize 0 [ 1499.777309][T18472] usb 5-1: config 1 interface 0 altsetting 0 bulk endpoint 0x3 has invalid maxpacket 0 23:46:22 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) connect$unix(r2, &(0x7f00000003c0)=@abs={0x0, 0x0, 0x4e21}, 0x6e) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f0000000000000000", 0x4c, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000000340), 0x0, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a0900000000e1", 0x14}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {0x0}, {0x0}], 0x0, &(0x7f0000013800)) getrlimit(0xa, &(0x7f0000000680)) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000000bc0)=[{{&(0x7f0000000580)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000000b40)=[{&(0x7f0000000340)="808990f79b88971f1df919be8d3b231c585f7875cf982733", 0x18}, {&(0x7f0000000600)="198955713417a18b84dfc7a3cdc54f73fc9b18ccc0cd098eb81feadc97e221db5df77c29c4aa522ba02c9f7cffce0dc3adb28cb076768b958c4a32436702a43bd30f8c0050739913e8601875c420d5f774bd52da3389b2", 0x57}, {&(0x7f00000007c0)="a4bbee958bbfb78f59ca1520020c7adee24a4d58d934f9d155922163115ce2c7159c4f1bd617b3146f63b68945d8b5d27b8ecc284926ab", 0x37}, {&(0x7f0000000800)="40c6c81619ab4465a9ba6ddcd3ba04104be116380e61b5b9cf0d149516ec99bf3f7e32997fd2a122427772740dcf27e051d816cf8703d6a178456a3f1abd4395cfd3deb8e421d1bd4d291e78a3fc63799800e6fadb646019a709e4b3de73bfe472870628eaed7ef8f7601bbe581154f5dcedb530be65a5850c4603eebae2fe49673a5dc52aba2343d02592db2a737f352fdb6c6a6db59eec2ecd6b13865b9362441a5ff789e05fa513ab401d0e72c7dc1c7a268121f4297ed73b2630e1d6076ae89b556d40650fa1b2a8dbe1572804d923ccce9338454aa866c8fe8e543d2a00f4623a1486", 0xe5}, {&(0x7f0000000900)="52542b7df1da55e4eefaba6e47e17d406cc638", 0x13}, {&(0x7f0000000940)="c8a577903ec02fadb5735d658e3b7f4a074502ac5e8035cdf331215c3ed4776dde4b8d3dcc87af9d1e1069defe23b014c228aaffa175df7d756ed87317631494a845a4f68ff6ceba28a997171342c1fafd264c106b0baf63030c95a3679a714710d82d46589120aa7a5cd9ce15d91dabd8c93654cf6131256b7130f971a0b76ec0276c84afb013df7d50086dfae8069ca37fc44ba6a4436e7ee8a42f23d193cb20a9ad1be17b545db9876e6efe184ae5beabe3cdab579312777fc20dc5ffab4995e3347bf29b50ba1c5c7ab1923fb936483c828926da4c0808dd6702", 0xdc}, {&(0x7f0000000a40)="2f7e8bcb5a7a9047b97a24e44211020c9be6fc181810a3272147227a94335c02f8d1243bceb5399fb7d988e2c6ad1cf563d037f46c9049466591e86b684313f7f506a6e48bbc5c833cf419c48aaf8bcb7883f85fceeacf45c94a48f4d2e03dbfe626e03eed152784b6f3c9acc602803a5476575bba437f66f2d6644969ed632bc6b66b184768ee4e34d347aee9a36d7f6fde4e11ff835337b4ea80f59572ad15a64a327353a3038bc6152ccb12c2a7c7cef745b9aa9416bcdfb4776090", 0xbd}], 0x7}}], 0x1, 0x4000014) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000020000040000000000000001040000000e0000f1850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x41100, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = gettid() ioctl$F2FS_IOC_MOVE_RANGE(r2, 0xc020f509, &(0x7f0000000040)={r3, 0x5}) syz_mount_image$ext4(&(0x7f0000000300)='ext2\x00', &(0x7f0000000380)='./file0\x00', 0x2, 0x1, &(0x7f0000000500)=[{&(0x7f0000000440)="893e16d1d1bab8033ed18e752f0076697567bccd207cbe4f0c6dbf44237dcc5f7e334c9362693fae2870b21029a92bb932aa80eca64b241e535b8d9c49f344dd16f2c8d0d89b3918aee2d5fab5e22abeb853c89f62a3f98cd3ae9a1ee824b4ee197f08ae47cd78b0718c18b26c4dc0972ecd639190fd773764a0f9c7226653df2e0d6cfe84a4498c4cfd4ba58d93b64d4d019f8b3560bc0692582b9f28acb43ee31a2f4511cb", 0xa6, 0x22fd1668}], 0x4000, &(0x7f0000000540)={[{@jqfmt_vfsv1}, {@noinit_itable}, {@dax}], [{@subj_role={'subj_role', 0x3d, '.,)'}}]}) sched_setattr(r5, &(0x7f00000006c0)={0x38, 0x6, 0x40, 0x5, 0x9, 0x943, 0x8000000000000000, 0x1, 0x80, 0x7}, 0x0) 23:46:22 executing program 1: syz_mount_image$romfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="150000005affff0180000c0800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f00000002c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r2, @ANYBLOB=',nodevmap']) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) syz_mount_image$iso9660(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) [ 1500.704657][T18472] usb 5-1: New USB device found, idVendor=0525, idProduct=a4a1, bcdDevice= 0.40 [ 1501.153208][T18472] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 1501.458606][T18472] usb 5-1: Product: syz 23:46:23 executing program 5: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) connect$unix(r2, &(0x7f00000003c0)=@abs={0x0, 0x0, 0x4e21}, 0x6e) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0xa, &(0x7f0000000200)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f000000010000000000000000000000002000000020000020000000d2f4655fd2f4655f0100ffff53ef010001000000d1f4655f0000000000000000", 0x4c, 0x400}, {&(0x7f0000010200)="010000000000050011", 0x9, 0x560}, {&(0x7f0000000340), 0x0, 0x640}, {&(0x7f0000010400)="030000001300000023000000ce", 0xd, 0x800}, {&(0x7f0000010500)}, {&(0x7f0000011600)="504d4d00504d4dff", 0x8, 0x4400}, {&(0x7f0000011700)="111fc0d901000000803a0900803a0900000000e1", 0x14}, {&(0x7f0000012b00)="ed41000000040000d1f4655fd2f4655fd2f4655f00000000000004000200000000000800050000000af301000400000000000000000000000100000004", 0x3d, 0x8c80}, {0x0}, {0x0}], 0x0, &(0x7f0000013800)) getrlimit(0xa, &(0x7f0000000680)) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000000bc0)=[{{&(0x7f0000000580)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000000b40)=[{&(0x7f0000000340)="808990f79b88971f1df919be8d3b231c585f7875cf982733", 0x18}, {&(0x7f0000000600)="198955713417a18b84dfc7a3cdc54f73fc9b18ccc0cd098eb81feadc97e221db5df77c29c4aa522ba02c9f7cffce0dc3adb28cb076768b958c4a32436702a43bd30f8c0050739913e8601875c420d5f774bd52da3389b2", 0x57}, {&(0x7f00000007c0)="a4bbee958bbfb78f59ca1520020c7adee24a4d58d934f9d155922163115ce2c7159c4f1bd617b3146f63b68945d8b5d27b8ecc284926ab", 0x37}, {&(0x7f0000000800)="40c6c81619ab4465a9ba6ddcd3ba04104be116380e61b5b9cf0d149516ec99bf3f7e32997fd2a122427772740dcf27e051d816cf8703d6a178456a3f1abd4395cfd3deb8e421d1bd4d291e78a3fc63799800e6fadb646019a709e4b3de73bfe472870628eaed7ef8f7601bbe581154f5dcedb530be65a5850c4603eebae2fe49673a5dc52aba2343d02592db2a737f352fdb6c6a6db59eec2ecd6b13865b9362441a5ff789e05fa513ab401d0e72c7dc1c7a268121f4297ed73b2630e1d6076ae89b556d40650fa1b2a8dbe1572804d923ccce9338454aa866c8fe8e543d2a00f4623a1486", 0xe5}, {&(0x7f0000000900)="52542b7df1da55e4eefaba6e47e17d406cc638", 0x13}, {&(0x7f0000000940)="c8a577903ec02fadb5735d658e3b7f4a074502ac5e8035cdf331215c3ed4776dde4b8d3dcc87af9d1e1069defe23b014c228aaffa175df7d756ed87317631494a845a4f68ff6ceba28a997171342c1fafd264c106b0baf63030c95a3679a714710d82d46589120aa7a5cd9ce15d91dabd8c93654cf6131256b7130f971a0b76ec0276c84afb013df7d50086dfae8069ca37fc44ba6a4436e7ee8a42f23d193cb20a9ad1be17b545db9876e6efe184ae5beabe3cdab579312777fc20dc5ffab4995e3347bf29b50ba1c5c7ab1923fb936483c828926da4c0808dd6702", 0xdc}, {&(0x7f0000000a40)="2f7e8bcb5a7a9047b97a24e44211020c9be6fc181810a3272147227a94335c02f8d1243bceb5399fb7d988e2c6ad1cf563d037f46c9049466591e86b684313f7f506a6e48bbc5c833cf419c48aaf8bcb7883f85fceeacf45c94a48f4d2e03dbfe626e03eed152784b6f3c9acc602803a5476575bba437f66f2d6644969ed632bc6b66b184768ee4e34d347aee9a36d7f6fde4e11ff835337b4ea80f59572ad15a64a327353a3038bc6152ccb12c2a7c7cef745b9aa9416bcdfb4776090", 0xbd}], 0x7}}], 0x1, 0x4000014) r4 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000020000040000000000000001040000000e0000f1850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x41100, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000080)='sched_switch\x00', r4}, 0x10) r5 = gettid() ioctl$F2FS_IOC_MOVE_RANGE(r2, 0xc020f509, &(0x7f0000000040)={r3, 0x5}) syz_mount_image$ext4(&(0x7f0000000300)='ext2\x00', &(0x7f0000000380)='./file0\x00', 0x2, 0x1, &(0x7f0000000500)=[{&(0x7f0000000440)="893e16d1d1bab8033ed18e752f0076697567bccd207cbe4f0c6dbf44237dcc5f7e334c9362693fae2870b21029a92bb932aa80eca64b241e535b8d9c49f344dd16f2c8d0d89b3918aee2d5fab5e22abeb853c89f62a3f98cd3ae9a1ee824b4ee197f08ae47cd78b0718c18b26c4dc0972ecd639190fd773764a0f9c7226653df2e0d6cfe84a4498c4cfd4ba58d93b64d4d019f8b3560bc0692582b9f28acb43ee31a2f4511cb", 0xa6, 0x22fd1668}], 0x4000, &(0x7f0000000540)={[{@jqfmt_vfsv1}, {@noinit_itable}, {@dax}], [{@subj_role={'subj_role', 0x3d, '.,)'}}]}) sched_setattr(r5, &(0x7f00000006c0)={0x38, 0x6, 0x40, 0x5, 0x9, 0x943, 0x8000000000000000, 0x1, 0x80, 0x7}, 0x0) [ 1501.638845][T18472] usb 5-1: Manufacturer: syz [ 1501.638870][T18472] usb 5-1: SerialNumber: syz [ 1501.680297][T18472] cdc_ether: probe of 5-1:1.0 failed with error -22 23:46:24 executing program 4: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:24 executing program 5: r0 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f00000000c0)={0x3, 0x2}, 0x4) syz_emit_ethernet(0x46, &(0x7f0000000000)={@multicast, @local, @void, {@mpls_mc={0x8848, {[], @ipv6=@dccp_packet={0x0, 0x6, "673b10", 0x10, 0x21, 0x0, @private1, @local, {[], {{0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "03d4c8", 0x0, "d682cc"}}}}}}}}, 0x0) [ 1502.244641][T18472] usb 5-1: USB disconnect, device number 8 23:46:24 executing program 3: syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000300)='./file0\x00', 0x4, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0xfff}], 0x0, &(0x7f0000000100)=ANY=[]) chdir(&(0x7f0000000040)='./file0\x00') prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) add_key$keyring(0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff8) readlink(0x0, 0x0, 0x0) dup(0xffffffffffffffff) write$P9_RREADLINK(0xffffffffffffffff, &(0x7f00000013c0)=ANY=[@ANYBLOB, @ANYBLOB], 0xe) r0 = creat(&(0x7f0000000100)='./bus\x00', 0x0) ftruncate(r0, 0x800) r1 = open(&(0x7f0000000040)='./file0\x00', 0x101042, 0x0) write$P9_RREADLINK(r1, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r1, r1, &(0x7f0000000240), 0x7fff) r2 = open(&(0x7f0000000040)='./file0\x00', 0x141042, 0x0) r3 = openat$sysfs(0xffffffffffffff9c, &(0x7f0000001380)='/sys/block/loop0', 0x0, 0x123) dup(r3) write$P9_RREADLINK(r2, &(0x7f0000002580)=ANY=[], 0x16) sendfile(r2, r2, &(0x7f0000000240), 0x7fff) 23:46:24 executing program 0: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:24 executing program 2: syz_mount_image$romfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="150000005affff0180000c0800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f00000002c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r2, @ANYBLOB=',nodevmap']) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) syz_mount_image$iso9660(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) 23:46:24 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = getpid() r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) getpriority(0x1, r0) process_vm_readv(r0, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r3, 0x8933, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r3, 0x0) 23:46:24 executing program 1: syz_mount_image$romfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="150000005affff0180000c0800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f00000002c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r2, @ANYBLOB=',nodevmap']) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) syz_mount_image$iso9660(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) [ 1503.583579][T22361] loop3: detected capacity change from 0 to 15 23:46:25 executing program 4: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) [ 1503.681040][T22361] Dev loop3: unable to read RDB block 15 [ 1503.694797][T22361] loop3: unable to read partition table [ 1503.709106][T22361] loop3: partition table beyond EOD, truncated 23:46:25 executing program 0: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:26 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = getpid() r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) getpriority(0x1, r0) process_vm_readv(r0, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r3, 0x8933, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r3, 0x0) 23:46:26 executing program 1: syz_mount_image$romfs(0x0, &(0x7f0000000100)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000340)=ANY=[@ANYBLOB="150000005affff0180000c0800395032303030"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000100)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f00000002c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r2, @ANYBLOB=',nodevmap']) r3 = syz_open_dev$tty1(0xc, 0x4, 0x1) syz_mount_image$iso9660(0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r4 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') sendfile(r3, r4, 0x0, 0x800000080004103) 23:46:26 executing program 0: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:26 executing program 4: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:26 executing program 3: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:27 executing program 0: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:29 executing program 3: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:29 executing program 2: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:29 executing program 0: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:29 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = getpid() r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) getpriority(0x1, r0) process_vm_readv(r0, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r3, 0x8933, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r3, 0x0) [ 1507.835279][ T3312] kworker/dying (3312) used greatest stack depth: 21792 bytes left 23:46:30 executing program 4: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:30 executing program 3: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:30 executing program 0: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:32 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = getpid() r1 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r2 = dup(r1) write$6lowpan_enable(r2, &(0x7f0000000000)='0', 0xfffffd2c) getpriority(0x1, r0) process_vm_readv(r0, &(0x7f0000008400)=[{&(0x7f0000000300)=""/54, 0x7ffff000}, {&(0x7f0000006180)=""/152, 0x98}], 0x2, &(0x7f0000008640)=[{&(0x7f0000008480)=""/95, 0x7ffff000}], 0x286, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='memory.current\x00', 0x275a, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r3, 0x8933, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r3, 0x0) 23:46:32 executing program 2: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:32 executing program 3: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:32 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x0, &(0x7f0000000200)) r4 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r4, &(0x7f00000000c0)={0x2, 0x4e20, @empty}, 0x10) sendto$inet(r4, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r4, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file1\x00', 0x40000, 0x8, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000010200)="0100000000000500", 0x8}, {&(0x7f0000010400)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000500)=ANY=[@ANYBLOB="00da9bccad002100000000001f2b6fe2f96a3f6d2f93ca9700b41d32f92fce90e61dc18e8c44810000e4259e66934175a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcb45a1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1944ee4d82b1aa0b548e7393f3e00bc4cc5b3e3c8219821d391264cefcf708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000", @ANYBLOB="2c3c6b38358fdab0e79f4957df4c09df02d27e00e3cab70e060baf0ec49d79ac1a80b29ea3a09f80a661828cbb748b0c6ef69e6b456d1ae595bf9672e398ed6d52f31c2104e7ed052eb0e1804a7c30763f02acfb789d7f8cf36147e8bdf62a0a8138cd597564c39cbb66ebab9c73f21f538ba74456c42960bd50d38ad9d7dac4b1e58cb7b7c4dcb5c0eb035c1355b4bdd061a6100f9e44bef54b6a65bf9f38495a3105f2e637feb931322c2deed2e1385deb2d4bd7583835ce59f1e8391fec2fee683f56a0746e413c07ab8c1bfbb0f6c61be7f801dcd51d8db5531e7f68bbb9d4a11e0bf4baff07fbff1024a5781436cafb00739de6d44e0f93c98670ee6e6ac8590800c0a8007c669f2323e8fc024cd51940d0742b9faed4bf4b7e1ebe6624f0c8e3c7fa5cb5919bbf193099f5df71b7e045d520529ee1c1ff64857d2d3cd4362df3c413f9266a829917d0500400c53043de546bd23a303d1c1a6239535db5a57e7210183e4d5199e3387da8927c578463437cb1f68bff3712d3ffb48fd2ab139f15eba1ddb7649f7a5ba87a2a0997ec1402347d3da02160682dfe87a323cff9384d01cc718e"]) sendmsg(r2, &(0x7f0000000440)={&(0x7f0000000280)=@qipcrtr={0x2a, 0x0, 0x3fff}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000300)="c737f7d57175eaf5a2eeb5b8ef9712c64fa1c9d38b2db803d3ca5767c1ff80eb1075beb53a4cac5506ac02bdea17bff3f18fe1b4789a01e6a72cbcc4a52b66e13b0920f0398dbaffe1ff375d8a57e6d950d3621ebf37b4c20188c29e8896696f8c9a8c96c462f566dcebf18d5e0b8a15ab9363757ff4a2f19bef391fba0dc2e7d521bbf1d78bbc319706871e16d1179853d9d3706ed0c060ae22691b61287db19cf12a5d0b", 0xa5}, {&(0x7f0000000780)="837aad8f0bf51c1cab5144539c0e9d8c8dcdfd5ae6bb259ff1f33884f5060ecfb92e27b27a13edb1272055e15683e05a760cb048b4212840721cf646b79cbdb6028b56cdf47a4a45ac1dd83bf0fce94c930a4670773c452baa1f03426e0a1328d7daa30f70ac6d03d1e639ff3329a2b23c881ba54b1b374623328b1b3ef9d7b84d340aa01bca54a84957b226a5bc181063a0a71cf8fe0e5bfeec0ddfad1b58378d8ac9e095a51d6541b27bd19f423f1989826fbdc319c4e121662cb8b04a8252b9fb015d4525e36283a8a994", 0xcc}, {&(0x7f00000003c0)="fe48214aafe2339f603eb4addd027f5bbe3759c93cfd24177d88fb911a4ec432490af5d391bcb1aeebf67245adf67632123c70ff80dc73d77afb7a9192ab64fa0ad741d94904e2271d", 0x49}, {&(0x7f0000000880)="a87d8bbcf29923e068475370edb234814e293b539bbada56de705c13123878abe12cdba69608a51b1b57d24d19d0b7a7c76e32c713ec73081e9a42cb66e0c2ab6b1c399c451d6edeb82e8504fef8d65ce0756084d273a7e1c32404b35560800c387e6ccfa77539eb84663428b968cb3d1125c64589735c44f6e5ae721addda9a0430d36a7c28b56775a2d07a890b3d26598cf3b11fe305ce16002d4be59c3888ec478a38e1083e3b5f54d6e01483ea3ab8e5684e551d1062c25dc611f3d8425ee4e1fdc150ab4bde34c7a22691ef20682677046603eaf31e6e6864065287a8eccba709c3144941535de9a38bfebe599104e5aa39339bff0e881646", 0xfb}], 0x4, &(0x7f0000000980)=[{0x58, 0x18b, 0x131a, "f96caf87f567eb0be819b1ec3b55b972c07c43d584ea0bfb14b391c0ff4b8d9a031414b65e77b72415487ab9c62a131bc8c5745425f5f1305a52e6842f3e019a5a"}, {0xd0, 0x0, 0x3, "5fc646b326829fa68f749ad55e12f4ade37d4715c92938712ff41e38b6168b001a1ffe876e26dfb1e8fb25a80f8094649f1c89fa86153fc26e311cccd538bc16e93d746a23e4867a8b1c03460e0579b1bd219b8a27b17e8db26e5a4a8b6904a0f90d25f05267d633d5fd257efd001642d03cf38db4d4b41386c9470502798b0de7224d97b9ff1677ae84ad65ea11414f68fdf22e9c5d54aef9a9660dbe1c62c23e9f13f84178b16af4ef36875ea028faf9deb4b1aa1040bf8d87c341"}, {0x30, 0x111, 0x3f, "5d72ebd931b9df90e4fe78c5b8f29df01b4f7f649c8dc0178bcbd78c66e3"}], 0x158}, 0x40000c0) setsockopt$inet_tcp_TCP_CONGESTION(r4, 0x6, 0xd, &(0x7f0000000b40)='yeah\x00', 0x5) 23:46:34 executing program 0: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) [ 1513.286715][T22442] loop4: detected capacity change from 0 to 264192 23:46:35 executing program 2: getsockname$packet(0xffffffffffffffff, &(0x7f0000000340)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, &(0x7f0000000380)=0x1) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@file={0x0, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) pipe2$9p(0x0, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x36f9e7d00, 0x0, 0x0, 0x0, {0x17}, 0x0, 0x43, 0x0, 0x0}, 0xffffffffffffff62) r4 = socket$nl_route(0x10, 0x3, 0x0) r5 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000008080000000000000000000850000007500000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000080)={&(0x7f0000000000)='sched_switch\x00', r5}, 0x10) setpriority(0x0, r3, 0x2) sendmsg$nl_route(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)=ANY=[@ANYBLOB="200000001000050725bd70000000000000000000", @ANYRES32=0x0, @ANYBLOB="0500000000000000"], 0x20}, 0x1, 0x0, 0x0, 0x40000}, 0x20000000) ioctl$sock_SIOCGIFBR(r2, 0x89a0, &(0x7f0000000300)=@add_del={0x5c, &(0x7f0000000280)='hsr0\x00'}) creat(&(0x7f00000001c0)='./file0\x00', 0x8d) 23:46:35 executing program 1: sendmsg$NL80211_CMD_NEW_STATION(0xffffffffffffffff, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000000)=ANY=[@ANYBLOB="1c000000", @ANYRES16=0x0, @ANYBLOB="c89045efe05ae52d00009300000008003617"], 0x1c}}, 0x0) r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$BATADV_CMD_GET_GATEWAYS(0xffffffffffffffff, &(0x7f0000007680)={0x0, 0x0, &(0x7f0000007640)={&(0x7f0000000000)=ANY=[@ANYBLOB="46040000", @ANYRES16, @ANYBLOB="ff83da6000d710fec0c2", @ANYRES32=r0], 0x4}}, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8b28, &(0x7f0000000000)={'wlan1\x00'}) [ 1513.402667][T22442] EXT4-fs (loop4): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! 23:46:35 executing program 3: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:35 executing program 1: r0 = syz_open_dev$sg(&(0x7f0000000000), 0x0, 0x0) ioctl$SCSI_IOCTL_PROBE_HOST(r0, 0x2271, 0xfffffffffffffffe) [ 1513.444032][T22442] EXT4-fs (loop4): group descriptors corrupted! 23:46:36 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000002700)={0x11, 0x3, &(0x7f0000001100)=@framed, &(0x7f0000001640)='syzkaller\x00', 0x4, 0x1000, &(0x7f0000001680)=""/4096, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x22) 23:46:36 executing program 1: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r0) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r1) sendmsg$NLBL_UNLABEL_C_STATICLISTDEF(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000180)={0x14, r2, 0x701}, 0x14}}, 0x0) 23:46:36 executing program 2: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl802154(&(0x7f0000000240), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_802154(r0, 0x8933, &(0x7f0000000340)={'wpan0\x00', 0x0}) sendmsg$NL802154_CMD_NEW_SEC_DEVKEY(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f00000006c0)={0x28, r1, 0x1, 0x0, 0x0, {}, [@NL802154_ATTR_SEC_DEVKEY={0xc, 0x24, 0x0, 0x1, [@NL802154_DEVKEY_ATTR_FRAME_COUNTER={0x8}]}, @NL802154_ATTR_IFINDEX={0x8, 0x3, r2}]}, 0x28}}, 0x0) 23:46:36 executing program 1: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r0) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r1) sendmsg$NLBL_UNLABEL_C_STATICLISTDEF(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000180)={0x14, r2, 0x701}, 0x14}}, 0x0) 23:46:36 executing program 5: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet6_buf(r0, 0x29, 0x36, &(0x7f0000000000)='+', 0x1) 23:46:36 executing program 2: r0 = syz_io_uring_setup(0x184, &(0x7f00000002c0), &(0x7f0000148000/0x3000)=nil, &(0x7f0000ffc000/0x3000)=nil, &(0x7f0000000040)=0x0, &(0x7f0000000100)=0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r1, 0x40, &(0x7f00000000c0)=0x307e, 0x0, 0x4) syz_io_uring_submit(r1, r2, &(0x7f00000001c0)=@IORING_OP_ASYNC_CANCEL={0xe, 0x2}, 0x0) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) syz_io_uring_setup(0x27c3, 0x0, &(0x7f0000145000/0x4000)=nil, &(0x7f0000146000/0x4000)=nil, 0x0, &(0x7f0000000200)) fcntl$setown(r0, 0x8, 0xffffffffffffffff) r3 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r4 = dup(r3) syz_io_uring_setup(0x752, &(0x7f0000000140)={0x0, 0x913a, 0x20, 0x2, 0x7e}, &(0x7f0000ffb000/0x3000)=nil, &(0x7f0000147000/0x2000)=nil, 0x0, &(0x7f0000000240)) syz_io_uring_submit(0x0, 0x0, &(0x7f00000000c0)=@IORING_OP_OPENAT2={0x1c, 0x0, 0x0, 0xffffffffffffffff, &(0x7f0000000100), &(0x7f0000000140)='./file0\x00', 0x18}, 0x0) syz_io_uring_submit(0x0, 0x0, &(0x7f0000000340)=@IORING_OP_TIMEOUT={0xb, 0x3, 0x0, 0x0, 0x0, &(0x7f0000000280)}, 0x3f) write$6lowpan_enable(r4, &(0x7f0000000000)='0', 0xfffffd2c) io_uring_enter(r0, 0xcc2, 0x0, 0x0, 0x0, 0x0) 23:46:36 executing program 5: prlimit64(0x0, 0xe, &(0x7f00000000c0)={0x8, 0x8d}, 0x0) r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) r1 = getpid() sched_setaffinity(r1, 0x8, &(0x7f0000000000)=0xfffffffffffffc01) socketpair$unix(0x1, 0x5, 0x0, &(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) pipe(&(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r2, 0x0, r5, 0x0, 0x7, 0x0) write$P9_RWRITE(r5, &(0x7f0000000040)={0xb}, 0x11000) read$FUSE(r4, &(0x7f0000002640)={0x2020}, 0x2020) dup2(r2, r3) 23:46:36 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x0, &(0x7f0000000200)) r4 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r4, &(0x7f00000000c0)={0x2, 0x4e20, @empty}, 0x10) sendto$inet(r4, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r4, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file1\x00', 0x40000, 0x8, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000010200)="0100000000000500", 0x8}, {&(0x7f0000010400)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000500)=ANY=[@ANYBLOB="00da9bccad002100000000001f2b6fe2f96a3f6d2f93ca9700b41d32f92fce90e61dc18e8c44810000e4259e66934175a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcb45a1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1944ee4d82b1aa0b548e7393f3e00bc4cc5b3e3c8219821d391264cefcf708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000", @ANYBLOB="2c3c6b38358fdab0e79f4957df4c09df02d27e00e3cab70e060baf0ec49d79ac1a80b29ea3a09f80a661828cbb748b0c6ef69e6b456d1ae595bf9672e398ed6d52f31c2104e7ed052eb0e1804a7c30763f02acfb789d7f8cf36147e8bdf62a0a8138cd597564c39cbb66ebab9c73f21f538ba74456c42960bd50d38ad9d7dac4b1e58cb7b7c4dcb5c0eb035c1355b4bdd061a6100f9e44bef54b6a65bf9f38495a3105f2e637feb931322c2deed2e1385deb2d4bd7583835ce59f1e8391fec2fee683f56a0746e413c07ab8c1bfbb0f6c61be7f801dcd51d8db5531e7f68bbb9d4a11e0bf4baff07fbff1024a5781436cafb00739de6d44e0f93c98670ee6e6ac8590800c0a8007c669f2323e8fc024cd51940d0742b9faed4bf4b7e1ebe6624f0c8e3c7fa5cb5919bbf193099f5df71b7e045d520529ee1c1ff64857d2d3cd4362df3c413f9266a829917d0500400c53043de546bd23a303d1c1a6239535db5a57e7210183e4d5199e3387da8927c578463437cb1f68bff3712d3ffb48fd2ab139f15eba1ddb7649f7a5ba87a2a0997ec1402347d3da02160682dfe87a323cff9384d01cc718e"]) sendmsg(r2, &(0x7f0000000440)={&(0x7f0000000280)=@qipcrtr={0x2a, 0x0, 0x3fff}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000300)="c737f7d57175eaf5a2eeb5b8ef9712c64fa1c9d38b2db803d3ca5767c1ff80eb1075beb53a4cac5506ac02bdea17bff3f18fe1b4789a01e6a72cbcc4a52b66e13b0920f0398dbaffe1ff375d8a57e6d950d3621ebf37b4c20188c29e8896696f8c9a8c96c462f566dcebf18d5e0b8a15ab9363757ff4a2f19bef391fba0dc2e7d521bbf1d78bbc319706871e16d1179853d9d3706ed0c060ae22691b61287db19cf12a5d0b", 0xa5}, {&(0x7f0000000780)="837aad8f0bf51c1cab5144539c0e9d8c8dcdfd5ae6bb259ff1f33884f5060ecfb92e27b27a13edb1272055e15683e05a760cb048b4212840721cf646b79cbdb6028b56cdf47a4a45ac1dd83bf0fce94c930a4670773c452baa1f03426e0a1328d7daa30f70ac6d03d1e639ff3329a2b23c881ba54b1b374623328b1b3ef9d7b84d340aa01bca54a84957b226a5bc181063a0a71cf8fe0e5bfeec0ddfad1b58378d8ac9e095a51d6541b27bd19f423f1989826fbdc319c4e121662cb8b04a8252b9fb015d4525e36283a8a994", 0xcc}, {&(0x7f00000003c0)="fe48214aafe2339f603eb4addd027f5bbe3759c93cfd24177d88fb911a4ec432490af5d391bcb1aeebf67245adf67632123c70ff80dc73d77afb7a9192ab64fa0ad741d94904e2271d", 0x49}, {&(0x7f0000000880)="a87d8bbcf29923e068475370edb234814e293b539bbada56de705c13123878abe12cdba69608a51b1b57d24d19d0b7a7c76e32c713ec73081e9a42cb66e0c2ab6b1c399c451d6edeb82e8504fef8d65ce0756084d273a7e1c32404b35560800c387e6ccfa77539eb84663428b968cb3d1125c64589735c44f6e5ae721addda9a0430d36a7c28b56775a2d07a890b3d26598cf3b11fe305ce16002d4be59c3888ec478a38e1083e3b5f54d6e01483ea3ab8e5684e551d1062c25dc611f3d8425ee4e1fdc150ab4bde34c7a22691ef20682677046603eaf31e6e6864065287a8eccba709c3144941535de9a38bfebe599104e5aa39339bff0e881646", 0xfb}], 0x4, &(0x7f0000000980)=[{0x58, 0x18b, 0x131a, "f96caf87f567eb0be819b1ec3b55b972c07c43d584ea0bfb14b391c0ff4b8d9a031414b65e77b72415487ab9c62a131bc8c5745425f5f1305a52e6842f3e019a5a"}, {0xd0, 0x0, 0x3, "5fc646b326829fa68f749ad55e12f4ade37d4715c92938712ff41e38b6168b001a1ffe876e26dfb1e8fb25a80f8094649f1c89fa86153fc26e311cccd538bc16e93d746a23e4867a8b1c03460e0579b1bd219b8a27b17e8db26e5a4a8b6904a0f90d25f05267d633d5fd257efd001642d03cf38db4d4b41386c9470502798b0de7224d97b9ff1677ae84ad65ea11414f68fdf22e9c5d54aef9a9660dbe1c62c23e9f13f84178b16af4ef36875ea028faf9deb4b1aa1040bf8d87c341"}, {0x30, 0x111, 0x3f, "5d72ebd931b9df90e4fe78c5b8f29df01b4f7f649c8dc0178bcbd78c66e3"}], 0x158}, 0x40000c0) setsockopt$inet_tcp_TCP_CONGESTION(r4, 0x6, 0xd, &(0x7f0000000b40)='yeah\x00', 0x5) 23:46:36 executing program 5: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$TIOCL_SETSEL(r0, 0x541c, &(0x7f0000000000)={0x2, {0x2, 0x0, 0x203}}) 23:46:36 executing program 3: syz_mount_image$ext4(0x0, &(0x7f0000000440)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) pipe2$9p(&(0x7f0000002180)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f0000000000)={0x18}, 0x18) write$FUSE_DIRENTPLUS(r2, &(0x7f0000000700)=ANY=[@ANYBLOB="3801"], 0x138) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000002140)={{'fd', 0x3d, r3}, 0x2c, {'rootmode', 0x3d, 0x4000}}) read$FUSE(r3, &(0x7f00000021c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_OPEN(r2, &(0x7f0000000080)={0x20, 0x0, r4}, 0x20) write$FUSE_LK(r2, &(0x7f0000000040)={0x28, 0x0, r4}, 0x28) write$FUSE_DIRENTPLUS(r2, &(0x7f00000005c0)={0x10}, 0x10) mount$9p_fd(0x0, &(0x7f00000002c0)='./file0\x00', &(0x7f0000000280), 0x0, &(0x7f0000000140)={'trans=fd,', {'rfdno', 0x3d, r0}, 0x2c, {'wfdno', 0x3d, r1}, 0x2c, {[{@access_any}]}}) lgetxattr(&(0x7f0000000240)='./file0\x00', &(0x7f00000020c0)=@known='user.incfs.metadata\x00', &(0x7f00000021c0)=""/142, 0xed00) 23:46:36 executing program 1: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r0) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r1) sendmsg$NLBL_UNLABEL_C_STATICLISTDEF(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000180)={0x14, r2, 0x701}, 0x14}}, 0x0) 23:46:36 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000180)={0x18, 0x5, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000040000000000000000850000000e000000850000000e00000095"], &(0x7f0000000200)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_exit\x00', r0}, 0x10) io_setup(0x3, &(0x7f0000000140)=0x0) io_pgetevents(r1, 0x0, 0x0, 0x0, 0x0, 0x0) 23:46:37 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000ac0)=@newlink={0x48, 0x10, 0x705, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x28, 0x12, 0x0, 0x1, @ip6erspan={{0xe}, {0x14, 0x2, 0x0, 0x1, [@IFLA_GRE_OFLAGS={0x6}, @IFLA_GRE_IFLAGS={0x6, 0x2, 0x1}]}}}]}, 0x48}}, 0x0) 23:46:37 executing program 1: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r0) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000000780), r1) sendmsg$NLBL_UNLABEL_C_STATICLISTDEF(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000180)={0x14, r2, 0x701}, 0x14}}, 0x0) 23:46:37 executing program 2: syz_mount_image$msdos(&(0x7f00000000c0), 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/partitions\x00', 0x0, 0x0) r1 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) sendfile(r1, r0, &(0x7f0000002080)=0x60, 0x870) 23:46:37 executing program 3: shmctl$IPC_SET(0x0, 0xd, 0x0) 23:46:38 executing program 0: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000180)='/sys/kernel/debug/binder/state\x00', 0x0, 0x0) r1 = syz_init_net_socket$bt_sco(0x1f, 0x5, 0x2) dup2(r0, r1) [ 1516.397373][T22484] loop4: detected capacity change from 0 to 264192 [ 1516.408921][T22484] EXT4-fs (loop4): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! [ 1516.419076][T22484] EXT4-fs (loop4): group descriptors corrupted! 23:46:38 executing program 5: sendmsg$L2TP_CMD_SESSION_MODIFY(0xffffffffffffffff, 0x0, 0x0) socket$inet6_sctp(0xa, 0x0, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_PEELOFF(0xffffffffffffffff, 0x84, 0x66, &(0x7f0000000280), 0x0) socket$inet_tcp(0x2, 0x1, 0x0) ioctl$SNAPSHOT_FREE_SWAP_PAGES(0xffffffffffffffff, 0x3309) socket$inet_tcp(0x2, 0x1, 0x0) openat$nvme_fabrics(0xffffffffffffff9c, 0x0, 0x0, 0x0) recvfrom$netrom(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = openat$snapshot(0xffffffffffffff9c, &(0x7f00000003c0), 0x400, 0x0) ioctl$SNAPSHOT_SET_SWAP_AREA(r0, 0x400c330d, 0x0) socket$inet_udp(0x2, 0x2, 0x0) 23:46:38 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$VT_OPENQRY(r0, 0x4b48, &(0x7f0000000000)) 23:46:38 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x0, &(0x7f0000000200)) r4 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r4, &(0x7f00000000c0)={0x2, 0x4e20, @empty}, 0x10) sendto$inet(r4, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r4, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file1\x00', 0x40000, 0x8, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000010200)="0100000000000500", 0x8}, {&(0x7f0000010400)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000500)=ANY=[@ANYBLOB="00da9bccad002100000000001f2b6fe2f96a3f6d2f93ca9700b41d32f92fce90e61dc18e8c44810000e4259e66934175a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcb45a1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1944ee4d82b1aa0b548e7393f3e00bc4cc5b3e3c8219821d391264cefcf708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000", @ANYBLOB="2c3c6b38358fdab0e79f4957df4c09df02d27e00e3cab70e060baf0ec49d79ac1a80b29ea3a09f80a661828cbb748b0c6ef69e6b456d1ae595bf9672e398ed6d52f31c2104e7ed052eb0e1804a7c30763f02acfb789d7f8cf36147e8bdf62a0a8138cd597564c39cbb66ebab9c73f21f538ba74456c42960bd50d38ad9d7dac4b1e58cb7b7c4dcb5c0eb035c1355b4bdd061a6100f9e44bef54b6a65bf9f38495a3105f2e637feb931322c2deed2e1385deb2d4bd7583835ce59f1e8391fec2fee683f56a0746e413c07ab8c1bfbb0f6c61be7f801dcd51d8db5531e7f68bbb9d4a11e0bf4baff07fbff1024a5781436cafb00739de6d44e0f93c98670ee6e6ac8590800c0a8007c669f2323e8fc024cd51940d0742b9faed4bf4b7e1ebe6624f0c8e3c7fa5cb5919bbf193099f5df71b7e045d520529ee1c1ff64857d2d3cd4362df3c413f9266a829917d0500400c53043de546bd23a303d1c1a6239535db5a57e7210183e4d5199e3387da8927c578463437cb1f68bff3712d3ffb48fd2ab139f15eba1ddb7649f7a5ba87a2a0997ec1402347d3da02160682dfe87a323cff9384d01cc718e"]) sendmsg(r2, &(0x7f0000000440)={&(0x7f0000000280)=@qipcrtr={0x2a, 0x0, 0x3fff}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000300)="c737f7d57175eaf5a2eeb5b8ef9712c64fa1c9d38b2db803d3ca5767c1ff80eb1075beb53a4cac5506ac02bdea17bff3f18fe1b4789a01e6a72cbcc4a52b66e13b0920f0398dbaffe1ff375d8a57e6d950d3621ebf37b4c20188c29e8896696f8c9a8c96c462f566dcebf18d5e0b8a15ab9363757ff4a2f19bef391fba0dc2e7d521bbf1d78bbc319706871e16d1179853d9d3706ed0c060ae22691b61287db19cf12a5d0b", 0xa5}, {&(0x7f0000000780)="837aad8f0bf51c1cab5144539c0e9d8c8dcdfd5ae6bb259ff1f33884f5060ecfb92e27b27a13edb1272055e15683e05a760cb048b4212840721cf646b79cbdb6028b56cdf47a4a45ac1dd83bf0fce94c930a4670773c452baa1f03426e0a1328d7daa30f70ac6d03d1e639ff3329a2b23c881ba54b1b374623328b1b3ef9d7b84d340aa01bca54a84957b226a5bc181063a0a71cf8fe0e5bfeec0ddfad1b58378d8ac9e095a51d6541b27bd19f423f1989826fbdc319c4e121662cb8b04a8252b9fb015d4525e36283a8a994", 0xcc}, {&(0x7f00000003c0)="fe48214aafe2339f603eb4addd027f5bbe3759c93cfd24177d88fb911a4ec432490af5d391bcb1aeebf67245adf67632123c70ff80dc73d77afb7a9192ab64fa0ad741d94904e2271d", 0x49}, {&(0x7f0000000880)="a87d8bbcf29923e068475370edb234814e293b539bbada56de705c13123878abe12cdba69608a51b1b57d24d19d0b7a7c76e32c713ec73081e9a42cb66e0c2ab6b1c399c451d6edeb82e8504fef8d65ce0756084d273a7e1c32404b35560800c387e6ccfa77539eb84663428b968cb3d1125c64589735c44f6e5ae721addda9a0430d36a7c28b56775a2d07a890b3d26598cf3b11fe305ce16002d4be59c3888ec478a38e1083e3b5f54d6e01483ea3ab8e5684e551d1062c25dc611f3d8425ee4e1fdc150ab4bde34c7a22691ef20682677046603eaf31e6e6864065287a8eccba709c3144941535de9a38bfebe599104e5aa39339bff0e881646", 0xfb}], 0x4, &(0x7f0000000980)=[{0x58, 0x18b, 0x131a, "f96caf87f567eb0be819b1ec3b55b972c07c43d584ea0bfb14b391c0ff4b8d9a031414b65e77b72415487ab9c62a131bc8c5745425f5f1305a52e6842f3e019a5a"}, {0xd0, 0x0, 0x3, "5fc646b326829fa68f749ad55e12f4ade37d4715c92938712ff41e38b6168b001a1ffe876e26dfb1e8fb25a80f8094649f1c89fa86153fc26e311cccd538bc16e93d746a23e4867a8b1c03460e0579b1bd219b8a27b17e8db26e5a4a8b6904a0f90d25f05267d633d5fd257efd001642d03cf38db4d4b41386c9470502798b0de7224d97b9ff1677ae84ad65ea11414f68fdf22e9c5d54aef9a9660dbe1c62c23e9f13f84178b16af4ef36875ea028faf9deb4b1aa1040bf8d87c341"}, {0x30, 0x111, 0x3f, "5d72ebd931b9df90e4fe78c5b8f29df01b4f7f649c8dc0178bcbd78c66e3"}], 0x158}, 0x40000c0) setsockopt$inet_tcp_TCP_CONGESTION(r4, 0x6, 0xd, &(0x7f0000000b40)='yeah\x00', 0x5) 23:46:38 executing program 0: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x1, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0x8912, 0x0) 23:46:38 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = socket$inet_smc(0x2b, 0x1, 0x0) r2 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=ANY=[@ANYBLOB="1806000000000000000000000000000018100000", @ANYRES32=r2, @ANYBLOB="000000000000ff010000000000000000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=@framed={{0x18, 0x6}, [@map_fd={0x18, 0x0, 0x1, 0x0, r3}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r4 = openat$damon_kdamond_pid(0xffffffffffffff9c, &(0x7f00000003c0), 0x400040, 0x14) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0xf, &(0x7f0000000100)=ANY=[@ANYBLOB="180000000700000000000000070000001861000007000000000000003f000000071a1000fcffffff326bfcfff0ffffff1800001403000000000000000900000018430000181400007d7a9630", @ANYRES32=r2, @ANYBLOB="0000000000000000186000000f00000000000000400000009500000000000000"], &(0x7f0000000300)='GPL\x00', 0x3, 0x0, 0x0, 0x40f00, 0xa, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000340)={0x0, 0x4}, 0x8, 0x10, &(0x7f0000000380)={0x2, 0x7, 0x20000000, 0x7fff}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000400)=[0xffffffffffffffff, r3, r4]}, 0x80) getsockopt$IPT_SO_GET_REVISION_MATCH(r1, 0x0, 0x42, &(0x7f00000001c0)={'HL\x00'}, &(0x7f00000002c0)=0x1e) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r5 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r6 = dup(r5) write$6lowpan_enable(r6, &(0x7f0000000000)='0', 0xfffffd2c) r7 = syz_io_uring_setup(0x570, &(0x7f00000001c0), &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f00000000c0)) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) sendmsg$nl_generic(0xffffffffffffffff, 0x0, 0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r8, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) io_uring_enter(r7, 0x2905, 0x0, 0x0, 0x0, 0x200000000000000) 23:46:38 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$VT_OPENQRY(r0, 0x4b48, &(0x7f0000000000)) 23:46:38 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x8000000000001, 0x0, 0x2, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, 0x0, 0x0) socket$packet(0x11, 0x0, 0x300) setsockopt$packet_tx_ring(0xffffffffffffffff, 0x107, 0xd, 0x0, 0x0) dup(0xffffffffffffffff) r0 = syz_io_uring_setup(0x3ede, &(0x7f00000000c0), &(0x7f0000002000/0x2000)=nil, &(0x7f0000005000/0x3000)=nil, &(0x7f0000000140)=0x0, &(0x7f0000000180)=0x0) r3 = syz_open_dev$vbi(&(0x7f0000000300), 0x2, 0x2) syz_io_uring_submit(r1, r2, &(0x7f0000000200)=@IORING_OP_READ=@pass_buffer={0x16, 0x0, 0x0, @fd=r3, 0x0, 0x0}, 0x0) sendmmsg(0xffffffffffffffff, &(0x7f0000002040)=[{{&(0x7f0000001380)=@nfc, 0x80, 0x0}}], 0x1, 0x0) socket(0x1, 0x2, 0x0) io_uring_enter(r0, 0x2ff, 0x7, 0x0, 0x0, 0x0) 23:46:38 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$VT_OPENQRY(r0, 0x4b48, &(0x7f0000000000)) 23:46:38 executing program 0: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt(r0, 0x84, 0x81, &(0x7f00000002c0)="1a00000002000000", 0x8) getsockopt$inet_sctp6_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x18, &(0x7f0000000180), &(0x7f0000000040)=0x8) 23:46:39 executing program 2: syz_mount_image$msdos(&(0x7f00000000c0), 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/partitions\x00', 0x0, 0x0) r1 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) sendfile(r1, r0, &(0x7f0000002080)=0x60, 0x870) 23:46:39 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x11, 0x8, &(0x7f00000018c0)=ANY=[@ANYBLOB="620af8ff0c200021bfa100000000000007010000f8ffffffb702000003000000bd120000000000008500000006000000b70000000000000095000000000000003faf4f2aa3d9b18ed812a2e285f53c185dc147a6eace8eac9a007acec49e8020a6f4e0e4a9446c7670568982b4e020f698393aa0f3881f9c24aa56f15199fad0093c59d66b5ece9f36c70d0f13905ea23c22624c9f87f9793f50bb546040677b0c5077da80fb982c1e9400e693146cea484a415b76966118b64f751a0f241b072e90080008002d75593a286cecc93e64c227c95aa0b784625704f07a72c234664c0af9360a1f7a5e6b607130c89f18c0c1089d8b853289d01aa27ae8b09e00e79ab20b0b8e1148f49faf2ad0000000000000006fa03c6468972089b302d7bf6023cdcedb5e0125ebbc08dee510cb2364149215108333719acd97cfa107d40224edc5465a932b77e74e802a0d42bc6099ad2300000080006ef6c1ff0900000000000010c63a949e8b7955394ffa82b8fc42c89112f4ab87b1bfeda7be586602d985430cea0162ab3fcf4591c926abfb076719237c8d0e60b0eea24492a660583eecdbf5bcd3de3a83209da17a0f8a1ae6dc64ea97c0af60fd6ad9b97aa5fa68480366c9c6fd6fa5043aa3926b81e3b59c95c25a573dc2edcaea2b1a52496dfcaf99431412fd134a996382a1a04d5bb924cfe5f3185418d645ffff9c4d2ec7c32f2095e63c80aff9fa740b5b7632f32030916f89c6dad7603f2ba2a790d62d6faec2fed44da4928b30142ba11de6c5d50b83bae613402216b5054d1e7c13b1355d6f4a8245ffa4997da9c77af4c0eb97fca585ec6bf58351d564beb6d952aab9c70764b0a8a7583c90b3433b809bdb9fbd48bc873495cbff8a326eea31ae4e0f7505ebf6c9d13330ca006bce1a84521f14518c9b476fccbd6c712016219848624b87cec2dbe98223a0eb4fa39f6b5c02e6d6d90756ff57902a8f57000000009700cf0b4b8bc2294133000000000000000000030000000000000000000000000010008bc0d9559711e6e8861c46495ba585a4b2d02edc3e28dd271c896249ed85b980680b00002b435ac15f7b87b0131394e9f620034bc0288d9b2a169cdcacc413b48dafb7a2c8cb482bac0ac502d9ba96ffffff7f0000100000000000007d5ad897ef3b7cda42013d53046da21b40216e14ba2d6ad5656bfff17addaedab25b30002abbba7fa725f38400be7c1f001b2cd317902f19e385be9e48dccff729433282830689da6b53b263339863297771429d120000003341bf4abacac95900fca0493cf29b33dcc9ffffffffffffffd39fec2271ff01589646efd1cf870cd7bb2366fde41f94290c2a5ff870cefd3467decb05cfd9fcb32c8ed1dbd9d10a64c1083d5e71b5565b1768ee58969c41595229df17bcad70fb400100010000000000b78100788f11f761038b75d4fe32b561d46ea3abe0fa4d30dc94ef241875f3b4ce0232fcea69c271d7fa29822aea68a660e717a04becff0f719197724f4fce1093b62d7e8c7123d8ec571be54c72d978cf906df0042e36acd37d7f9e119f2c06f815312e0cfe222a06f56dd022c074eb8a322fb0bf47c0a8d154b405c37feadf8be58770a267eeb0bb997316dbf17866fb84d4173731efe895ff2e1c5560926e90109b598502d3e959efc71f665c4d75cf2458e3542c9062ece84c99a061887a20639b41c8c12ee86c50804042b3eac1f879b136345cf67ca3fb5aac518a75f9e7d7101d5e186c489b3a06fb99e0aa7f23a054de2f4d92d6bd72ee2c9fdc75aaaf1e3e483b4ad05573af40326993947d9a631bcbf3583784acbda216550d7aec6b79e30cbd128f54c2d3335457acf37331766e472391e358c3b377327ac9ecc34f24c9ae153ec60ac0694dc55bff9f5f4df90400000000000000d6b2c5ea1393fdf24285bf16b99c9cc0ad1857216f1a985f369191ae954febb3df464bfe0f7f3ee9afe7befb89d2777399f5874c553aeb3729cffe86e66964ae09bb6d163118e4cbe024fd4500f8ff0700000000cc9d8046c216c1f895778cb25122a2a998de44aeadea2a40da8daccf080842a486721737390cbf3a74cbbf66f5c51514216bdf57d2a40d40b51ab63e96ec8485b3b8a8c9ae3d14f93100c2e0893862eef552fcde2981f48c482bde8a168c3f5db2fea6f26e4a4304e50c349f4f9ecee27defc93871c5f99b355b72d538ba4958ea8e4aa37094191e10096e7e60fc3541a2c905a1a95e9571bf38ae1981c4238ecaee6f75cd0a6881bd1517a8250df98674152f94e32409e2a3bce109b60000000000000000d6d5210d7560eb92d6a97a27602b81f76386f1535bef1497f92186086e29c6bc5a1fad6ec9a31137abf9a404abde7750898b1bd627e87306703be8672d70d1ab57075228a9f46ed9bd1f08fb8191bbab2dc51de3a61f0868afc4294859323e7a45319f18101288d139bd3da20fed05a8fe64680b0a3fc22dd704e4214de5946912d6c98cd1a9fbe1e7d58c08acaf30235b918a31d2eca55f74a23641f61f2d5b308cf0d031b0c7f0ced69993e9960ff5f76015e6009756237badf4e7965bbe2777e808fcba821aa8e8c5c39609ff854356cb4900000000000000000000000000c1fee30a3f7a85d1b29e58c77685efc0ceb1c8e5729c66418d169fc03aa188546b3ad2a182068e1e3a0e2505bc7f41019645466ac96e0d4b3bc19faa5449209b083dbd334b47f067bbab40745f00428f1da1f68df75cf43f8ecc8d3726602111b40e761fd21081920382f14d12e83c3431ee97471c7868dcda7eaa69eb7f7f80572fdd11bb1d0d1280fbc22bf73468788df51710d7d31c632fc5ed1762eb0b428ee751c47d8e894f745a868404a0bf35f0121008b722b1eaa6aedfa1bf2e7ccb2d61d5d76331945e20fa26b8471d42645288d7226bbd9c9e9e1cc9eb3d541e407cc2dae5e690cd628ab84875f2c50ba891cea599b079b4b4ba686fcdf240430a537a395dc73bda367bf12cb7d81691a5fe8c47be395656a297e9df0e71f96756ea5cce7daac4be290159f6bcd75f0dda9de5532e71ae9e48b0ed1254a83100000000f6fbb869604d51a36a54c832e45b2569dc0d90b075225fde44c4e0973171ad47d6b70ebc660309e1e245b0fdf9743af932cd6db49a47613808bad959719c0000000000378a921c7f7f6933c2e24c7e800003c9e8095e02985f28e678f66422436f949e2a2f1f54e0e3f855e378f4a1f40b0c6fb2d4b205a800b6d713acebc5b014e61a543a5a194f9ac18d76b5440e3b1a569e7397f6cafa86966d7ba19e720413267a6ccea9c439671d2c680f2753ca184eeeb843450368acb4383a01d25eb3d1e23e0f2645d1cdfa9fa410632f95a5f622f851c66ee7e30393cd7a4d67ff2a49c4f93c0984b5c2d4523497e4d64f95f08493564a1df87111c9bf3194fef97dcecc467ace45feeb685c5870d05f88a0f463db88d377442e1349acaf766218b54a9d624778e1c4cba6e6390a9f302c6eb2df7766411bef0ebb00279562545e503a4db0fe92781747453ac5c7f3eddd04f0536a06d08e82a697532a029cb7648dc3da88e60b408a9d3af7da99cc689c41de02c04f8f52150daf5e329addbff2c7aabbec08c681d2a836caf7d13b6de216661428281e3f2f93f7fda3a9949a3578aeb3bd7f0ba0"], &(0x7f0000000100)='GPL\x00'}, 0x48) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000002c0)={&(0x7f0000000140)='kmem_cache_free\x00', r0}, 0x10) r1 = creat(&(0x7f0000000200)='./bus\x00', 0x0) fcntl$lock(r1, 0x26, &(0x7f0000000180)={0x1}) fcntl$lock(r1, 0x25, &(0x7f0000000080)={0x2, 0x0, 0x0, 0x1}) 23:46:39 executing program 1: r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) r1 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r2) ioctl$VT_OPENQRY(r0, 0x4b48, &(0x7f0000000000)) 23:46:39 executing program 0: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt(r0, 0x84, 0x81, &(0x7f00000002c0)="1a00000002000000", 0x8) getsockopt$inet_sctp6_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x18, &(0x7f0000000180), &(0x7f0000000040)=0x8) 23:46:39 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt(r0, 0x84, 0x81, &(0x7f00000002c0)="1a00000002000000", 0x8) getsockopt$inet_sctp6_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x18, &(0x7f0000000180), &(0x7f0000000040)=0x8) [ 1518.216149][T22497] syz-executor.2 (22497): drop_caches: 2 [ 1518.327948][T22524] loop4: detected capacity change from 0 to 264192 [ 1518.344808][T22524] EXT4-fs (loop4): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! [ 1518.355407][T22524] EXT4-fs (loop4): group descriptors corrupted! 23:46:40 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000080)=0x7) r0 = getpid() getpid() sched_setaffinity(0x0, 0x8, &(0x7f0000000240)=0x2) sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r3 = getpid() sched_setscheduler(r3, 0x0, &(0x7f0000000200)) r4 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r4, &(0x7f00000000c0)={0x2, 0x4e20, @empty}, 0x10) sendto$inet(r4, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) recvfrom(r4, &(0x7f0000000480)=""/110, 0xfffffe32, 0x700, 0x0, 0xfffffffffffffecb) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file1\x00', 0x40000, 0x8, &(0x7f0000001f80)=[{&(0x7f0000010000)="20000000000100000c000000ce0000000f00000001000000000000000000000000200000f21f000020000000d2f4655fd2f4655f0100ffff53ef0100010000", 0x3f, 0x400}, {&(0x7f0000010200)="0100000000000500", 0x8}, {&(0x7f0000010400)}, {0x0, 0x0, 0xbff}, {0x0}, {0x0, 0x0, 0x2}, {0x0}, {0x0, 0x0, 0x80000000000000}], 0x0, &(0x7f0000000500)=ANY=[@ANYBLOB="00da9bccad002100000000001f2b6fe2f96a3f6d2f93ca9700b41d32f92fce90e61dc18e8c44810000e4259e66934175a7e35b9cc4c0e894a793926020f83dc4da84d3c69b0200000067c4eb317d9510c86b996c4c95074763bcb45a1b27d72d69e41d5490584127f1be46d68441f24cc08bc114b8640a1c284a042bad52ed8715cb1335cc80259162dda27f90d1944ee4d82b1aa0b548e7393f3e00bc4cc5b3e3c8219821d391264cefcf708eaeebb789e308a53a50e9c16d7ad1c27b4952e4dc878a3cf617e0558e6a4835afa1ac000000", @ANYBLOB="2c3c6b38358fdab0e79f4957df4c09df02d27e00e3cab70e060baf0ec49d79ac1a80b29ea3a09f80a661828cbb748b0c6ef69e6b456d1ae595bf9672e398ed6d52f31c2104e7ed052eb0e1804a7c30763f02acfb789d7f8cf36147e8bdf62a0a8138cd597564c39cbb66ebab9c73f21f538ba74456c42960bd50d38ad9d7dac4b1e58cb7b7c4dcb5c0eb035c1355b4bdd061a6100f9e44bef54b6a65bf9f38495a3105f2e637feb931322c2deed2e1385deb2d4bd7583835ce59f1e8391fec2fee683f56a0746e413c07ab8c1bfbb0f6c61be7f801dcd51d8db5531e7f68bbb9d4a11e0bf4baff07fbff1024a5781436cafb00739de6d44e0f93c98670ee6e6ac8590800c0a8007c669f2323e8fc024cd51940d0742b9faed4bf4b7e1ebe6624f0c8e3c7fa5cb5919bbf193099f5df71b7e045d520529ee1c1ff64857d2d3cd4362df3c413f9266a829917d0500400c53043de546bd23a303d1c1a6239535db5a57e7210183e4d5199e3387da8927c578463437cb1f68bff3712d3ffb48fd2ab139f15eba1ddb7649f7a5ba87a2a0997ec1402347d3da02160682dfe87a323cff9384d01cc718e"]) sendmsg(r2, &(0x7f0000000440)={&(0x7f0000000280)=@qipcrtr={0x2a, 0x0, 0x3fff}, 0x80, &(0x7f0000000040)=[{&(0x7f0000000300)="c737f7d57175eaf5a2eeb5b8ef9712c64fa1c9d38b2db803d3ca5767c1ff80eb1075beb53a4cac5506ac02bdea17bff3f18fe1b4789a01e6a72cbcc4a52b66e13b0920f0398dbaffe1ff375d8a57e6d950d3621ebf37b4c20188c29e8896696f8c9a8c96c462f566dcebf18d5e0b8a15ab9363757ff4a2f19bef391fba0dc2e7d521bbf1d78bbc319706871e16d1179853d9d3706ed0c060ae22691b61287db19cf12a5d0b", 0xa5}, {&(0x7f0000000780)="837aad8f0bf51c1cab5144539c0e9d8c8dcdfd5ae6bb259ff1f33884f5060ecfb92e27b27a13edb1272055e15683e05a760cb048b4212840721cf646b79cbdb6028b56cdf47a4a45ac1dd83bf0fce94c930a4670773c452baa1f03426e0a1328d7daa30f70ac6d03d1e639ff3329a2b23c881ba54b1b374623328b1b3ef9d7b84d340aa01bca54a84957b226a5bc181063a0a71cf8fe0e5bfeec0ddfad1b58378d8ac9e095a51d6541b27bd19f423f1989826fbdc319c4e121662cb8b04a8252b9fb015d4525e36283a8a994", 0xcc}, {&(0x7f00000003c0)="fe48214aafe2339f603eb4addd027f5bbe3759c93cfd24177d88fb911a4ec432490af5d391bcb1aeebf67245adf67632123c70ff80dc73d77afb7a9192ab64fa0ad741d94904e2271d", 0x49}, {&(0x7f0000000880)="a87d8bbcf29923e068475370edb234814e293b539bbada56de705c13123878abe12cdba69608a51b1b57d24d19d0b7a7c76e32c713ec73081e9a42cb66e0c2ab6b1c399c451d6edeb82e8504fef8d65ce0756084d273a7e1c32404b35560800c387e6ccfa77539eb84663428b968cb3d1125c64589735c44f6e5ae721addda9a0430d36a7c28b56775a2d07a890b3d26598cf3b11fe305ce16002d4be59c3888ec478a38e1083e3b5f54d6e01483ea3ab8e5684e551d1062c25dc611f3d8425ee4e1fdc150ab4bde34c7a22691ef20682677046603eaf31e6e6864065287a8eccba709c3144941535de9a38bfebe599104e5aa39339bff0e881646", 0xfb}], 0x4, &(0x7f0000000980)=[{0x58, 0x18b, 0x131a, "f96caf87f567eb0be819b1ec3b55b972c07c43d584ea0bfb14b391c0ff4b8d9a031414b65e77b72415487ab9c62a131bc8c5745425f5f1305a52e6842f3e019a5a"}, {0xd0, 0x0, 0x3, "5fc646b326829fa68f749ad55e12f4ade37d4715c92938712ff41e38b6168b001a1ffe876e26dfb1e8fb25a80f8094649f1c89fa86153fc26e311cccd538bc16e93d746a23e4867a8b1c03460e0579b1bd219b8a27b17e8db26e5a4a8b6904a0f90d25f05267d633d5fd257efd001642d03cf38db4d4b41386c9470502798b0de7224d97b9ff1677ae84ad65ea11414f68fdf22e9c5d54aef9a9660dbe1c62c23e9f13f84178b16af4ef36875ea028faf9deb4b1aa1040bf8d87c341"}, {0x30, 0x111, 0x3f, "5d72ebd931b9df90e4fe78c5b8f29df01b4f7f649c8dc0178bcbd78c66e3"}], 0x158}, 0x40000c0) setsockopt$inet_tcp_TCP_CONGESTION(r4, 0x6, 0xd, &(0x7f0000000b40)='yeah\x00', 0x5) 23:46:40 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt(r0, 0x84, 0x81, &(0x7f00000002c0)="1a00000002000000", 0x8) getsockopt$inet_sctp6_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x18, &(0x7f0000000180), &(0x7f0000000040)=0x8) 23:46:40 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={0x0, 0x14}, 0x1, 0x0, 0x1400}, 0x0) 23:46:40 executing program 0: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt(r0, 0x84, 0x81, &(0x7f00000002c0)="1a00000002000000", 0x8) getsockopt$inet_sctp6_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x18, &(0x7f0000000180), &(0x7f0000000040)=0x8) 23:46:40 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = socket$inet_smc(0x2b, 0x1, 0x0) r2 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=ANY=[@ANYBLOB="1806000000000000000000000000000018100000", @ANYRES32=r2, @ANYBLOB="000000000000ff010000000000000000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=@framed={{0x18, 0x6}, [@map_fd={0x18, 0x0, 0x1, 0x0, r3}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r4 = openat$damon_kdamond_pid(0xffffffffffffff9c, &(0x7f00000003c0), 0x400040, 0x14) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0xf, &(0x7f0000000100)=ANY=[@ANYBLOB="180000000700000000000000070000001861000007000000000000003f000000071a1000fcffffff326bfcfff0ffffff1800001403000000000000000900000018430000181400007d7a9630", @ANYRES32=r2, @ANYBLOB="0000000000000000186000000f00000000000000400000009500000000000000"], &(0x7f0000000300)='GPL\x00', 0x3, 0x0, 0x0, 0x40f00, 0xa, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000340)={0x0, 0x4}, 0x8, 0x10, &(0x7f0000000380)={0x2, 0x7, 0x20000000, 0x7fff}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000400)=[0xffffffffffffffff, r3, r4]}, 0x80) getsockopt$IPT_SO_GET_REVISION_MATCH(r1, 0x0, 0x42, &(0x7f00000001c0)={'HL\x00'}, &(0x7f00000002c0)=0x1e) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r5 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r6 = dup(r5) write$6lowpan_enable(r6, &(0x7f0000000000)='0', 0xfffffd2c) r7 = syz_io_uring_setup(0x570, &(0x7f00000001c0), &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f00000000c0)) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) sendmsg$nl_generic(0xffffffffffffffff, 0x0, 0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r8, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) io_uring_enter(r7, 0x2905, 0x0, 0x0, 0x0, 0x200000000000000) 23:46:40 executing program 0: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt(r0, 0x84, 0x81, &(0x7f00000002c0)="1a00000002000000", 0x8) getsockopt$inet_sctp6_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x18, &(0x7f0000000180), &(0x7f0000000040)=0x8) 23:46:40 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000002c0)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x4, 0x91, &(0x7f0000000000)=""/145, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f0000000340)='kfree\x00', r0}, 0x10) r1 = syz_open_dev$usbfs(&(0x7f0000003f00), 0x1ff, 0xac06) ioctl$USBDEVFS_REAPURB(r1, 0x4008550c, 0x0) ioctl$USBDEVFS_SUBMITURB(r1, 0x8038550a, &(0x7f00000000c0)=@urb_type_control={0x2, {}, 0x0, 0x0, &(0x7f0000000000), 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) [ 1520.350838][T22559] loop4: detected capacity change from 0 to 264192 23:46:42 executing program 2: syz_mount_image$msdos(&(0x7f00000000c0), 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/partitions\x00', 0x0, 0x0) r1 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) sendfile(r1, r0, &(0x7f0000002080)=0x60, 0x870) 23:46:42 executing program 1: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt(r0, 0x84, 0x81, &(0x7f00000002c0)="1a00000002000000", 0x8) getsockopt$inet_sctp6_SCTP_LOCAL_AUTH_CHUNKS(r0, 0x84, 0x18, &(0x7f0000000180), &(0x7f0000000040)=0x8) 23:46:42 executing program 0: r0 = socket(0x10, 0x803, 0x0) sendto(r0, &(0x7f0000cfefee)="120000001200e7ef000000000000000000a1", 0x12, 0x0, 0x0, 0x0) recvmmsg(r0, &(0x7f00000037c0)=[{{&(0x7f00000004c0)=@ethernet={0x0, @random}, 0x374, &(0x7f0000000380)=[{&(0x7f0000000040)=""/95, 0x138}, {&(0x7f0000000140)=""/85, 0x9c}, {&(0x7f0000000fc0)=""/4093, 0x29b}, {&(0x7f0000000400)=""/106, 0x6}, {&(0x7f0000000740)=""/73, 0x3b3}, {&(0x7f0000000200)=""/77, 0x2db}, {&(0x7f00000007c0)=""/154, 0x40d}, {&(0x7f0000000000)=""/22, 0x9c0}], 0xc4, &(0x7f0000000280)=""/191, 0x41, 0x40000000}}], 0x400000000000194, 0x0, &(0x7f0000003700)={0x77359400}) 23:46:42 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f00000002c0)={0x14}, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000980)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) [ 1520.582412][T22538] syz-executor.2 (22538): drop_caches: 2 [ 1520.593733][T22559] EXT4-fs (loop4): ext4_check_descriptors: Block bitmap for group 0 not in group (block 0)! 23:46:42 executing program 1: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=ANY=[@ANYBLOB="180000000000000000000000ecffffff95"], &(0x7f00000000c0)='syzkaller\x00', 0x4, 0x91, &(0x7f0000000000)=""/145, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f0000000340)='kfree\x00', r0}, 0x10) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080), 0xffffffffffffffff) sendmsg$NL80211_CMD_GET_SURVEY(r1, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000004c0)={0x20, r2, 0x301, 0x0, 0x0, {{}, {@void, @val={0xc}}}}, 0x20}}, 0x0) [ 1520.671568][T22559] EXT4-fs (loop4): group descriptors corrupted! [ 1520.711568][T22565] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. [ 1521.043964][T22568] syz-executor.2 (22568): drop_caches: 2 23:46:42 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = socket$inet_smc(0x2b, 0x1, 0x0) r2 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=ANY=[@ANYBLOB="1806000000000000000000000000000018100000", @ANYRES32=r2, @ANYBLOB="000000000000ff010000000000000000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=@framed={{0x18, 0x6}, [@map_fd={0x18, 0x0, 0x1, 0x0, r3}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r4 = openat$damon_kdamond_pid(0xffffffffffffff9c, &(0x7f00000003c0), 0x400040, 0x14) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0xf, &(0x7f0000000100)=ANY=[@ANYBLOB="180000000700000000000000070000001861000007000000000000003f000000071a1000fcffffff326bfcfff0ffffff1800001403000000000000000900000018430000181400007d7a9630", @ANYRES32=r2, @ANYBLOB="0000000000000000186000000f00000000000000400000009500000000000000"], &(0x7f0000000300)='GPL\x00', 0x3, 0x0, 0x0, 0x40f00, 0xa, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000340)={0x0, 0x4}, 0x8, 0x10, &(0x7f0000000380)={0x2, 0x7, 0x20000000, 0x7fff}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000400)=[0xffffffffffffffff, r3, r4]}, 0x80) getsockopt$IPT_SO_GET_REVISION_MATCH(r1, 0x0, 0x42, &(0x7f00000001c0)={'HL\x00'}, &(0x7f00000002c0)=0x1e) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r5 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r6 = dup(r5) write$6lowpan_enable(r6, &(0x7f0000000000)='0', 0xfffffd2c) r7 = syz_io_uring_setup(0x570, &(0x7f00000001c0), &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f00000000c0)) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) sendmsg$nl_generic(0xffffffffffffffff, 0x0, 0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r8, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) io_uring_enter(r7, 0x2905, 0x0, 0x0, 0x0, 0x200000000000000) 23:46:42 executing program 0: r0 = socket(0x10, 0x803, 0x0) sendto(r0, &(0x7f0000cfefee)="120000001200e7ef000000000000000000a1", 0x12, 0x0, 0x0, 0x0) recvmmsg(r0, &(0x7f00000037c0)=[{{&(0x7f00000004c0)=@ethernet={0x0, @random}, 0x374, &(0x7f0000000380)=[{&(0x7f0000000040)=""/95, 0x138}, {&(0x7f0000000140)=""/85, 0x9c}, {&(0x7f0000000fc0)=""/4093, 0x29b}, {&(0x7f0000000400)=""/106, 0x6}, {&(0x7f0000000740)=""/73, 0x3b3}, {&(0x7f0000000200)=""/77, 0x2db}, {&(0x7f00000007c0)=""/154, 0x40d}, {&(0x7f0000000000)=""/22, 0x9c0}], 0xc4, &(0x7f0000000280)=""/191, 0x41, 0x40000000}}], 0x400000000000194, 0x0, &(0x7f0000003700)={0x77359400}) 23:46:42 executing program 1: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000002a00)={&(0x7f00000027c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x14, 0x14, 0x2, [@func_proto={0x0, 0x1, 0x0, 0xd, 0x0, [{}]}]}}, &(0x7f0000002940)=""/148, 0x2e, 0x94, 0x1}, 0x20) 23:46:42 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f00000002c0)={0x14}, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000980)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) 23:46:42 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f00000002c0)={0x14}, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000980)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) 23:46:42 executing program 1: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000002140)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) [ 1521.245248][T22577] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. 23:46:43 executing program 1: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000002140)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) [ 1521.409109][T22586] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.4'. [ 1521.510077][T22568] syz-executor.2 (22568): drop_caches: 2 23:46:43 executing program 2: syz_mount_image$msdos(&(0x7f00000000c0), 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/partitions\x00', 0x0, 0x0) r1 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000040)='/proc/sys/vm/drop_caches\x00', 0x1, 0x0) sendfile(r1, r0, &(0x7f0000002080)=0x60, 0x870) 23:46:43 executing program 1: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000002140)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) 23:46:43 executing program 0: r0 = socket(0x10, 0x803, 0x0) sendto(r0, &(0x7f0000cfefee)="120000001200e7ef000000000000000000a1", 0x12, 0x0, 0x0, 0x0) recvmmsg(r0, &(0x7f00000037c0)=[{{&(0x7f00000004c0)=@ethernet={0x0, @random}, 0x374, &(0x7f0000000380)=[{&(0x7f0000000040)=""/95, 0x138}, {&(0x7f0000000140)=""/85, 0x9c}, {&(0x7f0000000fc0)=""/4093, 0x29b}, {&(0x7f0000000400)=""/106, 0x6}, {&(0x7f0000000740)=""/73, 0x3b3}, {&(0x7f0000000200)=""/77, 0x2db}, {&(0x7f00000007c0)=""/154, 0x40d}, {&(0x7f0000000000)=""/22, 0x9c0}], 0xc4, &(0x7f0000000280)=""/191, 0x41, 0x40000000}}], 0x400000000000194, 0x0, &(0x7f0000003700)={0x77359400}) 23:46:43 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f00000002c0)={0x14}, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000980)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) 23:46:43 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f00000002c0)={0x14}, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000980)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) [ 1521.713279][T22601] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. [ 1521.834147][T22604] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.4'. [ 1521.866593][T22609] syz-executor.2 (22609): drop_caches: 2 [ 1521.887321][T22609] syz-executor.2 (22609): drop_caches: 2 23:46:43 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000180)=@framed, &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r0}, 0x10) r1 = socket$inet_smc(0x2b, 0x1, 0x0) r2 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=ANY=[@ANYBLOB="1806000000000000000000000000000018100000", @ANYRES32=r2, @ANYBLOB="000000000000ff010000000000000000"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r3 = bpf$MAP_CREATE(0x0, &(0x7f0000000940)=@base={0x5, 0x9, 0x400, 0x7}, 0x48) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x5, 0x5, &(0x7f0000000140)=@framed={{0x18, 0x6}, [@map_fd={0x18, 0x0, 0x1, 0x0, r3}]}, &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r4 = openat$damon_kdamond_pid(0xffffffffffffff9c, &(0x7f00000003c0), 0x400040, 0x14) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000440)={0x18, 0xf, &(0x7f0000000100)=ANY=[@ANYBLOB="180000000700000000000000070000001861000007000000000000003f000000071a1000fcffffff326bfcfff0ffffff1800001403000000000000000900000018430000181400007d7a9630", @ANYRES32=r2, @ANYBLOB="0000000000000000186000000f00000000000000400000009500000000000000"], &(0x7f0000000300)='GPL\x00', 0x3, 0x0, 0x0, 0x40f00, 0xa, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000340)={0x0, 0x4}, 0x8, 0x10, &(0x7f0000000380)={0x2, 0x7, 0x20000000, 0x7fff}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000400)=[0xffffffffffffffff, r3, r4]}, 0x80) getsockopt$IPT_SO_GET_REVISION_MATCH(r1, 0x0, 0x42, &(0x7f00000001c0)={'HL\x00'}, &(0x7f00000002c0)=0x1e) prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r5 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r6 = dup(r5) write$6lowpan_enable(r6, &(0x7f0000000000)='0', 0xfffffd2c) r7 = syz_io_uring_setup(0x570, &(0x7f00000001c0), &(0x7f0000ffb000/0x4000)=nil, &(0x7f0000ffc000/0x1000)=nil, &(0x7f0000000180)=0x0, &(0x7f00000000c0)) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) sendmsg$nl_generic(0xffffffffffffffff, 0x0, 0x0) syz_memcpy_off$IO_URING_METADATA_GENERIC(r8, 0x40, &(0x7f0000000140)=0x307e, 0x0, 0x4) io_uring_enter(r7, 0x2905, 0x0, 0x0, 0x0, 0x200000000000000) 23:46:43 executing program 1: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000002140)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000002300)={0x2020}, 0x2020) 23:46:43 executing program 0: r0 = socket(0x10, 0x803, 0x0) sendto(r0, &(0x7f0000cfefee)="120000001200e7ef000000000000000000a1", 0x12, 0x0, 0x0, 0x0) recvmmsg(r0, &(0x7f00000037c0)=[{{&(0x7f00000004c0)=@ethernet={0x0, @random}, 0x374, &(0x7f0000000380)=[{&(0x7f0000000040)=""/95, 0x138}, {&(0x7f0000000140)=""/85, 0x9c}, {&(0x7f0000000fc0)=""/4093, 0x29b}, {&(0x7f0000000400)=""/106, 0x6}, {&(0x7f0000000740)=""/73, 0x3b3}, {&(0x7f0000000200)=""/77, 0x2db}, {&(0x7f00000007c0)=""/154, 0x40d}, {&(0x7f0000000000)=""/22, 0x9c0}], 0xc4, &(0x7f0000000280)=""/191, 0x41, 0x40000000}}], 0x400000000000194, 0x0, &(0x7f0000003700)={0x77359400}) 23:46:43 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x44, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_FLOWTABLE_HOOK={0x18, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}, @NFTA_FLOWTABLE_HOOK_DEVS={0x4}]}]}, @NFT_MSG_DELFLOWTABLE={0x2c, 0x18, 0xa, 0x5, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_HANDLE={0xc}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xb8}}, 0x0) 23:46:43 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f00000002c0)={0x14}, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000980)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) 23:46:43 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r3, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f00000002c0)={0x14}, 0x14}}, 0x0) getsockname$packet(r3, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="480000001000050700"/20, @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x2c, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_atm={0x8}]}, 0x2c}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000980)=@delchain={0x24, 0x28, 0xd39, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {0x0, 0xffff}}}, 0x24}}, 0x0) 23:46:43 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x44, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_FLOWTABLE_HOOK={0x18, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}, @NFTA_FLOWTABLE_HOOK_DEVS={0x4}]}]}, @NFT_MSG_DELFLOWTABLE={0x2c, 0x18, 0xa, 0x5, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_HANDLE={0xc}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xb8}}, 0x0) 23:46:43 executing program 1: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000000000000000ed000095"], &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r1}, 0x10) ioctl$RTC_UIE_ON(r0, 0x7003) ioctl$RTC_SET_TIME(r0, 0x7002, &(0x7f0000000040)={0x0, 0x0, 0x0, 0xb, 0x0, 0x3c6b}) [ 1522.199230][T22621] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.5'. 23:46:43 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x44, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_FLOWTABLE_HOOK={0x18, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}, @NFTA_FLOWTABLE_HOOK_DEVS={0x4}]}]}, @NFT_MSG_DELFLOWTABLE={0x2c, 0x18, 0xa, 0x5, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_HANDLE={0xc}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xb8}}, 0x0) 23:46:43 executing program 1: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000000000000000ed000095"], &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r1}, 0x10) ioctl$RTC_UIE_ON(r0, 0x7003) ioctl$RTC_SET_TIME(r0, 0x7002, &(0x7f0000000040)={0x0, 0x0, 0x0, 0xb, 0x0, 0x3c6b}) [ 1522.277330][T22620] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.4'. 23:46:43 executing program 0: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000000000000000ed000095"], &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r1}, 0x10) ioctl$RTC_UIE_ON(r0, 0x7003) ioctl$RTC_SET_TIME(r0, 0x7002, &(0x7f0000000040)={0x0, 0x0, 0x0, 0xb, 0x0, 0x3c6b}) 23:46:44 executing program 5: r0 = syz_open_dev$tty20(0xc, 0x4, 0x1) writev(r0, &(0x7f0000002340)=[{&(0x7f0000000200)="125b5689afd16f0eb49b741b5599a2f4a8918e4ac110761ce67f722851857eee539dc833b8652fb968267f661c3fcd3631cf9c0acc1118be96955e5dd31738ece280850a0bdb9025dc9cc45a48f99acc97424b554815d58d3047532947354b49492f64934d84d841bb3a2e491edd0fcde59b5cf46821d515d88ea6377154b6da6af4271deb89b1f566efa3797bede791623ff13dc05ccc33ee7ad991ee13bbaa47330191662abaf7d6b00e1ceefdd42fd21ba5cb8e17a2e55a5fb3fadb27c036082c34a904e6bfa9fbd9f2cd91a2ee86175e9c547ee8c7ebf00e1d497928760f62d7bea6b2ec7911f591539d9705b9c15e0ba96dfa8864e4471376ed2fd15b05d421877e9b02063fe99a3a46e477506395d55b152234a5e308fd8ad8dbed04e4944effd3e712f8cd64b7df469de6bcd1ec445e6c662996bbc1469da9378a8f72c3a941722cd8e602c4d07b18efe34ba7cfc4c3ac2560bcadcbf502a1630e6e39645ed06efdbd1ed1fa4555d5e2e86d2c63953d5507eefc7829df5cef0ecb9a6323a013ce1e9ccca892ce1de00e9228a422daff26f7776384418d3cc08956d264f058edb9933128d678d6494ec1d54d13dac46a6f4dffbbf0f601a88c83aeb32907c6495fa4d63547b85f577b06d62f7e4745ae8517a661bdebde4ea6924d458879b67286a6589625819a5205664e5530ff4478e66905c7121a14aec2fe6485ccbbea7f4516e601d792f2f2ff16f5449a9d20c08bcb5371e9077a61e107d2499a1313c0a158845be3bc23a0b9b175d8c365d14cba68aa6a7d1e01f4df1afe04792562c5813b09a633749c44a7f96df645fd6c1c8aa1e8c7ef4bf801c3d42e365e03264e737e956e71484010573a050317caf3a9917e73d905516c6da75b60d7c1ca2bc9f6ba36a7659ea945792fdb02cb32c0aae0e0375a633df12cf0f8477f0a24a8e40b01889d3f2105e885ba232369a73bae36ce69bf581dccff91830c1e96423e58b8f42641772b244ac66a937b98c463bbb18079ec0dd65f96c8cfbdb09a726e63990ec99cc8ac8e58ca9379dfa7c76bf432e2728c849f5a2c401922f99c6401d6df1024fc9dc328319dbfd29457e760b50e5cb9cb5c3745edce26d72c4dc6d2cac4718afc6cc3f948f383f65961f8b0673e8a20704cf1da6c1ae127843b9b2478ffa6e2bb5f0e729f8ce4d4c06284cecfc00a9fedee47eb8a74785473cb6784eab88da827b18a863ee63a2591cb345e3c70a72378766ed218ec443fea9766c9c690a376403ebc30b30b8e1732c40528972f1f51f269ab3b527c03be4dc6747332d6b8c6391e33b9091bd443ef4ecee8540a6bbe35683523a64b93295c87c877aaabf3ed3bba9e73a1e27af139812c80945fa6f09e6b568814589204f69f39d832d94d4d227fdcf33fa55bf761d27472945a10724ddd55e94fe12066ddcf00b52488640b48055ae9a9ed156635d461ce7124decc15f39e6bb5b54b73fc9b1e30bf59e4910184bb8ec0f3a4565573937457e16bd348e84b119fdb40c87fd3186b370d972045f1e643e0d3693658847f130ae2056ef4d574bd349df169a07b4c0413e6a60b777fe139eaa069bdee11ec2710b50bfe912f2ceb6746b984bfa5def40094f4030734990f8bc9611d024f69b3842f3a0df45f3fb10fcd0a92905726caaad338c6846605efe34beafa044b3291fed4bf80b68516357cde490aa2f2751c5bd29fda2f7ea9457be1519640277b7108291ecdf28c260b1afd4251b203adf5764e964e553c149b01443495cf295fe3b81211a8b0607108e337ecdb02867a597d96e3aeb16ee33d6e0a0544cf840baeecf3f2236466d15a7a2cf934fd7812b987654a20434018e9321f48c70bc1ffd9e240d3d19fd7e352578fb155f1c7e1f70d66ab079bf477a3dc33542070473e0d9e1a7f24a4e54c1284f9f562d2bc8556f31b06020cb7fea55af47085c188db011270a07267afc5cf071177950bb4e3b6eb8140086b542975dfeb3c12e6b85646338ab4654ff80e06296cf1e5599d73e1b22a11f66d03d1df3df4a2caf41525f68ab57226b5cb5190635ba05dc66bcf1c498b7ce731400b551bb704dbd6d651b18d03f617509e50c232c0203b2ea6f04102ac9f5f0cafbdd916a8147415b72b4424969f88b7017867180502825b449d92ba71d94bc6e4197b23b77bdb29d06ecf63e9551817e7928989023361cc98fcb55ae0e02ddd02d9733df41e32b629f9a6192d55e98b9ac92c42c4233e66449932b32f8df5517cca23f7b2871228663a76511ed8f8e4f0ddc685fc9932f070fc63950225c829ffcef5009a602b36348bf67ad2e81cf5ab23b35aa6676c20e0b89b5b", 0x683}], 0x1) 23:46:44 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000180)={0x64, 0x2, 0x6, 0x1, 0x0, 0x0, {}, [@IPSET_ATTR_TYPENAME={0x12, 0x3, 'bitmap:ip,mac\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0x18, 0x7, 0x0, 0x1, [@IPSET_ATTR_IP={0xc, 0x1, 0x0, 0x1, @IPSET_ATTR_IPADDR_IPV4={0x8}}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x0}]}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}]}, 0x64}}, 0x0) 23:46:44 executing program 1: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000000000000000ed000095"], &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r1}, 0x10) ioctl$RTC_UIE_ON(r0, 0x7003) ioctl$RTC_SET_TIME(r0, 0x7002, &(0x7f0000000040)={0x0, 0x0, 0x0, 0xb, 0x0, 0x3c6b}) 23:46:44 executing program 0: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000000000000000ed000095"], &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r1}, 0x10) ioctl$RTC_UIE_ON(r0, 0x7003) ioctl$RTC_SET_TIME(r0, 0x7002, &(0x7f0000000040)={0x0, 0x0, 0x0, 0xb, 0x0, 0x3c6b}) 23:46:44 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000003e00)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x44, 0x16, 0xa, 0x1, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_FLOWTABLE_HOOK={0x18, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_PRIORITY={0x8}, @NFTA_FLOWTABLE_HOOK_NUM={0x8}, @NFTA_FLOWTABLE_HOOK_DEVS={0x4}]}]}, @NFT_MSG_DELFLOWTABLE={0x2c, 0x18, 0xa, 0x5, 0x0, 0x0, {0x1}, [@NFTA_FLOWTABLE_HANDLE={0xc}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}]}], {0x14, 0x10}}, 0xb8}}, 0x0) 23:46:44 executing program 4: chdir(0x0) setxattr$trusted_overlay_nlink(&(0x7f00000002c0)='./bus\x00', &(0x7f0000000100), &(0x7f0000000140)={'U+', 0x7fffffffffffffff}, 0x16, 0x0) r0 = creat(&(0x7f0000000300)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x10010, r1, 0xea246000) r2 = socket(0x28, 0x1, 0x0) connect$vsock_stream(r2, &(0x7f0000000300)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f00000000c0)={0x28, 0x0, 0x0, @host}, 0x10) connect$vsock_stream(r2, &(0x7f0000000080)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f0000000000)={0x28, 0x0, 0xffffffff, @my=0x0}, 0x10) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x3af4701e) sendmsg$NFT_MSG_GETOBJ_RESET(r3, &(0x7f0000000280)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x1000000}, 0xc, &(0x7f0000000240)={&(0x7f00000001c0)={0x44, 0x15, 0xa, 0x5, 0x0, 0x0, {0x3, 0x0, 0x1}, [@NFTA_OBJ_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_OBJ_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x2}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x7}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x5}]}, 0x44}, 0x1, 0x0, 0x0, 0x1}, 0x48011) recvmmsg$unix(r2, &(0x7f0000002bc0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0xf0ff7f, 0x100000}, 0x8000000}, {{0x0, 0x8, &(0x7f0000000600)=[{0x0}], 0x1}}], 0x3fffffffffffca8, 0x0, 0x0) 23:46:44 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:44 executing program 1: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000000000000000ed000095"], &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r1}, 0x10) ioctl$RTC_UIE_ON(r0, 0x7003) ioctl$RTC_SET_TIME(r0, 0x7002, &(0x7f0000000040)={0x0, 0x0, 0x0, 0xb, 0x0, 0x3c6b}) 23:46:44 executing program 2: r0 = socket$igmp6(0xa, 0x3, 0x2) bind(r0, &(0x7f0000000080)=@l2tp6={0xa, 0x0, 0x0, @dev}, 0x80) 23:46:44 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000001780)={0x6, 0x3, &(0x7f0000001300)=@framed={{0x18, 0x0, 0x0, 0x0, 0xfffffffc}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0xb, 0x7f, 0x10001, 0xb, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000140)={r0, 0x0, 0x0}, 0x20) r1 = bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0xb, 0x9, 0x10001, 0x9, 0x1}, 0x48) bpf$MAP_LOOKUP_ELEM(0x2, &(0x7f0000000040)={r1, &(0x7f0000000140), &(0x7f00000002c0)=""/4099}, 0x20) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f0000000080)={r1, &(0x7f0000001300), &(0x7f0000001380)=""/98}, 0x20) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000000)={r1, &(0x7f0000001400), &(0x7f0000001480)=""/160}, 0x20) 23:46:45 executing program 0: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000100)=ANY=[@ANYBLOB="18000000000000000000000000ed000095"], &(0x7f00000000c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000200)={&(0x7f00000004c0)='contention_begin\x00', r1}, 0x10) ioctl$RTC_UIE_ON(r0, 0x7003) ioctl$RTC_SET_TIME(r0, 0x7002, &(0x7f0000000040)={0x0, 0x0, 0x0, 0xb, 0x0, 0x3c6b}) 23:46:45 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f00000005c0), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMKSA(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x58, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FILS_CACHE_ID={0x6}, @NL80211_ATTR_SSID={0xa, 0x34, @default_ibss_ssid}, @NL80211_ATTR_PMKID={0x14, 0x55, "b6f81dffd7e586be6b716848ed4b175c"}, @NL80211_ATTR_PMK={0x14, 0xfe, "37d076445dd01239caeb5f0bb5c4f7d7"}]}, 0x58}}, 0x0) 23:46:45 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:45 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000001780)={0x6, 0x3, &(0x7f0000001300)=@framed={{0x18, 0x0, 0x0, 0x0, 0xfffffffc}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0xb, 0x7f, 0x10001, 0xb, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000140)={r0, 0x0, 0x0}, 0x20) r1 = bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0xb, 0x9, 0x10001, 0x9, 0x1}, 0x48) bpf$MAP_LOOKUP_ELEM(0x2, &(0x7f0000000040)={r1, &(0x7f0000000140), &(0x7f00000002c0)=""/4099}, 0x20) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f0000000080)={r1, &(0x7f0000001300), &(0x7f0000001380)=""/98}, 0x20) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000000)={r1, &(0x7f0000001400), &(0x7f0000001480)=""/160}, 0x20) 23:46:45 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:45 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:47 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f00000005c0), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMKSA(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x58, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FILS_CACHE_ID={0x6}, @NL80211_ATTR_SSID={0xa, 0x34, @default_ibss_ssid}, @NL80211_ATTR_PMKID={0x14, 0x55, "b6f81dffd7e586be6b716848ed4b175c"}, @NL80211_ATTR_PMK={0x14, 0xfe, "37d076445dd01239caeb5f0bb5c4f7d7"}]}, 0x58}}, 0x0) 23:46:49 executing program 4: chdir(0x0) setxattr$trusted_overlay_nlink(&(0x7f00000002c0)='./bus\x00', &(0x7f0000000100), &(0x7f0000000140)={'U+', 0x7fffffffffffffff}, 0x16, 0x0) r0 = creat(&(0x7f0000000300)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x10010, r1, 0xea246000) r2 = socket(0x28, 0x1, 0x0) connect$vsock_stream(r2, &(0x7f0000000300)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f00000000c0)={0x28, 0x0, 0x0, @host}, 0x10) connect$vsock_stream(r2, &(0x7f0000000080)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f0000000000)={0x28, 0x0, 0xffffffff, @my=0x0}, 0x10) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x3af4701e) sendmsg$NFT_MSG_GETOBJ_RESET(r3, &(0x7f0000000280)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x1000000}, 0xc, &(0x7f0000000240)={&(0x7f00000001c0)={0x44, 0x15, 0xa, 0x5, 0x0, 0x0, {0x3, 0x0, 0x1}, [@NFTA_OBJ_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_OBJ_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x2}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x7}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x5}]}, 0x44}, 0x1, 0x0, 0x0, 0x1}, 0x48011) recvmmsg$unix(r2, &(0x7f0000002bc0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0xf0ff7f, 0x100000}, 0x8000000}, {{0x0, 0x8, &(0x7f0000000600)=[{0x0}], 0x1}}], 0x3fffffffffffca8, 0x0, 0x0) 23:46:49 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000001780)={0x6, 0x3, &(0x7f0000001300)=@framed={{0x18, 0x0, 0x0, 0x0, 0xfffffffc}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0xb, 0x7f, 0x10001, 0xb, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000140)={r0, 0x0, 0x0}, 0x20) r1 = bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0xb, 0x9, 0x10001, 0x9, 0x1}, 0x48) bpf$MAP_LOOKUP_ELEM(0x2, &(0x7f0000000040)={r1, &(0x7f0000000140), &(0x7f00000002c0)=""/4099}, 0x20) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f0000000080)={r1, &(0x7f0000001300), &(0x7f0000001380)=""/98}, 0x20) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000000)={r1, &(0x7f0000001400), &(0x7f0000001480)=""/160}, 0x20) 23:46:49 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:49 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f00000005c0), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMKSA(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x58, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FILS_CACHE_ID={0x6}, @NL80211_ATTR_SSID={0xa, 0x34, @default_ibss_ssid}, @NL80211_ATTR_PMKID={0x14, 0x55, "b6f81dffd7e586be6b716848ed4b175c"}, @NL80211_ATTR_PMK={0x14, 0xfe, "37d076445dd01239caeb5f0bb5c4f7d7"}]}, 0x58}}, 0x0) 23:46:49 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:49 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:49 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f00000005c0), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMKSA(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x58, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FILS_CACHE_ID={0x6}, @NL80211_ATTR_SSID={0xa, 0x34, @default_ibss_ssid}, @NL80211_ATTR_PMKID={0x14, 0x55, "b6f81dffd7e586be6b716848ed4b175c"}, @NL80211_ATTR_PMK={0x14, 0xfe, "37d076445dd01239caeb5f0bb5c4f7d7"}]}, 0x58}}, 0x0) 23:46:53 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000001780)={0x6, 0x3, &(0x7f0000001300)=@framed={{0x18, 0x0, 0x0, 0x0, 0xfffffffc}}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r0 = bpf$MAP_CREATE(0x0, &(0x7f0000000180)=@base={0xb, 0x7f, 0x10001, 0xb, 0x1}, 0x48) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000140)={r0, 0x0, 0x0}, 0x20) r1 = bpf$MAP_CREATE(0x0, &(0x7f00000000c0)=@base={0xb, 0x9, 0x10001, 0x9, 0x1}, 0x48) bpf$MAP_LOOKUP_ELEM(0x2, &(0x7f0000000040)={r1, &(0x7f0000000140), &(0x7f00000002c0)=""/4099}, 0x20) bpf$MAP_GET_NEXT_KEY(0x2, &(0x7f0000000080)={r1, &(0x7f0000001300), &(0x7f0000001380)=""/98}, 0x20) bpf$MAP_GET_NEXT_KEY(0x4, &(0x7f0000000000)={r1, &(0x7f0000001400), &(0x7f0000001480)=""/160}, 0x20) 23:46:53 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f00000005c0), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMKSA(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x58, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FILS_CACHE_ID={0x6}, @NL80211_ATTR_SSID={0xa, 0x34, @default_ibss_ssid}, @NL80211_ATTR_PMKID={0x14, 0x55, "b6f81dffd7e586be6b716848ed4b175c"}, @NL80211_ATTR_PMK={0x14, 0xfe, "37d076445dd01239caeb5f0bb5c4f7d7"}]}, 0x58}}, 0x0) 23:46:53 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:53 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:53 executing program 5: r0 = syz_open_dev$usbfs(&(0x7f0000000040), 0x12, 0x20841) ioctl$USBDEVFS_CONTROL(r0, 0xc0185500, &(0x7f0000000200)={0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 23:46:58 executing program 4: chdir(0x0) setxattr$trusted_overlay_nlink(&(0x7f00000002c0)='./bus\x00', &(0x7f0000000100), &(0x7f0000000140)={'U+', 0x7fffffffffffffff}, 0x16, 0x0) r0 = creat(&(0x7f0000000300)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x10010, r1, 0xea246000) r2 = socket(0x28, 0x1, 0x0) connect$vsock_stream(r2, &(0x7f0000000300)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f00000000c0)={0x28, 0x0, 0x0, @host}, 0x10) connect$vsock_stream(r2, &(0x7f0000000080)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f0000000000)={0x28, 0x0, 0xffffffff, @my=0x0}, 0x10) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x3af4701e) sendmsg$NFT_MSG_GETOBJ_RESET(r3, &(0x7f0000000280)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x1000000}, 0xc, &(0x7f0000000240)={&(0x7f00000001c0)={0x44, 0x15, 0xa, 0x5, 0x0, 0x0, {0x3, 0x0, 0x1}, [@NFTA_OBJ_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_OBJ_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x2}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x7}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x5}]}, 0x44}, 0x1, 0x0, 0x0, 0x1}, 0x48011) recvmmsg$unix(r2, &(0x7f0000002bc0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0xf0ff7f, 0x100000}, 0x8000000}, {{0x0, 0x8, &(0x7f0000000600)=[{0x0}], 0x1}}], 0x3fffffffffffca8, 0x0, 0x0) 23:46:58 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000380)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs={0x0, 0x0, 0x4e24}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38}, 0x0) r3 = syz_clone3(0x0, 0x0) sendmmsg$unix(r2, &(0x7f0000005240)=[{{&(0x7f0000001600)=@abs={0x1}, 0x6e, 0x0}}, {{&(0x7f0000001a00)=@abs, 0x6e, &(0x7f0000005180)=[{0x0}, {0x0}], 0x2, 0x0, 0x0, 0x20}}], 0x2, 0x40000) timer_create(0x0, &(0x7f0000000180)={0x0, 0x0, 0x0, @thr={&(0x7f00000000c0)="9ec181a423e00fc29aff04573d3beaa5dba997e0dd598696bc5af4469da52d75d9cf958cfefebcb67375424100317e014b8db928daca7b3208", 0x0}}, &(0x7f00000001c0)) pipe(&(0x7f0000000300)={0xffffffffffffffff}) pipe(&(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) splice(r4, 0x0, r5, 0x0, 0x2000000001e, 0x2) write$P9_RGETLOCK(0xffffffffffffffff, &(0x7f0000000100)={0x1f, 0x37, 0x2, {0x2, 0x0, 0x2, r3, 0x1, '^'}}, 0x1f) execveat(0xffffffffffffff9c, &(0x7f00000003c0)='./file0\x00', 0x0, 0x0, 0x0) 23:46:58 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f00000005c0), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMKSA(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x58, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FILS_CACHE_ID={0x6}, @NL80211_ATTR_SSID={0xa, 0x34, @default_ibss_ssid}, @NL80211_ATTR_PMKID={0x14, 0x55, "b6f81dffd7e586be6b716848ed4b175c"}, @NL80211_ATTR_PMK={0x14, 0xfe, "37d076445dd01239caeb5f0bb5c4f7d7"}]}, 0x58}}, 0x0) 23:46:58 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r2, &(0x7f0000000080)="06", 0x1) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) r3 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r3, &(0x7f0000000080)="0600", 0x2) write$FUSE_NOTIFY_STORE(r3, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r3, r3, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r3, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r4, 0xc080aebe, &(0x7f0000000040)=ANY=[]) 23:46:58 executing program 1: pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000300)='dctcp\x00', 0x6) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r2, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x3}, 0x4) getsockopt$packet_int(r2, 0x107, 0x15, 0x0, &(0x7f0000000180)) vmsplice(0xffffffffffffffff, &(0x7f0000000040)=[{&(0x7f0000000340)="f7e8a0a931481a4d04811f123d3cabb0b2c2ae1e6c4ea450312c6ffe4bbde84711cc36439ce7b0566e30d63045a21b6173e92f235e846e1005a1d6f40ca0a5ff6b3f4e73305b5df377a91b12427545559359624765a091aafffa909309fcb2d1d45ac9dcfd6019185d0f09eaa5c27821f8f889a395a95b101e0c5baa862aa13d50b620391677636dcc463b4a9aaf335d22beae08c37a574154f5a38b2766818c2aa40907e3cd55486f4494fc255c0c559dd5f4ce840faf6c0c520401a2a4363d1323d5a1a1b80b16f2ce0761286fc396e03b8b6568c846a634e87ae69449ad94e286d2f623d21b4cf78272624d65767e", 0xf0}], 0x1, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_MD5SIG(0xffffffffffffffff, 0x6, 0xe, 0x0, 0x0) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x7) splice(r1, 0x0, r0, 0x0, 0x406f408, 0x0) 23:46:58 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@mpls_newroute={0x1b, 0x18, 0x1}, 0x1c}}, 0x0) 23:46:58 executing program 0: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x4000}, 0x10) sendmsg$nl_generic(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000002780)={0x18, 0x3a, 0xa01, 0x0, 0x0, {0xa}, [@generic='\t']}, 0x18}}, 0x0) 23:46:58 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f00000005c0), 0xffffffffffffffff) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r2, 0x8933, &(0x7f00000000c0)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_PMKSA(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x58, r1, 0x1, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_FILS_CACHE_ID={0x6}, @NL80211_ATTR_SSID={0xa, 0x34, @default_ibss_ssid}, @NL80211_ATTR_PMKID={0x14, 0x55, "b6f81dffd7e586be6b716848ed4b175c"}, @NL80211_ATTR_PMK={0x14, 0xfe, "37d076445dd01239caeb5f0bb5c4f7d7"}]}, 0x58}}, 0x0) [ 1537.738349][T22742] [ 1537.850041][T22742] ============================= 23:46:59 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl802154(&(0x7f00000000c0), 0xffffffffffffffff) sendmsg$NL802154_CMD_NEW_INTERFACE(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000100)={0x3c, r1, 0xc01, 0x0, 0x0, {}, [@NL802154_ATTR_IFNAME={0xa, 0x4, 'wpan1\x00'}, @NL802154_ATTR_WPAN_PHY={0x8, 0x1, 0x3}, @NL802154_ATTR_IFTYPE={0x8, 0x5, 0x2}, @NL802154_ATTR_WPAN_DEV={0xc, 0x6, 0x100000001}]}, 0x3c}}, 0x0) [ 1538.142250][T22742] WARNING: suspicious RCU usage [ 1538.147367][T22742] 5.19.0-rc4-next-20220628-syzkaller #0 Not tainted [ 1538.154035][T22742] ----------------------------- [ 1538.184962][T22742] net/ipv6/addrconf.c:5175 suspicious rcu_dereference_check() usage! 23:46:59 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r2, &(0x7f0000000080)="06", 0x1) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) r3 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r3, &(0x7f0000000080)="0600", 0x2) write$FUSE_NOTIFY_STORE(r3, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r3, r3, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r3, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r4, 0xc080aebe, &(0x7f0000000040)=ANY=[]) 23:46:59 executing program 1: pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000300)='dctcp\x00', 0x6) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r2, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x3}, 0x4) getsockopt$packet_int(r2, 0x107, 0x15, 0x0, &(0x7f0000000180)) vmsplice(0xffffffffffffffff, &(0x7f0000000040)=[{&(0x7f0000000340)="f7e8a0a931481a4d04811f123d3cabb0b2c2ae1e6c4ea450312c6ffe4bbde84711cc36439ce7b0566e30d63045a21b6173e92f235e846e1005a1d6f40ca0a5ff6b3f4e73305b5df377a91b12427545559359624765a091aafffa909309fcb2d1d45ac9dcfd6019185d0f09eaa5c27821f8f889a395a95b101e0c5baa862aa13d50b620391677636dcc463b4a9aaf335d22beae08c37a574154f5a38b2766818c2aa40907e3cd55486f4494fc255c0c559dd5f4ce840faf6c0c520401a2a4363d1323d5a1a1b80b16f2ce0761286fc396e03b8b6568c846a634e87ae69449ad94e286d2f623d21b4cf78272624d65767e", 0xf0}], 0x1, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_MD5SIG(0xffffffffffffffff, 0x6, 0xe, 0x0, 0x0) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x7) splice(r1, 0x0, r0, 0x0, 0x406f408, 0x0) [ 1538.242858][T22742] [ 1538.242858][T22742] other info that might help us debug this: [ 1538.242858][T22742] [ 1538.304457][T22742] [ 1538.304457][T22742] rcu_scheduler_active = 2, debug_locks = 1 [ 1538.348567][T22742] 1 lock held by syz-executor.0/22742: [ 1538.390402][T22742] #0: ffffffff8d5a31a8 (rtnl_mutex){+.+.}-{3:3}, at: netlink_dump+0xae/0xc20 [ 1538.452935][T22742] [ 1538.452935][T22742] stack backtrace: [ 1538.476041][T22742] CPU: 1 PID: 22742 Comm: syz-executor.0 Not tainted 5.19.0-rc4-next-20220628-syzkaller #0 [ 1538.486078][T22742] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022 [ 1538.496154][T22742] Call Trace: [ 1538.499449][T22742] [ 1538.502396][T22742] dump_stack_lvl+0xcd/0x134 [ 1538.507107][T22742] in6_dump_addrs+0x12d1/0x1790 [ 1538.512060][T22742] ? inet6_netconf_dump_devconf+0xe00/0xe00 [ 1538.518006][T22742] inet6_dump_addr+0x9c1/0xb50 [ 1538.522812][T22742] ? inet6_netconf_get_devconf+0xb60/0xb60 [ 1538.528656][T22742] ? memset+0x20/0x40 [ 1538.532687][T22742] netlink_dump+0x541/0xc20 [ 1538.537228][T22742] ? netlink_deliver_tap+0xc40/0xc40 [ 1538.542555][T22742] ? __netlink_dump_start+0x4e/0x900 [ 1538.547884][T22742] __netlink_dump_start+0x647/0x900 [ 1538.553121][T22742] rtnetlink_rcv_msg+0x73e/0xc90 [ 1538.558152][T22742] ? inet6_dump_ifacaddr+0x30/0x30 [ 1538.563300][T22742] ? rtnl_fdb_dump+0x9a0/0x9a0 [ 1538.568094][T22742] ? inet6_dump_ifacaddr+0x30/0x30 [ 1538.573236][T22742] ? _raw_spin_unlock_irqrestore+0x50/0x70 [ 1538.579147][T22742] ? lockdep_hardirqs_on+0x79/0x100 [ 1538.584402][T22742] netlink_rcv_skb+0x153/0x420 [ 1538.589196][T22742] ? rtnl_fdb_dump+0x9a0/0x9a0 [ 1538.593968][T22742] ? netlink_ack+0xa80/0xa80 [ 1538.598577][T22742] ? netlink_deliver_tap+0x1a2/0xc40 [ 1538.603872][T22742] ? netlink_deliver_tap+0x1b1/0xc40 [ 1538.609170][T22742] netlink_unicast+0x543/0x7f0 [ 1538.613947][T22742] ? netlink_attachskb+0x880/0x880 [ 1538.619061][T22742] ? __phys_addr+0xc4/0x140 [ 1538.623576][T22742] ? __phys_addr_symbol+0x2c/0x70 [ 1538.628609][T22742] ? __check_object_size+0x2de/0x700 [ 1538.633904][T22742] netlink_sendmsg+0x917/0xe10 [ 1538.638702][T22742] ? netlink_unicast+0x7f0/0x7f0 [ 1538.643672][T22742] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 1538.648963][T22742] ? netlink_unicast+0x7f0/0x7f0 [ 1538.653907][T22742] sock_sendmsg+0xcf/0x120 [ 1538.658398][T22742] ____sys_sendmsg+0x6eb/0x810 [ 1538.663174][T22742] ? kernel_sendmsg+0x50/0x50 [ 1538.667863][T22742] ? do_recvmmsg+0x6d0/0x6d0 [ 1538.672468][T22742] ? finish_task_switch.isra.0+0x2aa/0xbc0 [ 1538.678292][T22742] ___sys_sendmsg+0xf3/0x170 [ 1538.682889][T22742] ? sendmsg_copy_msghdr+0x160/0x160 [ 1538.688183][T22742] ? __fget_files+0x248/0x440 [ 1538.692871][T22742] ? lock_downgrade+0x6e0/0x6e0 [ 1538.697744][T22742] ? __switch_to+0x5cc/0x1050 [ 1538.702450][T22742] ? __schedule+0xa11/0x4f10 [ 1538.707069][T22742] ? __fget_files+0x26a/0x440 [ 1538.711771][T22742] ? __fget_light+0xe5/0x270 [ 1538.716377][T22742] __x64_sys_sendmsg+0x132/0x220 [ 1538.721344][T22742] ? __sys_sendmsg+0x1b0/0x1b0 [ 1538.726126][T22742] ? lockdep_hardirqs_on+0x79/0x100 [ 1538.731354][T22742] ? syscall_enter_from_user_mode+0x2c/0xb0 [ 1538.737272][T22742] do_syscall_64+0x35/0xb0 [ 1538.741701][T22742] entry_SYSCALL_64_after_hwframe+0x46/0xb0 [ 1538.747604][T22742] RIP: 0033:0x7fb8010891f9 [ 1538.752029][T22742] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 1538.771643][T22742] RSP: 002b:00007fb802228168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 1538.780059][T22742] RAX: ffffffffffffffda RBX: 00007fb80119bf60 RCX: 00007fb8010891f9 [ 1538.788032][T22742] RDX: 0000000000000000 RSI: 0000000020000040 RDI: 0000000000000003 [ 1538.796005][T22742] RBP: 00007fb8010e3161 R08: 0000000000000000 R09: 0000000000000000 [ 1538.803972][T22742] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 1538.811940][T22742] R13: 00007ffed1dbd91f R14: 00007fb802228300 R15: 0000000000022000 [ 1538.819956][T22742] [ 1538.825730][T22742] [ 1538.847503][T22742] ============================= [ 1538.870688][T22742] WARNING: suspicious RCU usage [ 1538.892023][T22742] 5.19.0-rc4-next-20220628-syzkaller #0 Not tainted [ 1538.917305][T22742] ----------------------------- [ 1538.949393][T22742] net/ipv6/addrconf.c:5177 suspicious rcu_dereference_check() usage! [ 1538.992061][T22742] [ 1538.992061][T22742] other info that might help us debug this: [ 1538.992061][T22742] [ 1539.044529][T22742] [ 1539.044529][T22742] rcu_scheduler_active = 2, debug_locks = 1 [ 1539.072535][T22742] 1 lock held by syz-executor.0/22742: [ 1539.088745][T22742] #0: ffffffff8d5a31a8 (rtnl_mutex){+.+.}-{3:3}, at: netlink_dump+0xae/0xc20 23:47:00 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r2, &(0x7f0000000080)="06", 0x1) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) r3 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r3, &(0x7f0000000080)="0600", 0x2) write$FUSE_NOTIFY_STORE(r3, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r3, r3, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r3, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r4, 0xc080aebe, &(0x7f0000000040)=ANY=[]) [ 1539.121756][T22742] [ 1539.121756][T22742] stack backtrace: [ 1539.153822][T22742] CPU: 1 PID: 22742 Comm: syz-executor.0 Not tainted 5.19.0-rc4-next-20220628-syzkaller #0 [ 1539.164113][T22742] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/29/2022 [ 1539.174187][T22742] Call Trace: [ 1539.177485][T22742] [ 1539.180439][T22742] dump_stack_lvl+0xcd/0x134 [ 1539.185074][T22742] in6_dump_addrs+0x11af/0x1790 [ 1539.189971][T22742] ? inet6_netconf_dump_devconf+0xe00/0xe00 [ 1539.195917][T22742] inet6_dump_addr+0x9c1/0xb50 [ 1539.200724][T22742] ? inet6_netconf_get_devconf+0xb60/0xb60 [ 1539.206562][T22742] ? memset+0x20/0x40 [ 1539.210603][T22742] netlink_dump+0x541/0xc20 [ 1539.215148][T22742] ? netlink_deliver_tap+0xc40/0xc40 [ 1539.220483][T22742] ? __netlink_dump_start+0x4e/0x900 [ 1539.225813][T22742] __netlink_dump_start+0x647/0x900 [ 1539.231055][T22742] rtnetlink_rcv_msg+0x73e/0xc90 [ 1539.236024][T22742] ? inet6_dump_ifacaddr+0x30/0x30 [ 1539.241176][T22742] ? rtnl_fdb_dump+0x9a0/0x9a0 [ 1539.245976][T22742] ? inet6_dump_ifacaddr+0x30/0x30 [ 1539.251122][T22742] ? _raw_spin_unlock_irqrestore+0x50/0x70 [ 1539.256972][T22742] ? lockdep_hardirqs_on+0x79/0x100 [ 1539.262213][T22742] netlink_rcv_skb+0x153/0x420 [ 1539.267012][T22742] ? rtnl_fdb_dump+0x9a0/0x9a0 [ 1539.271830][T22742] ? netlink_ack+0xa80/0xa80 [ 1539.276474][T22742] ? netlink_deliver_tap+0x1a2/0xc40 [ 1539.281806][T22742] ? netlink_deliver_tap+0x1b1/0xc40 [ 1539.287134][T22742] netlink_unicast+0x543/0x7f0 [ 1539.291939][T22742] ? netlink_attachskb+0x880/0x880 [ 1539.297076][T22742] ? __phys_addr+0xc4/0x140 [ 1539.301626][T22742] ? __phys_addr_symbol+0x2c/0x70 [ 1539.306689][T22742] ? __check_object_size+0x2de/0x700 [ 1539.312013][T22742] netlink_sendmsg+0x917/0xe10 [ 1539.316815][T22742] ? netlink_unicast+0x7f0/0x7f0 [ 1539.321800][T22742] ? bpf_lsm_socket_sendmsg+0x5/0x10 [ 1539.327123][T22742] ? netlink_unicast+0x7f0/0x7f0 [ 1539.332092][T22742] sock_sendmsg+0xcf/0x120 [ 1539.336541][T22742] ____sys_sendmsg+0x6eb/0x810 [ 1539.341341][T22742] ? kernel_sendmsg+0x50/0x50 [ 1539.346046][T22742] ? do_recvmmsg+0x6d0/0x6d0 [ 1539.350681][T22742] ? finish_task_switch.isra.0+0x2aa/0xbc0 [ 1539.356537][T22742] ___sys_sendmsg+0xf3/0x170 [ 1539.361168][T22742] ? sendmsg_copy_msghdr+0x160/0x160 [ 1539.366497][T22742] ? __fget_files+0x248/0x440 [ 1539.371214][T22742] ? lock_downgrade+0x6e0/0x6e0 [ 1539.376175][T22742] ? __switch_to+0x5cc/0x1050 [ 1539.380904][T22742] ? __schedule+0xa11/0x4f10 [ 1539.385531][T22742] ? __fget_files+0x26a/0x440 [ 1539.390262][T22742] ? __fget_light+0xe5/0x270 [ 1539.394904][T22742] __x64_sys_sendmsg+0x132/0x220 [ 1539.399889][T22742] ? __sys_sendmsg+0x1b0/0x1b0 [ 1539.404690][T22742] ? lockdep_hardirqs_on+0x79/0x100 [ 1539.409938][T22742] ? syscall_enter_from_user_mode+0x2c/0xb0 [ 1539.415888][T22742] do_syscall_64+0x35/0xb0 [ 1539.420340][T22742] entry_SYSCALL_64_after_hwframe+0x46/0xb0 [ 1539.426261][T22742] RIP: 0033:0x7fb8010891f9 [ 1539.430705][T22742] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 1539.450435][T22742] RSP: 002b:00007fb802228168 EFLAGS: 00000246 ORIG_RAX: 000000000000002e [ 1539.458889][T22742] RAX: ffffffffffffffda RBX: 00007fb80119bf60 RCX: 00007fb8010891f9 [ 1539.466893][T22742] RDX: 0000000000000000 RSI: 0000000020000040 RDI: 0000000000000003 [ 1539.474888][T22742] RBP: 00007fb8010e3161 R08: 0000000000000000 R09: 0000000000000000 [ 1539.482887][T22742] R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 [ 1539.490887][T22742] R13: 00007ffed1dbd91f R14: 00007fb802228300 R15: 0000000000022000 [ 1539.498906][T22742] 23:47:02 executing program 4: chdir(0x0) setxattr$trusted_overlay_nlink(&(0x7f00000002c0)='./bus\x00', &(0x7f0000000100), &(0x7f0000000140)={'U+', 0x7fffffffffffffff}, 0x16, 0x0) r0 = creat(&(0x7f0000000300)='./bus\x00', 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x10010, r1, 0xea246000) r2 = socket(0x28, 0x1, 0x0) connect$vsock_stream(r2, &(0x7f0000000300)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f00000000c0)={0x28, 0x0, 0x0, @host}, 0x10) connect$vsock_stream(r2, &(0x7f0000000080)={0x28, 0x0, 0x0, @my=0x1}, 0x10) connect$vsock_stream(r2, &(0x7f0000000000)={0x28, 0x0, 0xffffffff, @my=0x0}, 0x10) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r3, &(0x7f0000000040)=ANY=[], 0x3af4701e) sendmsg$NFT_MSG_GETOBJ_RESET(r3, &(0x7f0000000280)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x1000000}, 0xc, &(0x7f0000000240)={&(0x7f00000001c0)={0x44, 0x15, 0xa, 0x5, 0x0, 0x0, {0x3, 0x0, 0x1}, [@NFTA_OBJ_NAME={0x9, 0x2, 'syz2\x00'}, @NFTA_OBJ_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x2}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x7}, @NFTA_OBJ_TYPE={0x8, 0x3, 0x1, 0x0, 0x5}]}, 0x44}, 0x1, 0x0, 0x0, 0x1}, 0x48011) recvmmsg$unix(r2, &(0x7f0000002bc0)=[{{0x0, 0x0, 0x0, 0x0, 0x0, 0xf0ff7f, 0x100000}, 0x8000000}, {{0x0, 0x8, &(0x7f0000000600)=[{0x0}], 0x1}}], 0x3fffffffffffca8, 0x0, 0x0) 23:47:02 executing program 0: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x4000}, 0x10) sendmsg$nl_generic(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000002780)={0x18, 0x3a, 0xa01, 0x0, 0x0, {0xa}, [@generic='\t']}, 0x18}}, 0x0) 23:47:02 executing program 3: pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000300)='dctcp\x00', 0x6) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r2, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x3}, 0x4) getsockopt$packet_int(r2, 0x107, 0x15, 0x0, &(0x7f0000000180)) vmsplice(0xffffffffffffffff, &(0x7f0000000040)=[{&(0x7f0000000340)="f7e8a0a931481a4d04811f123d3cabb0b2c2ae1e6c4ea450312c6ffe4bbde84711cc36439ce7b0566e30d63045a21b6173e92f235e846e1005a1d6f40ca0a5ff6b3f4e73305b5df377a91b12427545559359624765a091aafffa909309fcb2d1d45ac9dcfd6019185d0f09eaa5c27821f8f889a395a95b101e0c5baa862aa13d50b620391677636dcc463b4a9aaf335d22beae08c37a574154f5a38b2766818c2aa40907e3cd55486f4494fc255c0c559dd5f4ce840faf6c0c520401a2a4363d1323d5a1a1b80b16f2ce0761286fc396e03b8b6568c846a634e87ae69449ad94e286d2f623d21b4cf78272624d65767e", 0xf0}], 0x1, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_MD5SIG(0xffffffffffffffff, 0x6, 0xe, 0x0, 0x0) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x7) splice(r1, 0x0, r0, 0x0, 0x406f408, 0x0) 23:47:02 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r2, &(0x7f0000000080)="06", 0x1) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) r3 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r3, &(0x7f0000000080)="0600", 0x2) write$FUSE_NOTIFY_STORE(r3, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r3, r3, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r3, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r4, 0xc080aebe, &(0x7f0000000040)=ANY=[]) 23:47:02 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r2, &(0x7f0000000080)="06", 0x1) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) r3 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r3, &(0x7f0000000080)="0600", 0x2) write$FUSE_NOTIFY_STORE(r3, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r3, r3, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r3, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r4, 0xc080aebe, &(0x7f0000000040)=ANY=[]) 23:47:02 executing program 1: pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000300)='dctcp\x00', 0x6) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r2, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x3}, 0x4) getsockopt$packet_int(r2, 0x107, 0x15, 0x0, &(0x7f0000000180)) vmsplice(0xffffffffffffffff, &(0x7f0000000040)=[{&(0x7f0000000340)="f7e8a0a931481a4d04811f123d3cabb0b2c2ae1e6c4ea450312c6ffe4bbde84711cc36439ce7b0566e30d63045a21b6173e92f235e846e1005a1d6f40ca0a5ff6b3f4e73305b5df377a91b12427545559359624765a091aafffa909309fcb2d1d45ac9dcfd6019185d0f09eaa5c27821f8f889a395a95b101e0c5baa862aa13d50b620391677636dcc463b4a9aaf335d22beae08c37a574154f5a38b2766818c2aa40907e3cd55486f4494fc255c0c559dd5f4ce840faf6c0c520401a2a4363d1323d5a1a1b80b16f2ce0761286fc396e03b8b6568c846a634e87ae69449ad94e286d2f623d21b4cf78272624d65767e", 0xf0}], 0x1, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_MD5SIG(0xffffffffffffffff, 0x6, 0xe, 0x0, 0x0) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x7) splice(r1, 0x0, r0, 0x0, 0x406f408, 0x0) 23:47:02 executing program 0: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x4000}, 0x10) sendmsg$nl_generic(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000002780)={0x18, 0x3a, 0xa01, 0x0, 0x0, {0xa}, [@generic='\t']}, 0x18}}, 0x0) 23:47:03 executing program 3: pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000300)='dctcp\x00', 0x6) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r2, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x3}, 0x4) getsockopt$packet_int(r2, 0x107, 0x15, 0x0, &(0x7f0000000180)) vmsplice(0xffffffffffffffff, &(0x7f0000000040)=[{&(0x7f0000000340)="f7e8a0a931481a4d04811f123d3cabb0b2c2ae1e6c4ea450312c6ffe4bbde84711cc36439ce7b0566e30d63045a21b6173e92f235e846e1005a1d6f40ca0a5ff6b3f4e73305b5df377a91b12427545559359624765a091aafffa909309fcb2d1d45ac9dcfd6019185d0f09eaa5c27821f8f889a395a95b101e0c5baa862aa13d50b620391677636dcc463b4a9aaf335d22beae08c37a574154f5a38b2766818c2aa40907e3cd55486f4494fc255c0c559dd5f4ce840faf6c0c520401a2a4363d1323d5a1a1b80b16f2ce0761286fc396e03b8b6568c846a634e87ae69449ad94e286d2f623d21b4cf78272624d65767e", 0xf0}], 0x1, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_MD5SIG(0xffffffffffffffff, 0x6, 0xe, 0x0, 0x0) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x7) splice(r1, 0x0, r0, 0x0, 0x406f408, 0x0) 23:47:03 executing program 0: r0 = socket(0x10, 0x3, 0x0) setsockopt$netlink_NETLINK_TX_RING(r0, 0x10e, 0xc, &(0x7f0000000280)={0x4000}, 0x10) sendmsg$nl_generic(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000002780)={0x18, 0x3a, 0xa01, 0x0, 0x0, {0xa}, [@generic='\t']}, 0x18}}, 0x0) 23:47:03 executing program 0: mkdir(&(0x7f0000000280)='./file0\x00', 0x0) pipe2$9p(&(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r1, &(0x7f0000000240)=ANY=[@ANYBLOB="1500000065ffff0180000008003950323030302e4c"], 0x15) r2 = dup(r1) write$FUSE_BMAP(r2, &(0x7f00000002c0)={0x18}, 0x18) write$FUSE_NOTIFY_RETRIEVE(r2, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000200)='./file0\x00', &(0x7f0000000140), 0x0, &(0x7f0000000580)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r0, @ANYBLOB=',wfdno=', @ANYRESHEX=r1]) setxattr$trusted_overlay_upper(&(0x7f00000006c0)='./file0\x00', &(0x7f0000000700), &(0x7f0000009dc0)={0x0, 0xfb, 0x4d, 0x0, 0x0, "dcd2e0d791f187c24fd367ce8f15953a", "1db9d7db73a88a523761f92a4a76dcf0507f6af3c9ec3a43b2c89e7f9dbe6fb82d86f0e4e718a172c0d762a6054a51763b5b45c77b9f942f"}, 0x4d, 0x0) 23:47:03 executing program 3: pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000300)='dctcp\x00', 0x6) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r2, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x3}, 0x4) getsockopt$packet_int(r2, 0x107, 0x15, 0x0, &(0x7f0000000180)) vmsplice(0xffffffffffffffff, &(0x7f0000000040)=[{&(0x7f0000000340)="f7e8a0a931481a4d04811f123d3cabb0b2c2ae1e6c4ea450312c6ffe4bbde84711cc36439ce7b0566e30d63045a21b6173e92f235e846e1005a1d6f40ca0a5ff6b3f4e73305b5df377a91b12427545559359624765a091aafffa909309fcb2d1d45ac9dcfd6019185d0f09eaa5c27821f8f889a395a95b101e0c5baa862aa13d50b620391677636dcc463b4a9aaf335d22beae08c37a574154f5a38b2766818c2aa40907e3cd55486f4494fc255c0c559dd5f4ce840faf6c0c520401a2a4363d1323d5a1a1b80b16f2ce0761286fc396e03b8b6568c846a634e87ae69449ad94e286d2f623d21b4cf78272624d65767e", 0xf0}], 0x1, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_MD5SIG(0xffffffffffffffff, 0x6, 0xe, 0x0, 0x0) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x7) splice(r1, 0x0, r0, 0x0, 0x406f408, 0x0) 23:47:03 executing program 0: recvmmsg(0xffffffffffffffff, &(0x7f0000000000)=[{{0x0, 0x0, &(0x7f0000002d00)=[{0x0}, {0x0}, {0x0}, {0x0}, {&(0x7f0000002b40)=""/158, 0x9e}], 0x5}}], 0x1, 0x0, 0x0) r0 = socket$inet6(0xa, 0x3, 0xff) connect$inet6(r0, &(0x7f0000000040)={0xa, 0x0, 0x0, @local, 0x7}, 0x1c) sendmmsg(r0, &(0x7f0000000240)=[{{0x0, 0xf9, &(0x7f0000002d40), 0xf9}}, {{0x0, 0x0, &(0x7f0000000180), 0xd, &(0x7f00000001c0)}}], 0x480, 0x0) 23:47:05 executing program 0: r0 = socket(0x11, 0x2, 0x0) sendmsg$802154_dgram(r0, &(0x7f00000002c0)={&(0x7f0000000180)={0x24, @long={0x3, 0x0, {0xf0ffffff7f0000}}}, 0x14, &(0x7f0000000000)={0x0}}, 0x0) 23:47:05 executing program 3: add_key$keyring(&(0x7f0000000200), 0x0, 0x0, 0x0, 0xfffffffffffffffd) keyctl$read(0xe, 0x0, 0x0, 0x0) 23:47:05 executing program 5: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/nf_conntrack_expect\x00') pread64(r0, 0x0, 0x0, 0x8) 23:47:05 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r2, &(0x7f0000000080)="06", 0x1) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) r3 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r3, &(0x7f0000000080)="0600", 0x2) write$FUSE_NOTIFY_STORE(r3, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r3, r3, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r3, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r4, 0xc080aebe, &(0x7f0000000040)=ANY=[]) 23:47:05 executing program 1: pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_CONGESTION(r1, 0x6, 0xd, &(0x7f0000000300)='dctcp\x00', 0x6) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r2, 0x107, 0x12, &(0x7f0000000000)={0x0, 0x3}, 0x4) getsockopt$packet_int(r2, 0x107, 0x15, 0x0, &(0x7f0000000180)) vmsplice(0xffffffffffffffff, &(0x7f0000000040)=[{&(0x7f0000000340)="f7e8a0a931481a4d04811f123d3cabb0b2c2ae1e6c4ea450312c6ffe4bbde84711cc36439ce7b0566e30d63045a21b6173e92f235e846e1005a1d6f40ca0a5ff6b3f4e73305b5df377a91b12427545559359624765a091aafffa909309fcb2d1d45ac9dcfd6019185d0f09eaa5c27821f8f889a395a95b101e0c5baa862aa13d50b620391677636dcc463b4a9aaf335d22beae08c37a574154f5a38b2766818c2aa40907e3cd55486f4494fc255c0c559dd5f4ce840faf6c0c520401a2a4363d1323d5a1a1b80b16f2ce0761286fc396e03b8b6568c846a634e87ae69449ad94e286d2f623d21b4cf78272624d65767e", 0xf0}], 0x1, 0x0) r3 = socket(0x11, 0x800000003, 0x0) bind(r3, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) getsockname$packet(0xffffffffffffffff, 0x0, 0x0) socket(0x0, 0x0, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, 0x0, 0x0) bind$inet6(r1, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) sendto$inet6(r1, 0x0, 0x0, 0x22004001, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_MD5SIG(0xffffffffffffffff, 0x6, 0xe, 0x0, 0x0) sendto$inet6(r1, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090000006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x7) splice(r1, 0x0, r0, 0x0, 0x406f408, 0x0) 23:47:05 executing program 4: getsockname$packet(0xffffffffffffffff, 0x0, &(0x7f0000000040)=0x21) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0x6db6e559) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) r1 = socket$inet_dccp(0x2, 0x6, 0x0) getsockopt$inet_int(r1, 0x10d, 0x2, 0x0, &(0x7f0000000000)) 23:47:05 executing program 5: syz_clone(0x40100000, 0x0, 0x0, 0x0, 0x0, 0x0) write$cgroup_pid(0xffffffffffffffff, 0x0, 0x0) 23:47:05 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) kcmp$KCMP_EPOLL_TFD(0x0, 0x0, 0x7, 0xffffffffffffffff, 0x0) pipe(0x0) timerfd_settime(0xffffffffffffffff, 0x0, &(0x7f0000000180), 0x0) r0 = dup(0xffffffffffffffff) write$6lowpan_enable(r0, &(0x7f0000000000)='0', 0xfffffd2c) clock_gettime(0x0, 0x0) r1 = socket(0x10, 0x80002, 0x0) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000100)) sendmsg$nl_route_sched(r1, &(0x7f0000002980)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)=@newtaction={0x48, 0x31, 0x53b, 0x0, 0x0, {}, [{0x34, 0x1, [@m_vlan={0x30, 0x1, 0x0, 0x0, {{0x9}, {0x4}, {0x4}, {0xc}, {0xc}}}]}]}, 0x48}}, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f00000000c0), 0x4) syz_memcpy_off$IO_URING_METADATA_GENERIC(0x0, 0x0, 0x0, 0x0, 0x4) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$EXT4_IOC_CHECKPOINT(r2, 0x4004662b, &(0x7f0000000000)=0x2) 23:47:05 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) prlimit64(0x0, 0x8, &(0x7f0000000240)={0x78b27b18, 0x7f}, &(0x7f0000000300)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, &(0x7f000057eff8)=@abs, 0x6e) sched_setscheduler(r0, 0x0, &(0x7f00000001c0)=0xfffffffa) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38, 0x5}, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/diskstats\x00', 0x0, 0x0) r5 = creat(&(0x7f0000000180)='./file0\x00', 0x82) r6 = syz_open_procfs(0x0, &(0x7f0000002100)='net/igmp\x00') read$FUSE(r6, &(0x7f0000004100)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) r10 = socket$nl_generic(0x10, 0x3, 0x10) r11 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_FEATURES_GET(r10, &(0x7f0000000d80)={0x0, 0x0, &(0x7f0000000d40)={&(0x7f00000001c0)={0x18, r11, 0x303, 0x0, 0x0, {}, [@HEADER={0x4}]}, 0x18}}, 0x0) sendmmsg$unix(r1, &(0x7f0000003e40)=[{{&(0x7f0000000c00)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000000d00)=[{&(0x7f0000000c80)="a912122d939c4b728ffc8b51946557b6d286b9370fb4a55f90b91b3375bef8b46dac15ad80a441720458e706f00759ecac5a0f8d799731654d030191b1b216e2dcd2cb1c5b78515ab676a4e0c9dc", 0x4e}], 0x1, &(0x7f0000001100)=[@cred={{0x1c, 0x1, 0x2, {0x0, r7}}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @rights={{0x14, 0x1, 0x1, [r5]}}, @rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2]}}, @cred={{0x1c, 0x1, 0x2, {0x0, r7, r8}}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r1, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, r8}}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r1, 0xffffffffffffffff, r2]}}], 0x128, 0x8c0}}, {{&(0x7f0000001240)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000001840)=[{&(0x7f00000012c0)="d09b5c2723f8fd6562059bb88aa5b0c352f10da6a38ef7035ee7830ad219b783bc949708283794ecc9195fbf074c475ad1cf2207d0acfa6f40151562b66e0bed8c8b473ef3165d5f8f60500bfefd8d4cbc5d6964f9d3f7cd", 0x58}, {&(0x7f0000001340)="a52d41a018944f558e3ca62bd48adbd55e71b646c3c69026260c99d952f4bdd9e01d3a30d28a19aaa8db0c09f3a9f5ec228398579a432509b85921a1f1e785b2245f28b8cbeddec1f6e1f9aeee4c851e6ba4d1bc7aa98db493d51b1b016b161e5455eccf790e93747f7d6af2bffbd94dd2532f2e4c1f80118990ace6d13529eab7602b0440a6dd14f3e7c98a461841bf784195b1239aa2f1c29954ec52a3588767a8927f7367f30f43b845549c9c6be763eb", 0xb2}, {&(0x7f0000009180)="126d2b9d51b409748f339578c200f93027932dbf76c85cdac03d609a5c651942897d6ec4bf1ee830d07069d5650b4eb01071764b5ba0ffeb0294d8072a797216f4e161c5d60897d9ac39540b617352842463dfcb0d815d5554576e2357efde20477b0f7bd95ed1c0517e8aab90e798570a0ddbe094c392922e7f51925f14c40f1c5a26ddd862045a425871ead00a441176ad0095e215bc926ed7d82d2bfbffa7ab1e24d884841186a9d81f7768c1926469a1bade706056945e1fff87f66b15c39b6056ef75e40e7060c439bba69d3974f49fe45458747047dfe780246a80aa7de47d947e371d41a55865f5007682789a928b3a3c157c4fe9881dc81c70e215d235f0146d4b49aff3b8d2a0d11cbb7b3c1de10820dfd9b1f536fd00be409bdc30c908bd8321a014f04962dfce85b711a6996716d0d24594af0f3ca342477cfe0b8a922e74dff2f15ad3890cf7ed16d242b2510885bed46dfade48f2deb11237a476310a825a0485bb3cd761403d0f739bb5de8437b36d4b9bd9b03d91f7d74269262c15ab8c8f32d3a743e108016b02519b63991af336c193ba93646fe85d57006fe012f969dae35157217c056ecb1493f601ad617eb0589c627f37902eaf8459f48fc8c67849b34a5238ff1cc1273d9fdc450832fc7ed7b8654ce6bc54fd377c99fd573d75fa6657cd920ce04c234b985ba5737577e60b8e2b77d099d233fd2128471e0f58317ebb00a6721d08405c2366a97092d73d09abcc06a5f4014b079abd2e6b99ccc6abe61e20b561e944db830ddefca54dabe72c3108db206336dbab498b29af25bf97380896a34bd4c7f066ff9ad6e7b9348f8ec5baedf8dd5077e4b0ddee5939c748fd2e74c0b4dfaa425e37a4f1804bb7de46f89c71bda55651fc1824a243569b9e1b0b4385a39c468853db9d78704c8c7a3568804a0c827382f732fc296f228b0f6ecd0f9ec6e33ae27b644eab1f7bc62f37a9c544d3f54cec5b0f057d86bf5070aa1aec2ac778c6068e66cf6f5d890adbe1caa3ca5e3186375afa0322e19400d81910d737b6c7980fae2999933953318cd52fa5bf37db4bcbf7b6807ef8fa896cb5674bef395a649767c3e2258f70afc5dddaff2d69881d03f784bd98e576e6ae696f06c14b913abffc39a183c40d3d0e8ace9e4420e194c2c000a25c34c28e513f92260952a3dcd16d3783c73f2c74a91f56d0b2142eea9a25561307213169274760668c0ab4588d95c6b9fece33ebbc7ffb2e320050bcdb0c67f52713215fa728a9d76af775b6fdeb632ff57589eb4aad57ae85cd209b5113e50a1158623de64dbf7477382254b634483b82e8449085edb6bfee4fd81ade59ad6ed1052400816b0f0a0582e268e7a239933d30f30aeb4a5a587e219fbb302dbb7b7bfcecbcdd8325acaccbca33d7d2bd931d1617559493ac75471f141e987e8e3c93fc143783e3f6abab2d03f0dec1f963e1fda95325cf349edb1de8debd8bf68ba89dd823f91715d91bef90c6bce03d8cef94634d9e13b656c21549c9b659f991dff9be7395db1cdb7f90442d2c1e667417d41ace1d7db762c0db85a1fef9b555931f70aa2fa9c6c9edbb548b0d00cfc6a5df5f3a15f44e055a8d55bcf34ac43152cb95ded2db9fb18f1c442c3fe9ea649a74be098cd93184f8ce2e506247768cde1a3520235344fbfa5a94100150adbbf1cb8cf2cbac07ac6d54899a3967123795bcaf8d8db4617674cdfa1a7916fd9eef1cbc03477a0880c7aad8346400c6dcd794cc9226f68de0fc1b68280e0cca34ecc78966f2450370b82e3f4c2a0acfe70240a226c362a24a3b2a5af79afccc395c0fc2436e2ca93b7fa07af04bedc777eaa14d19fd40bc5e6654e4ee6d245b66e832a8b405c4bbdf384c75c820b6e4606e83953b66afebee0d89ae5877e0f28dcb332b4a49c481db125adc0f25e39ee56d125d878484c8a69c1a401c08c1dbdae404ce36870aa8f33276d8588391bd68ab1bc50da484fa1051ebc714b82dec47f55f08a369a179e4d271b007ed408b47985d0310481eff3bd69babffbe99cb3ecc0b8ede407a23f70f28442e355764b5dd2234b43a2b1393b621ad162fff201006c8a86c0c89e29476c489d526e10b24b1117c632bf05273783c61d620c830bb51607f173f7da412ad1cb6b93bf416db8c4f0470b4b1ba7aa8db83f680724551cf47d028147a21909a14453850476a9e3e801044af7d37aebd62096292848105a8ddac386357993b800610151c28a0d663d4ef86372b7068ab027f4d9ade49027785d92ace1324320e21a846d7051d8689df6aaf2d3f702d09164abad11f4780e216658356b823a4c484f9fea8ff4c8478bd28c84e9ce3c3e3c33c9539c01eacfd0f6863215bdbbd269ab57e6db2becb41b3d39e7f857cf875169fdd2553b4a31bb22c208dff81c0165b3da9f873ee5f5d3cb6be87064311b264b3522f041e0a943c5c49a888316d200bdda161f33073db9ba67a47ac3a72b0bbf1c9be1145a699701a093c5d744a41a68dc31d97540fd58681a36a83799e6d422cb70ae8af07a61941d01cbb5e28cf3275bc5e93aadb0e7fd45ddc76f0965d942ebf4e4de65abafb8357beb7fefe5996976d63596159997470d22ff0389556e82e1f21e65c8d9eec3be1cc3a9b2997ea4faa5769c54c4219ab9d8c715e605d68184242a43f79954c23d9dbd77aefce830696a8989631212f2f63c413178af8a9736623036634b720712d8c097c1c0f588b5d4c1d218c30924bcf130c49e847d4f32c5e603f8aff6cfe1c6201618f535126c4c1c43821b57939b0a455a51dda5778456bd44dd3632c723dc92ffa76878bbc36e3ec6dca25594901cea3988259e82095ce4d3b26d2e43f101cc1900de361c2de094958de049c8162283c984be6eda54b5ce9d5211a6465c11d8d7b89c7b171620f6e9d8c2adbce7bfc304f14497d49a5bb7ea3b0a3b6ece0e7bf0a675be76a55a05a72986b375fae47102b763bbb6db7359314b2ba198baf50d303e5b20da2691338c2e9dca35def9387b544051ae1d01d9dbb95931242c017ae01f874a2a16989ad427ef9a590d25712853852d7e6991b299e3f0fce6893ba5d4e979009be8f8fc3daca09a6a7a859fd72271e8fa5253b962098110abd1ae2383f5709ef1aca327be6c969691b2c5cd32e6ba69e0bf7e308441a371bfd9069c8f96aa2d4552044b859c6918bf5c0daacf3dd39c420f5f702996ada8ebd6b5ca960be1d0e668d488d197cdaa682be9599ba0624823ee832bded749130bc0e62a9fcaea723979ebf4b48335dd023ecc7609f2ded7b03a0672e7932c9872476042d9e7020271eaa99ecf17e4b4a31338d2231ba234cb12867e6000b0985409b0cbc5a6d1dc97e8a4f8aa2ea393bbcf533ca727028dfc5ac52c34069031e737aabf1af85767bd73f63c778c91468701e3608445f8da361efb67007fd797cfd4f8a5611dfceea4549f27c8337b37fa09784f3f3a57fbe28e076eb5179b7448873e3f42709126d39fd8f01e262b1bda7498b40989cbf22315d6f71f47c158c43f703d7c3fceeac35b4907a39664a677ec1a38052f213163a7924abec10e602b982ca57c80235c5216c13188fcafc255ed178a591a792103bc5ed871718e9d8c3e5bff7280e574a47ffac6adfa2edcae1616408c7d7061f6802730d1fab5fd00eec1cc1d726b8aab1e78dd4f99e8c1388f31a9db0f75940bdedf7d512c4628a5a4df51e2f141be52bba72bfc404a88ae868d8a408405ac215db7424acbd4f9efcd983ae533a229941d51bf0506a44d19970aafb06f902bf2092be06771c80004958dd406f9f46f7f9024a29087334d82b455fb5cd4d9a3ba17bdc072e3d503f2ff16b87d9a5b221273b1939d52d1c14331cfa99382c24f43e569b4b967675f37dbff88d390d3f608bbb0bb1efee22a65e9a0a880f15d3d44650dd2eb94834b2fa391ef218e2fbd2a5c93cff75f6b78dab127f3c7fe791dbeb5d0233b0a0d4ba404009b7fd9b96addb6d40d450818204041fb8ed62cfad63422a08f08516beea5b4a295d726aab5c40adbacdd3b0375490e9990f9f10ebd9a0a9ea263ed32d497ee59c7a5bcd06bfcd057a1052ed6ae549f0e6b02453975ace5d785f33553565984a12d553af63f161d427bc57098e728bc43a22dc41b5253aa903942219f169489e9d486b2620206aba7fb085c366b134d67a0efb93ecf72060e84a3411f874743701ba22ea1619c6f1067ff268780d3562bbdef8018578ce7afe59a2d84b908edf0daa1eafa7fb33a11d1414aadfe612b4c83cecc6b0a150422b13ae696a1ff5e9f11b68ddff191e39cc60666dc8d5497e2c129797a024b21cb58e782c3a40018f06a6469255cad97a5ee596625e7c04cb81a154bcbdc80a4ade3550660dc5fb07f67bea517be217d2a44156d07e3cacfecb7b508580e6d56558a7debab3f0d75b406212d4d50d46b3c179f13bf98b1af68a2e21eede4284bb8c92293bc52eca08e70fbe7b9ede5a7ac75702212017c6fd53d9ac59cfccf4d5e24667b7d99c5fa886114994eb670dc77dfd33ae2c7a5d623b4e40c466dd0d618f9274e84ec0fe2af4a923167817b29320ad4fdd9ce1dd4cdb09fa7cad2bf43a15b23c410775e7b8110e181a9ac64de96a4fc3e7a9e50038da13a3216ec88df2a8953095ab283ef0f438dc33bdaaa49a6b3486e2419564549ebe690219a194fb40fa9db7acf7c6b40505b84ab9c85fcb558abb95406e5cfb283fd36a86932175c5f45c0c56dc3cfc58baae941d498316fccd23720c6c6005900591be26c232f5015e8a8b827876cbf0e35e4c5826af1264ce9d95485f035697bf4aa4b0c06a49e7711ac6f539cc24ae87c9b89cbaafc58fdd13ab3fc94d83f64ade6cdfe009626b4d6ec00b7c62f05bc64458b50f79aea2b5f79e0c6a85f9b82522356d8c10f7eebcd061f8ab5ff9dc971c478434e38872e27fdfcd97b0e5da19fdbb7046742af253038442352cef212eb95e6e0eff1cf66cbccbb4923922dbed50ce3fd56f517e8c68b551f2839e814639c441d8830da22d589646e0feb9ffefcbc92bde0b8de5a0467f57b6cd660ec1a87f1ce0929b7a326316c5e1598293fd063dc288425e25f7630625cf4d69a647ee7b65ba353e89da9f3bf36990053945815f366e8baf29aa378e9201565121f8e391d744fbfe5668cb5260ccf6a2dd887bfe700a4265a0ddfad8d549ee0afdde519f6f8a3bc92e7dd47842fa044ec503448781a7048efbe04421703bd143ffe09b5a4ff6b2aea4c21decfdb87b2d6cab4cc43e8a74d2568070ab8fe3c5c65bcafaf842b440d170dff8c9ec13a2ea27fe85fa8909ef701b9b1d440d98a098f599949b9acbc13c82f574249b09327fc9ce88882b62e4e1625e249567133bc03424813b354d9ced4eb1", 0xf00}, {&(0x7f0000001400)}, {&(0x7f0000001440)="e65659efc846448aa91f1233408fa7315509088fd485d7adf51ef6e43e072ae50c5fde768b5508647f3eb9c0178d2425d72a68ad64aa2d11150a8228fdc5ce7558e17957767361f03a169e30ff6fc4886eb70da936c7004e0b2c50b62b63eb587408dfa41d1567ee97292fe52ff15d65b6b70918ddc608ba6f5d0ae459a3a914faafd295bd0a2efb905362970a949beb5d384cae9268cf89db5ec77d93e5842fa28ad4ced15bb3e6ab93aee552e422625a2d2276061880421cd881ae6c5b1660f48cc968ae2d523db69bccec02f89c373bd745de35f4762ba51803e8e80708fd54b77838c9b9c7ca5f9250b798df9e1b787e2e", 0xf3}, {&(0x7f0000001540)="52d1eea7ddb3381b2b653991d164c90c77680708058c13c5b368bee04e9ca40818b569a2e9ff47e27acf2fdb0391", 0x2e}, {&(0x7f0000001580)="f2491362037cdf9f207ea1fa78424c928b59f36355c9490cedf360b2930f488c9070399fea3c3886029ada1cafa51361b0a275abcede532db1497957aff871da9f6521d3a7fb35564d7b7a4dbf828f40a223150b9019329ace6ff50db429f86e5571e3c89691f40e3ac01250d6a52fb7dce46f5f4ebd11bc1935c59590a13f45a2424ba92bafed6ac1451bc9dea8db529796390bd2dca9d931ec562a56e345557a363b4fcbd5ed58bef5c6c1903885c5429828d6131d480fe60984b0786f35f635b72f425867de651171ec1a483d86ba23eab2e2de88d941e8ac173f4bd656e25f003b474227bc873c303136bc5266e6185c1dc010", 0xf5}, {&(0x7f0000001680)}, {&(0x7f000000a180)="8b0849a12f5b400f90ecb97e33ecc0e6fdb8cb674443219070715e997782f38515761c6f781c7c0f740453c3d752fb1a9e4a3821cf24ea6d69a0d7492c6c59f4cae4f5ea9d0bd0b5a9ec5e868483ba52082c35d01ecfbe5b0512af261b63ad5af1d8158af3bfe0dcd5231d3e5772f8d7a2715f570a845ff40bc55b6069661b396ac74a0720f1f2839f5fbe829a2ad0436fcc58a28d51ce9301d48f9b45deca24bfe7f40fcaeac0c61e3ac4390e90e9f66e081cebffc4d74020a96f7e02536dc85b7f9a67815595fbc0e1a7b9346d1e553343e13ebed1937fadd63dec0e089c46baeba4f06d66b6989835c3aa3b9b15cf8e45645798fe3781e9b49e3d1c7cc9f99ae4e9a5a39cb42909c308bb845e11520bc1fdc0cdd47343f778f4c17b88a4381fc6719232a3d572480950fdb4ef0022da80a46f4167c45ac3ad1f7e2910e4cd7e6757b089d72cf0f97d658ab1ea4ca8906eec0d9f07adb9b5f0cfd956b45ebee4a1f12ac368e2215f82f14f469a05a8d33325a7154cb344319f6d2a2b4ad3aa6bb2b9ece77abdffde48fee162044038e910dbabb7c3669d527eb2ec34e4a428f3683d3242f272a23afc0ae6e8c15917e4417634b1edffcc56386d5f087d85f6ab97018b4171a79fd6b29d7db9c266be9f01ae514366c4f54a7ef364d26933b4e6d48227e0011c3caa5dc4a7ae5324652462c7f788049fc26a74de9cdc28f14026718bb9d2cf3a874dbfa2f7fb12428b89d26aaee83cc58a3d270b18a28de3c1cb7af6f3f58404b69b5f5759d3ed74be815c4d2cb51c56b851d0e292e56107406db1d786ce41a30b9deb69a7bb59411a89d1ce3dc9e6f4ed0018ca88c4bf17d8b0d90f1c69e0173da66f6f03c5179b5c76af09356ee5f95392bd1b69d13a1f1b1ef0a39ec3925c28488463447c276472f5a4d38910d2e8279fb5912a4ebcf80a1ddefa78b78878108ab105366fee37ad5528395c02004e77b4e9232549961b4bf0facc69f492cad5ef7376c4d2005527670aee0b0fa166b365321207e4d5fcd086e908cf4235e9645408018d8ea2aca2813e770f78af941e1139f809857878e44d187191e149cabefd2faeed2cc51f6049425d8b7da90f5b30bc3ea44b69db9e0a243aeb037e37866be5e13f85c1e31604acb8b5c58903b28dd84c65616f332eaa254dbb926cb5eeee147b1e2efb319586d1086f8405c38cc03b2886238452dbff727671da7d10feb009d44fe7d511239aad9adcf1dd230eb69a30eb8b6a4fba23e7413cd94457415ce3bad058d25cf99bc25fe40588ec20d568038c5460f4e3da4c555d603dc2e2a4054042159a6488780aec9a8064422e01598a5bebcdad1b4e4653fcc5e521adfaa6396abf4f3eef7f15a1e2b6a8d6fc755d9da20ea5abc1da21f7d686cda144fb6414750b240de5e16195c092a9d33be207f4357233cb9f0bbe70b902ea51cf1b1b1fe1cbdf905d26c34d237fe11520f66a8eb66ab1bbcaf74ace9efd2549e60dce39f767b1277aa0b9767d51c77382045f49b3a8b875c9eb86d399b6e1c5ae10517ffab985d55891711cd5bf322e1f63ccb157471f3c5707118ada3ebe8c104c623324986610dcae69205eae9f084d26bb2177ddcb96dd9d91a19060f694bf6e0df304d9ff28d0167013f75830fda9123f75a0316012c9aa72482d26a894890b3f0fbfe6967b7db4a88a1e43552ac3fb6e8e04012c7315628826557a97a2e89d705c5072862a23ca587bc2e1be38b36a150f0aa4df6a5cdf22b3657413d01e80d9a11ac97318a165adab07a86ef440fa8d8f6231032f2bc4dbd94c480bb95eece73e6324a9e020c8441b73ba506205b93e416978e72b8157f22d42b549b705946d2e61b7c0d923d5e656de3f63d9af191fd51ecd6382ad63a888b9b33b2bc88a06ecd856555bf70863964c494a00d7e8085b0573326a22710202fe1e89f02c4f11b9dd1c6780859a649d08844e19bdcd8a077e8e73051a00e85524dce626743307faa738c0e29b895646661964a82297ba7255730c2ed2f6632ca6630d1febbd8d5ea39b63f5989bb3e2cd33e93554c534c5334439727af02a1a649c5454dacccfbd75d9134f0dc3fd6418339da65982ce5ce8bac2404d0b0c9455063900959725e568dc01d8051f3e07b8ed6034a6868466f67bbe57f2eebb0a0b446b5098463bd0a4fd958ca835b0755ab18b39bbb777432931d1c42e661b41e058dbfe5dacf2a801b8b6d6aa96f9d5e3eb8b452c62320f3d076381b345ccbddcabe0a8d5132d94e142da48630ff9681b6286770ed07f3b5e0b22f566b5781c99369b1a1bf208ea26e5048f90e6bf2581df34aae797dec8248fd83177d069029a2dce35278c07826f30b5eda5d37666a7eb50682bd37cbba35fae8acd215df0fc48df12b97317b52cdb4865bf441239ebd8922d82b76ee5a5c3d7bbfcaa268e218bc0fa81b7f8595e9a541520e41189c804a4a27a96ee469b4170f0ed9e648dc50ec75c146676d235e7e29356be1f03ed8503e212d40cc617c8efcb8378686c2d6181ea40e596434c8df63c0b9a78da4e606f2e4b07d440d1d170abee305c06eff15473d72b14c7b6af5bf48f87e2dd239f918f6872bbfd4de02313b5cd4a5f49f7bca9c605044cd9b11f04e761f0d4654b9f21a262a290c6e472060c3ee845b1261ce464f60ee36008eb42bdabd1ebd7ea99a1d35a3471620d1085e7821302dacb97393e54c53f7fe569fc075e264742fe067d4e4662254fd2b263514e5c2f19e21719f331c05512f9bba59230b8a93a4748b6fbc1cf1d285e456bd7c247115774c9be7d94714c020c435d5560472e136fa57ec70bbf77e7d19f6e16093a3566ae2a19d58291957f5c230b7a44e4caa729b7e9f4cfd9cb454215b589baeac567fba4eea0a032b0627abd8766375a35a01796d6af74abc98785ff712c36b4dd76a3b44afb1bc54a19e5207e6eeb9475398d97adf6a587fd8178efa9ff9c1c37e45c9f26268e5823da4eb92932f4d4034daa2b622f4a6bfac8980811f2a26cfb19d19b3868dd32478d5c701a3cbdb443f73c60d79cdb39371531cc1aa8d9ecb244b2e8f64dc503352a19e4bb1ce158f7ed6610c39c71640346e3661d41d41c03f223a6dc917cdb43672a1b16724bb67792a05a26e9736d1f6034ee225a0b4d52e0d56164a903acf6022ceed55196e7c8f18b1fb0555b5c96dcda3ebb2dbf63e25be1a4cc0acf8e2ea79dbf45428c6fe121b71656ec513e35f52de6f12dd835e112873c705d0c8406a78ea7d5fa9cf3d59ef92926a60e85d8743935ba328cc67bc16012178da8cd0963db9b20553dc07de11b452fe0ea62608c8ad60e1cd279598401eaac146c77bde4640c46671fa009bce73fb1fa335470ecc9193da19a610264cf956b48c58eb888bed413ac6a7cbb5c8800e73f3d1e0418fe075f4b98c3a4344bb03703b1a2f0e771265ca18bb70f51d542516908c250164d2c99886641a2eea90fd6c9a0be3eb466e74e7e31a9824e9145483e330da128da3028555b91689eaf85be1cf856cd274c77acce2cf7253c7a7735bede740f0413b2d6586499c29388c55d051b9bdc7c45d6461a5306a6e0625ff3136cf4dd005a0011939ebc89c439d00a87ada7502eb1d27922e5826f295a3e37322d29ad64ecf97f9741ae4a4a67b8a6ba185b88e5b7978b1b79bad9eb67deda234c1fb4db034ab12a8f72262b0c341ab27180e1bcaf955152019c21833bebde7bed38bdfffa1a960051e4070560d6df522de4b6ebaa518075fcd0011afaa544e0f38f153e8730004a6148f35e11d2fc02058737e9387c754bdf0efd31cbf8a6dc8baf2468d61a26f9bec29b6cf0fb69e0c12c9d9fd0775f8e5d698e4c1a0c3f21359b86d6bc77daf0ea2cc253eacaad26717a9bfd99f56ce5099e88a5fe87229a562f6cfff4671f85bbde3bd82571c4fac1139f28e8ceceb7b05b8628a44c61cf691ee2bfe362171b3656f8ca863ff070eeaf5b071c70735c4a164f291e5fba7df4cc07851cd32c85703763458abee83adf232bd952c24a167f099fd669180d0217af37622373c44a7f5c16bb9033e8a9b17ac7529a488c3e9a7193de4262216cf0a6760ea3a0c32987e3aea8bfac48ea00f3df4ca7cf1432f32783012e877cedd80558f02164830c3b7791612d1233ecaefdf2f1d9a8863d0ade290ea341b3e6656513c2c0479948c43992fe1c770c1354489389751c824599c77f83aba2f69d34321866b90e18faef60cd5de1865405afee2345aad024456da6894b53d109eb4475929905f84005a9add3d355358ad33c4716dd255009ab3cca2f111a76dacdbd122aed55825734f9524a30387b15018da7d348a731e149c4b8a48a0fcf7d247d90d7363844c5cfedb3b4feaedd7cb2d4c2f354fcc9a1597c9574ddbcc07dc6afee273f8b291bafaf419d279bc71d299df32b7c396a8e1751253c791a8347549d8f7b2252acdc2bfa2335ccae4ceace1341d527e01dc2a8acf70c09e7f6de7614ad58cc45266755e13e71eab9d541954860ea1087ac80fdc71563f93f07367f0c63d8f63c8ad216b0310a3643bef325674622c358119a9ae4e5bccde9fbf3fa4b11488ea30b1dd42aa1cce0598af42481eb1dc3b8398314caf07bc80226664895c52cab75ab1b858d60049a1e50d40e727c5fcb167a432013a6df9fccfb12168361afedf84b4ac76ed837200d84569cf95bb2fb64b410b49e879f653c789c4b9c137e90c08222cc76870c8e54bdf5ef9e188e712ba42acf6e7558b285d077d3e240c1e7bb1c4e5c37b86d994e80ba3eda4e17100d5ae0cb0b356a4273fd96864880b30edf5185c46e49efc2b80af43604f9969792c60826414a4c542c69cadf9a1bc6f2fb0da232e00f3c97c8cf30be994087ab8f903ce65f8015db03c7d759447fc30e844cf7ff59ddd0f32c28b1e7fad4b5733ec8c96c87440f4c99642ae3cbdd55c6631b3b217e938e7c7a32e6f3ee2b5df05eb83e11fbada3fb67d678cc29dadc3e273b45bf8c5c52a8db3613144587b70553fbe92564b76ea8dbd2373974863f2013afc30859a5a5fb16d90f665f17ea240a7a91e38eed5be2c204218bce12c16b097cae00156be581eb907d4c39bf582861e5c78f72ffd260605ea83a6531b193696baad37c4149ade810a4b41af91de638c4c78b2767c98810294e7851043c6c92648eda1e5665a3bd89fe242e1cc85b3fc09a4a7d13d4ff92362e71c6dc2fcedc5896f6d9f548fa31a81c9ea18e6fc3bb9d661ec755edf9574595e0acc17f13d4aa40eb27fda7b1a220f1754c70fcfc79126448259657eb77747d4e7676f6071f1af3c48fbd10be9983333d24a10535e326c4e7198a9d757258a8faa146f8a316c50e1f4f6d985dd0a96bc12c14ea63eba8390dd5ef5592b011b51f771e7df390261199576eeeb166cff79e8096499731ad4aa7ed16738ef60ad35a78a7a58e30274ebb855bcdb46db728a376ebd57aa48d9179f19034e7a852d91312656aced37c6a54ef779af1b0346d1bb7c4fdc80ead8cbd7a5ce016a9fb262715cae61632828b35635f87d70c67c547d30300a021a3192c61bdbba11b5ad49b37acac89dd628c11d189a229bd8825cd89544d5b730627046c31a8cdcaa87cfede62752be00afa9ed735ef3c7911846f2fc3d18d6db5764b2192401aae39a739f5007edb4effd6d292155810f66baa81480d0d89ce2841350edc113d286362ce58eb9301438559a5f756216544a316423a29f2883453ab6d9f65489b25a702b041f0236fb0e2", 0xffe}, {&(0x7f0000001740)="82ba61f9b0f42c91bcbc599399dd66bb871691b2c37cd55dadb26dcfc83b7b92edc1dcfec186d69704466e384a682856348be583527e5329fdb5ea4d1dd643390f1dbb671e9aca6bbec9bca2cf0c5e1f76c3e76ee1a2f6e41078d1b5e5632058f7efb862853e00eff190c3661a23bf424adb2ef2945a956e0a1dcfa32f98463fa73299a70d5b90d50e6ea4f1ff10a4ea028765c28bff3be8b7c61ddaa446b5df91dd6f5c96f8fc48adefa8952206a1bdff65c78ad5746b3063f2fc8f94a18635fea3ad5dd555be5bbe9ce94954e66714eb4625dc705e78dce9e1641f1b2a56d642e6", 0xe2}], 0xa, &(0x7f0000001940)=[@rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, r2]}}, @cred={{0x1c}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, r8}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, r8}}}, @rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r6]}}], 0x98, 0x80}}, {{&(0x7f0000001a40)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000001bc0)=[{&(0x7f0000001ac0)="285b3b7b9d02898707aced8957e10b21a8e76578d75f9fc0d7182905d93e12838dbeecc6927b8aaf44a273d89ad21f820f831c8d04086bc17039398090009b6e1a510416b7783d81811700bcdce4f628d5ba5117869e83a3b9fe2ef244d04f71af5d2115f975540ce18de270c852c552507a93b43f3b0e8bd5d0369e27c5432430ff20eb44700cdafbac49db611061e680e48a9c6be0cd0eccb1fbbf0025ea52de014e4b7a87a21767dcabdf3d98e2faa842747b8f0ce94ea5ad1184ae39734b21b5fc92", 0xc4}], 0x1, &(0x7f0000001cc0)=[@cred={{0x1c, 0x1, 0x2, {r9, 0xee01, r8}}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r1]}}], 0x40, 0x20000040}}, {{&(0x7f0000001d40)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000002000)=[{&(0x7f0000001dc0)="fd38e1563affc3c10ab9da3c85b4b0786f05b46af2ea4e1716f7ceef926cf810c9edbd70e40ce60235c5908bc502569f6247583ab36f414c923845c21f9659a13397e57d04ed170dabc2b7db16e2b16b544d59c5d46016454337861eacda461b3f64539ba4ff96022eb4", 0x6a}, {&(0x7f0000001e40)="a77fc043ae283f50a9ad75f58e193bd3d9e317ce34f289d6bd7921c3f7", 0x1d}, {&(0x7f0000001e80)="1311ad7dbc06fc0c21ec9c2143bb865f073d93a21e32a4b054e1357724986e725d7aa82e9a42557065df442d2886c7750ffc2ae19d9528cb2d87f3d3af4205b3320fec682315b196a3f32a112c597145b104bcb630bb27e236c513fd5b9c296271fbc228ebe54e8b9e0da643346458cfafb5ac8929035f06aea5cbb65d3113a54627acb0f67c79161f3c82c4650410", 0x8f}, {&(0x7f0000001f40)="fa9d4d8cd893a554fb2721cddac82228ba7c7816d7ea3dbd30c65e20cb066205e02669f446c40a504c6e3b1faa3bf6f6f9620aaf0e82dd2b2a903981a3a2a95e3b1a98f0cd9d6e3236c753bba3abb1e2b1dcb09d8c1b", 0x56}, {&(0x7f0000001fc0)="7048053d42d420bd41c5c528fc2d8da49dcb496a53597867bb8833207b1a8dc99372553c1c888866ba5e49e86dd474b1ef72", 0x32}, {&(0x7f000000b180)="9f434b1e77ef6942d7192559a824b95ab6ce878329468c30d275402bad0c1064e1f0c939ad4f91e8cc537146b2b091512db9b204d0ffc091d33bd624ba6ecdedd4beed0b5bdecdab9070385e1e1198bb2da7d1a2c73e8e59d3cb09ad5e073f94535a012d3bd3c9a6062a756b854b31d173eb5622a783b6ca0a104f8b6856e03c581a92ddd7888388a321c400f08095d525c602b496c584b8a92024b7d6be42f322b19eaef8a06e605db77a587f6c5fc9fe61f3314361e90e459f36e46a7506585322cd41cf03e3b7ec86482d96434d10a4c1ab9e9a208198023734f700d4ca3f997382049a0079973d7a20dce28e6901adfbabfea105370d9228398c4a4e6c1ecdf4ddb413241d48831ab7e975906a2980ba82af71129468d9da47d992d44160da761136ac689735de476bcf45e9e0ea48f8befd2c36254e61ed166960b940a563da376e0acd0be27d705d19df40cdd52a67600c3d008e218dc5e85df78d83f636d6d56be41caff33818f83133267d4f907e3c9fc3649ef72dfafd25ae8afe63e160547a38591a59be34227be5da9c924114d0c298ff6bb94db71f209c19e206d1e8efee9ae55023c65064581c2f8ef2a9ce3bc8b157a71d05286ed8899212a5f0ab11eaadbc78094ac8649be87bb7feae4dc01bcda796880ce8ad6afb700b70385f3d24b4720abf5533fe9217ccdb2d45799aecf9e1c484e88ae85bfb8dc95ff7a65db6aeb0881539bdb8720deef1157c090e75a4e1c18c7abae20aa4193c1b0b3297324dfd2ec9670b4a90decf17168197b8d7fcd465c4c282e53718af3d3962afb447314cb140dc2a8189bf9cd5c92ec99595b8f23ae0562f5fcfd62e7b6c197685d8fba742653ab21e9081b1e839c4be5affb1714d81697943a63e448b5e3f59b8e9ee544c6a4a9f40b0d63fdb2b1d9364257af9eaed949459dceab3c770512e1f2ca065aafb2a85163e3135d410aea38ab62d283f24eed0fdc3605bc3e24daafc769b7bfdad477b94f323bb64859047ceb96e638782199a53ccf2c9b80f18412a97a451303aaad1e89dea904630363b13d4ea392ab4e079ebd5515abffddee327928d6741213b62e267c85a56c8c1ebd7a01798becdb56fa122e714464437494ade798799ae12c3e7784df229e1dcb7d03153ce9631009c024b64a90fb089049c52d7756ca33ee35fc7c581b1ea350eae554d685a446815b6cbd82bbba3bd0b7ea8b9d63abefb0e18d5604057fc279c26f6eb900f1c3f828cb064c212c2afd6f4066848a62bc9d44889901f2fd457fe57e41f14a3ad586008a16916e53f0654026ef286db685ef2ae381db888f2d8b23b5d2c2f8638c112e30eccb42b0be7830e6fd2dc1c783ce70231eadeaa53608949c0db39722ba745a0427e211e45e5e4c1061288bd45b73c1638a68e5cf924e804c3960f0b7df2c9f185b6cd9618192529aeba3a5cf10544d20704e04c69cc1aabd9ea3484464aaa3a6cfada004773d2d5855d8fa10995190b8a9e9e12f591f76418861010a696c02de2e9596262401adc85a35e8eeb64ff2f19183fd6542a24f095339cf9542d273e5b548fe1a89093c45c06d57d94022188c4bac94137accb8122897b62b578dd18bdee9d5c632ebecf73f41a5977278a126b807cd9935a67adf0dbcd0d69aeae0c6138cd5992840b458831d15580d8d9eac73e3edf13089beaba602d673197bdc184679925a1685d8a36046f95c1ebe0a264bfb4eef0c94183bfe01f5d85f1808e4176753ceaad1872381427a4bccae7f57682594d3cd949093bfffd7652da101800eb6effad284314a529410b3503090823bb8bdd44bba3dc56d7f95f4bc203073363c7c29913c8914654e8e2ccc1de9d5d275e60908f418c43e9e412bba3e9e5fd5356ad2b36bc8f0969b64aba777f5d18722f8a989d54eec6bece136e654fd48173d83cb53852b67dfd74bd35b70f8e07b6ab57a2936834dcf4c4a33304a4446fd8000d7881f7aafbaa222a7578605666af187e381bfff022428a4b5a1429d676148f2d6397f6ba846547714c4c0d75d1e2e9b88ea0326192f18b15bd968fa5c2f3f9e29c1f8744a4919bec623faf9322c5be954c3d8f5476c6148bd54377900727d1779ec6bd48eb08874b265a3a091e60a64a94e804fc924cb8d5fd1dd2885f8c67985491dbb8fcc2db65d444884936b97361d75f63a140d4b07acc47e617d4d7e797c4c8ca13af33f3719c32c535f2110e1b23225d886c80c713891162211b7f46a4457551489fcca62acaf7ba218c8caf50d2133a7f261874333d84690514e60948a3bec603a8011bc019b23856d862c04108cfe42ba1b282bb08dff17c89e1b6f3ca7569ee916c96ce394c0f2ee20eebf59f70e60f300bbbc8c036a6433fbf127abf52f7849481d076af594343eeb5ebe45787878bed205f9c9e738b68ca60c4924921648f68686f2018df1e535f8c34308e68a1aace20f351653f586c82bf2121c40b0c024990208cb25f55e211840064d10673ae23b916f0f9d4669b42ecb938cea02d8d2d63a138add7089ac69e6c7ba1f07b951929290dfd92060db0cfde15ca35ea9aa6af697165acea4bd789c6d760064b8af4ce9079631cc006ab684df8c83b95959d932584dd7107d8a375cc827d8f7f8c479c42f905db10ba0cfb8b5c781528e0a96723aa36468c8cc0a0c34e04469a1ddaa26066821cba6bbaa0245954d1602b8089944e7de77c4fa3e84147820c01add7767f527122320d8139bc172c5b00ef79e65675404093bfb66f49ab171440bd4362953edcff2ec5b6c6f2a01ca93e058962de9453ae02921e76b76726b15541842c0ba224bc238d2c5f99adb186129c54f14a69cac596bf1c9a3d5a3cc3fb2f44d3db7ba0dc36ccf7a1b163fcc7c0f8136b2a623d074a387e2ca547d80001c07eb9795fce3d7cca8dc080099b29341f26b4168b4dac2628d36f652a53598a6061ba3a3eb5dd3df173a800649d1e4f37927b1ab7d49d26df6651b2e1e0cc3827e2556822a2b0fa66650b0e201358477b4f2302173d8d244774805c62bbdcb769b459e2f0f21c5e6164a8378816ce5a4951ce13fc994851ac7cc8bc477cb25acdab479c1e60df0898cee98c87bcd354a0797ea0494a2b43bf9930898e2a67db2607ee1993faa945a8a5bfb7ec69de18e9bf5e23aef1145607277607fa7001d5dfb70b1de774452a8b74d56982dc8f9fe7ae1afa44ee33ea059b1855391e979542a710ba0b9f7109d57e2e14fdac34478fb1144a8bd5e41f2581e28509eb8353ae197308c8d6c96f149943bfee693d8f6928edd9913eec90dc56c2f00f713cd302401a067bcba519a8e7f5902936605bd3f18146ed9e0bc04e76740dd26a11cc72f0a86c138c3a3869cc208a80810e59668b838e16f9aa4bc105d286b0108fee60a47830ffaa449bd51652962798a6775d181eca479cdc6835ea2a7f988f62584e18e24776195a4efd14cac084831148f761d1cc7a9068b8ab0e9b6c09173b609c3dbc77a6245ae64fba248d02a45347848e2b984fda87350648690ebc3304fcf28b1fc5a6cbac7f10a84cd05ccbd12c56694c599acef195cd73b61cec8ede3d775d2d6c6c6620406b3f572f81951e870f28fd86fa4b3330bf44c8da2c12edf28bf24753268a03a9d6eb7383a2b32989dc10f8085c76d85c8e8b51aae5a0bf7e1396338ffe4d617abd3bf06fa29584d828f48a84d04161643642254fcdec3290a0a7cdfde7c9d5d7b7f028d809992a0ae0de1a0baa1bd773b7957168628183ced81f04e35d537675d88185db22d945af1515bb037dacd16c6e447b7de9802206d818535d8025dacedbdeeb8e1db6de9aebca33991b143f39b54fc7aca151bb382a4dc9f46e2a8bcf1db71cbc80625fb7afbf40d4b53349a25ad0178749df5bbcfcde701b8a6c38e899ae80f2258a8d4e4dc19f1c5fee1d59fcd864944c0f269fd79e056ab97ad78964b7003dd9c0e37fb6f5fe77b698aadfda9cc8e55ae971458efd419180a491dcd67efcb5440b2ad7b1ea15f5453be00bd14df36ef4a3890841e72edf7ca2a164d063f4d387753fa62d2e91787e31386716d6912a8e3a2ac67f38ae9524414a36e3655723fc0134c142b5f158d2cbe8fa599a7631c38dedd92453e6e3e1738aec0cfa5560d19f11edf7c5f996214ae452cb9b72944c5eac48ef301b36ce23c6795463d5a5b34adcf5f85a5f41fc8be528444fecbdf92f83518a94374726564ca906d5d9472dafab21c4aedbe0ed18764cd4ef3ecdcd1050c05c28ef407ff9cf1fb8ad663e1fef56b9d51aa8b8b767d46ed3c42e188187e3dc672f091635b93c1a6ec699e9175e571d00a96a80fb22328397ff24095515217fbc736ca49c117ffa9afe29cb8aae30f6d3b995916b08d99725408cb8e848071c63d1b0bbc1f1bbf0b31d1d503ac6d0df718e41c9ae6d376fd78680e16265b2b6035a9bfedf9f72a4a66e0613bfacc13aef7dbea9e05872097bab3f8435e9f4c0b4890818e2d575bee6cd1e19e5ec17cae91c5c4259b9d019775da43a00901e24842a55f7e483c4a28ebc0b1529d137d43c79b5ec772f87fdbc7ab3a292e5da7c9dc557460ad1629d196c27f557233a632fa49fe262fdca033f783d3cc8b17e8341c9913833648d4fce59cb60a612bf66d5172b6cec50653e63342a50bf41f62fd1297828dd9135af4dbe534ccf6021cea69ac9252a75f3f26a35723b3ad397826bca9dd8ab86f1503ab4bca46cb4ccd13ffd4822d8e5b4d9cab28573aae56a2cd444d420fda4f07346a533b243769755de02ed0fa9de4ab7c917b26a606065a87d77f8fb4386f79c26d7c459a146e569ac02d15296897e4d406f5460fc31f25037310e3e4d713448887760838f5fc1a5aaca7f4e53c3e1470bd93b13bd6ef559b218fcd8e5fb1ea07d6c312bb040374b5316a3d3291debdb781fe6994f5497b60ceb0fd92dc2666b62139eafa4c7a71d318f1d2912f2cbbb378f9eeb8344fd5eb716878156ece9d6fd94d80fdcd99f75493a5fb38218b659ea41ed17be535aaf96f14dfa90b3c9baa238d9dd9a9b37ee89316a74b4c3ba79ff397b4c7b53b1ac63dee1f07b771ef9c7447da0ebe5f45b3046aa8bf121d3c540788189b5bc7428f92e3dc71ba7056c8630f1a462019e3f477dfc8c87d213c43774beb4392652ff85e71822c8e6f9b97e6301c9c8b77e6551e7f8f41d75098f9c4ae11a6ec3c5a2dc19a76d641583194b6a3bde0f2c27c509cdc37a4626095a89153049cc977c24765a85403f0eb49465292a76d98d4e67e7f3e1ab461c6af527fd4d949162f63ba6ee1482729cc192497f33a646118e8734ca94ef329fcbe117a297d39998875ba63aa700ff88b1b18856a883d89b0fe67a1359e13b26066034a2cfd9a0fbfe24a09e32443647ba4416f55717e8f52897294bddc52a17b0853555db6bc37517d4b3e17874451660d3e6272fd370b5b6e05003c044ed457a5e720580455269693624c17fdeef7e70a21f0bd9289b74234a40249b291881e668a1b080b0e659307069bfa6da1ebc8160838ac08e145bf5f99a4f0c4398bcd864eef09e3b9c603ae92feec0a37a0ec6444358ef4dce3b94059f253b7f5318ef4ecbd1dde6c37959fb09deedc01e379a4fffbcc774bf64ed5a2664692f1f8ac67dac17938ad63f35cbdfe0ef25313db991cdeb57efda76cba23d7840aa0cf1e901029de02fd73861c5b94309e16167e85359782627335a3e31252588fbc3e0cfbc8bc46965f2cdf4c1ff77ec3edd59c684cd66ce7f19d7", 0x1000}], 0x6, &(0x7f0000003140)=[@cred={{0x1c, 0x1, 0x2, {r3, r7, r8}}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r2]}}], 0x58, 0x44881}}, {{&(0x7f00000031c0)=@abs={0x1, 0x0, 0x4e23}, 0x6e, &(0x7f0000003300)=[{&(0x7f0000003240)="4a684cf20fa4c828e736cbb1810aeffeadb0f7307c1fa997aad6b8cf9e8d7bfdb6a1f644ba2783b7732c862578a42db0cd16cc7a93c137503c1b6d0dbd6bd05269c7", 0x42}, {&(0x7f00000032c0)="eff4c401de7b47667ecc38e8998640b7b11a4072decb14", 0x17}], 0x2, &(0x7f0000003780)=[@rights={{0x28, 0x1, 0x1, [r5, 0xffffffffffffffff, 0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2, r1, r4, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, r4, r6, r4]}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, r2, 0xffffffffffffffff, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0xd0, 0x48094}}, {{&(0x7f0000003880)=@abs={0x0, 0x0, 0x4e21}, 0x6e, &(0x7f0000003c80)=[{&(0x7f0000003900)="1343feb5a4d5a948cfdfcbbc2e7a0238fc6db873c8f4eecfebb9e29d5b4287827e269281c4f127109052f56be83d84b5cd88f580dc5856a570d7efa0ee8f", 0x3e}, {&(0x7f0000003940)="24b4c6d7773605816cc2cc784b3789bedf8e81b1bd8709c29edcc2102ba4d396f4a6740a78cc1973ae716e8ab597f87b9a9210201451bf76bc15", 0x3a}, {&(0x7f00000039c0)="0b47a1b280974eed6cb2669a8740067ce2cb85b8b97fb2563a783e8f07f72df5bde6d654c3d1e1e8245dafce6935af209b1e93b42c0b1be281db3aa7bf2201c8ffe10af60ed1c2531330b48b47e5f3ccaf14f7d9d459d58a46cf421e451042585d1cc1d92f25d60948749ef1983885750f9af6da748e8d46de7f31ae54e9fdb2a17967aca53dae2970f8b8fc7ec51ef5287ba4c5f87a34bfa07e21b35a2a4284993898ba1ad2d2f906174e8ca9fb604c9c3f6ace6804365dd97782cc5a3bb4eb499d7801e7c5cef341a8bbd1eb673204cc74174460b606b5421736f1a6adbfae7d719c7b0e2f1f8a377a59696e470ba5652e662c2f40", 0xf6}, {&(0x7f0000003ac0)="f8d86bab4f0454f95d1ec412a3426185a0ade43998cd9f0f84f49185bbe6c944e6a6ca5ffa545407ffbf010071520dcd4aa67ed588d17d46e18e811cb26b0b4568d102630d7c2261bca95e8cabb23b2ee512ef5f38d8ec26d8c2e5ef38f9a24c88bd134b0b10b7ed174185f6065bb1433a6d5d1adf75e2fc83877c53aa34db83584774b8876acd3454ec2c017ee67e9e71", 0x91}, {&(0x7f0000003b80)="8c672dd0726be681c3785bf5d9efe454f93e4e443ea66dfd9d419036ad052053e68db8e52be4a54fa06fb5efbc529b5d6c5d806282f67d28999578d6133ffec48cd28a15db1036e3c7f96f3154ecba87903cdc4d9c54e2018f3009ed3e84ef656fa1ad7e692b7f186a72a60db6a0eceb333833b6f5805b97177ede715f81ceeb88a75bfa6934", 0x86}, {&(0x7f000000d180)="c462aa101004a491f0b65dfe061d5302c5344c10b7db5eca9e9cc3109cf6e0633e4cf3e0019d96ba90fff0a6680204c10363138322cee2d779bf3a9bb817771a6e0d539d2fe333c88a427c3e266654b32245545187f38372d0fb04a85c962982c9745448d533c9d2d74b4d349359383227b0a967a805ebc80819381d616859d81846be8755660edb6879b744178c8ca96436c948c5ee623b187bc7d228885f78cb4b30953eebd5a70413cb26a9b82a8daeebd3e2e16c1b585c6a0cb5e073f708c293e8c23e73037d87b67391f06a67e9516b80a5856558f2624d5d354ed1870ff1df19a7f43ae517234652ea6478be5b424ae84b7fd47320c4e960cd755856f32bdc0aa073f1f9736b1bd234f4757ee898afc9dd15dd78bbd6516d64b348358af36ce10bbf354dfa45accbe39ad3713acdad94ff8666ccfde6bf404a62f9fbdd2cafb318d81b2b009c8c637cfd3eb725ffa7a6213d3f6827590ffd63086a4cfa7e823fa8a58ff24374d06c57b629e0cf009ffd26c51b145754f3fdb940d8c209358abe268a0ac2952695c4ea58904d6cc8777f96737c3ed0c058b2b1e663144abdaf41da00b306a3c00e8123836bc3ccd6e62aa6773a6e5d2358be00012d11710166723eb016c008855ee8f3337ee47ea448204fef0fe66e630979ecede54356cea664bef4c9a3ff5f5fea9ec5847e8d2f45c5a760d966c9bc73e6c1a0533510f79fb646cbe257699eec82f5464b6c96f2f068dc2a89cc09aa4ee2cca325ca6aa2203f06b96279cd9ed7e09e6da187ba7959dc82b83d9e797a5e173e8aa7891226b8e1cc333c5c4d587ed7be29d4587dab18385b73d3855f0e028d975329057c87aab8b725e1d059deb70d04805b6c122fca93f783035990df37e0094d968d1e1cf380ffc45cd5a556459a66bb4499c56c480ee1f46ce13c5561317d02d0abbc791c15af79a745c8123d97d8173b17378f1101c9cd8325d69fc5b7deb9aced8c412b2e00d9400d46a8708d515939603822abce1b439cdec921be7b4a5b8d57fdc562cf76b6fdeb4fe81b4e9078798ea88c98ef2aad5605bb7a2732122724fd4ad85fda049235806bdd879a9079cae0e3fccb8298b2e73bb4d4aba262693d542e29dbb3a7502e0754bf1ee0d3370a0f1bd523c5c56b1254db1afb0c2f6ff5b079999300d0bd9e55c2bfcc487bb64803cc5c0f0361a1a75d2036b84c4c167fc88459b5b9ab4c6c47f17be136820cd1119e2c5187ce949e9da6aa4c1bc14cb6e5607e10d5532cd1fe9f3dab1b7bdcbfd05accb1f206669159bc65968ffd5fb721c6752060e7fd1f6d7ec8b8de2ebbbaf5ab64203e53eee1cf9ed810a09f42643696bacfb9a758c0c699a60c1c6d07997cee2c3f52f41bed98613aa629cd291b4395c3e1d158250631055fe5a9d3dba9f9207545f843f2f4ceaca79bcc35f48dc44b58ce72f0ddb3fac5c9fc4bb67eeaf1d4300305523f0193a4c39b889bbd8a3ce2496f0933ae73efc112bd9ed6e14ebcf8764a2aa2b7369d6b5d390acdb87a61ddc23ae2ba8e0e11b43b049ad2b4ee83dfbe5f3a60aa24671135a68de8cfec59fb6b1355cf43f910fb0db9ae92988215bb75c292e3351976f2405eadd9a8d63cb4be6b5741310e6b3c7e8bea8962d4705fb95a938e90cb4a79fd55e9a52366d1f712ad7d2643c3deb23a3c55b8d2b834cddead7bd3bb837f7b80554f3158c0367d551dd76334bf3bae56e61421faaf7665604dc63dabb251a6d187156a0394b899e2ac3e1650f193efa6d50ce512c3e1b0ddd2c2c6c5074287679162aba48666733c8bf472ea37bde1e93f74e4700bc4535c59974073028a9a8b80da04626b7733005f03df934c473b1450ece1d51dc35e8d178a4dcf8d3d107f8d07fa63394b825b45c0e1a0a2868686acc983474723ee75b1648f1094ca8bdc6d17c2f7b1385c3f9864cd962b8f4599cf3607b3afd055c6eeab08b67eade5a6af1c17cfecb03f962869e2123c6d36102031e4e3b7f212d78431c35386ea86388bba5a7f124d0af2ba2b512ce68d0a4546d0a0ee26322d07160e1fcda0e3156b86896b389a3d8e839759c8400374fa5cb6d85c036a5f62ceddeb6b02d265e5fa71a760d8e00ff57536a0f30eaa528e51ed02f229d3ef854ad5b3a5a7aaaef88636d36c9d338956d03db9bfe632850a3f45c01d669a32ca937bdee254b9d696f18adeb648a6a17e221601f0003a9c30a6a7eee29edf5aa47352541fcd2bad82e23e1d16fc19b3863f5f70b05301939cf52861e3a45c59c1c75388b3d56e4e2e2153e1be110b937bbce8a141430b599488272395ace986695f45eba3cf29cf52e1216bf492ef921ac4d021597ca53fbfa24585fd658ce52789c1ca2119b0a7cb6f1beeea5f4595b44cb93ec0d2653b258ad35d6e4802f20b6a2d1ad67594f7c3b0d32e9f8c47219e405ce65218de9cf0ce191921ee4e55b250157b8ee1b6f5b4580a8f8032401f1dce261e1c7a6d0ee371e5fb0935483fc94f08c431be59234fe33a922658facb0233c8fbf768865ce935dbefa524d20167044b11754265ae06608f7718de9c1787e76ade13a18f672c7c05acd966bf0c02cce953aca351e06eb8bc12f17756793c50b169a511601b5457ee242fd9ddc99059022535b79688fa2e58d4056a0bd0964dbbc673ea934f386d963751cad55ff0d554281544cda5e515622c8601241d86c863247fef1765e4a3ce034112564e20324f1df1e7b9b6be4ca940e837b10e406c4aa26bc49f362e77399f353282330b66b1494f549cf01793a2955520805f31a4cefbb10104d99193e7dae14f5c9ce88ceb659dd0c5c3429feb31e80e9f8eecdabaf88ecb4fed05d58aef73372452f7a2ffe972a364f3476f2c3f7a1c825332837b5af0174c636895b4da814c8b28d21842e7c8984b9bc770be472740626084ff5d145278b7600bbc38eb7a833dffe664d3d6e0e60775629e246684ba76b481386ddc6256f5e0315bbbaf3bc566dcc4110457114fbf59a18a2a5ac163633499ce12c20b683da1c83fee763aa09cd563112c9e1a2dc12a40c34b4d80f86b548206d6442950e0fe4b8c0344ca665bc890d81d83f1ab9d994722c1e4ff5ac5dd8e7fa2ff71f27a56ace7ae8ce4459073d594f5fd77d913cd588159f7b041c5fdf0f308f28c5aae30793fb637423fa6e9bf769071cadad157bab3fedc6dd1e17661b8ae45e1430f84658825e89774f3c618ada5db123e721b5c21c3744eb9cdd99fb0e0bfbcd7de8a7e1acc9b887d0e8ebe5f9e51cf840f10143bc45467c86e29692eff94ffa6343c6ae189e035769614b09a7aecf5096d6cb9154cb81ebaa25bce0d83f0504ef5ebe647992e9bcdf93f048afd9f9bbb7945c46ceee1083690680f8c0cfcbf97aba98e7c79d07f9465ca38e5e087057116430157b60754d7b823bdcef03f3faa95eea6466f25b340046e216b5a82e87b314eb6089ef5bb21e097194241c29451c6f1f03547f1bedd23563690a5d7b6087a748404bcb4f7ef1527c0915b68e80b294b3beeb9aac186a1b6d2441c1e3659ff9345db6b3d39665c2cb2229a0f61e140b5fa88b740eec31f02a9b1d59f2d9af9ced10fc80d2048833432624f10a0b175a09396c0f9a7d1ecd83f50fa301358c8f51d21af22bb09dc40328c5b4f52d35ea1a3fb16a6a4c36556b655949c64c56977dc551372eed50582ef6b9208b744f673414304c0f0430d99fdcef6f693b5423c5a1387144b1e212cc280e4edb6e71fe2da79466f2d935f62805174d4940b3373194cc3a110e1f4e9ca96f93300bcd121003a43318a92d79f8891a4d025471ff78ccbacf4df29f586a78e48bcd8dd5c63a971b7daba22fda4a81e99531154aa677c1b9009552111bd254852b040f4a942b4737af75493c57938ec2f7596a9356a0e863b3aa32ddb23bca989456e17574b20492035a3942fec05d0a58cbafe7a87d8bc6db69ab4a0ae814bb04792a7f0a5b6809bad53b0bc59c92860c7eab37fcd21ec8e713a6cceddcc4843868ac2894235d459f26162f29bb6c2fe252a232b1855a2d78377853ac60e659a75df744aceff013eaae7e29b1d2f9446a4472a60539405b8537abd1cac4ade8db3ce713fc05627ae0f9159acdf8c61d1b372c6f8341e9ecdad379cbdc8917fe5747bc8489d55a22cf918a6f6a5844582ef3c6d288a374cf362eb2deea5ac0c81f51f1b33063f26f947c2d968fa11a42de378522221cf9752bf114b8a0c31b51a58eabdfd38e4f5eb109dbaec4aa305d057215637aa9a6b7acfce0db78347282c6f202b98dcb07eabef7aa89cfc8f162b71c0a0650e53be3edc56832c482e47923add81f06bbd1fad2b94be0ad63e2623674f0c1c75aa7234939d68d77cea249148d214febabcdb9750f8db22a121e8667ae08a55cf1da0129258bd8fa5be51d25f066ad926a10ce2c6479787e377e404c80fd8431cddc80f5ef26a17ce807ea4e656bccaf3ea55fe5f2467965cfd440fa10c97675de1064a69186e99df6be7b02487d0689b2f344571719cf2731d251c4a39e53f24f368151bce1d28e510174e3a3433e16ace3c0de3a5f9c7ec73a30214aa61578d19c73b4466e3052b7af592e4cb9834fd9a1607805370ae0b5ea58aae641e311685a897fcf292a4b6e09c39d014f37837e5de9d0562a6ac3f14ecf952b73f2325a75d738b18702e438bd7d3044e1c030f7f0b99f9fe5428d566c89aa38e88e86c864d28024da57b2f1f91d7635bf84fd1e82569892663e210691a9a27f2087e0d41f8153a7ed3ffdf4baa2dd59138d575183ed6b52788aa947563de8d5e81f1b1e20ec37d7ae845092f282c9770007ef99c7976620fafc3e0f6e0458f99d68aecdf78c738ccf34462a541cb996395d99c313af8abcc0b0a50a26a0cda48b3e9bd3d07b8bcf7ac6301d9b89afbbe83b33f263112fcfe6a3b577957bc95649487766f868f87a1c2a511cb0156d085ea21aeb5c7d6cd9e12c2918c4ba905aac3cc529c68c43e1c10393f8a441a0576acbb86b9b2a1afa2e83728fb638b753e3d7daf84d8408833504c584b96e1186dea46624ca1a53564816a3fe8b8bb4c56713dd3a7d1cbab448860598a802085618bc1cc62725ec6bc39ef1e35f0e9f9ba93a3ea3d63f43897dde72939958aba528ae42f8cede790e21ad08ff6761bee75f7462934571b2c3953d0d9db089ebc0e4eecaed18f3a573b85be842f52907ca38d76296cd10d14cbe62bae05882917a3989046c876c8bf14ee95654a0bbbab24b865f73c43cd51695bb1c8a274c9134521d98ac920ce00547f90dbe6de80aad401a09108368f05661538bbd61e3e12512f8771cb6de6b4ee371fa356daa36267ed4703b4ff31ef3b38f12e793d7031d6125efc87e1da36db0f845665a78e54eab6d1aeefcece70cccbce483f499dc0a91fa74bec92bce581fa3cbffb4eaa8b79c478602987e60b1869ace5357b9d86e48b6ed8e9ae511e1bf293bfff142f85a392a24774f96e505860f0d0bb6ec0feec32ca88c8da6957de431dfc1532e741fa76af8c8dff78ff00115e5b67c97b6a0b7907c535ce501a81622837a175ac2c44f6bb73fcfa9287fdb6b5de1607b6eb74f35e5f4ed65b3377adf795c8a0af1b2021a6d23eddb1469314cee00f78e14de3fa2e7e3512f9f4d914ef272c8001279437d2bb998c9d48e89a89c0031375f1ab52fb3c0b7e989eb42af62f9c", 0xfd0}, {&(0x7f000000e180)="d89ef6f7e002caccda0722489ffbdf0254309517d27b1a5ea8270c07c1511e30759b722d280054841edbfb3930de804849b0de0a41aded6e2e54321e031a19a6315f195cfa16a911389088ec3347e4ff3b6ae24f6109639ca72a9c6992f74b552b41d8fc2d3235dc806a5046142215d2db494cae97007994a3e1bcb2b8c2fa0db806c31de65ac04ec1edd5eace0000717e18dd9bc2430ef2115fd6302b525b02a6045133bf256d946163a4c4572b6657442a2362d5513f3347aaedca30ca3c107681e6a44bd4e4d8cea71fb913938f187e227c670d18926485e0d8fcb7c53350717a22e4ddb252bba13e98e4d09fcd98bf5d38c5bd0bfe1559ad0e2b0861995dd9be4a99bdd240f252731af73b90ab764f7830fe2e700831e213c3f866de0e3032dba16185b8300996c7ca63e164b4861dbd9f272c59f090bc0f097576a010575ba8ac66eb1be4c87db2ab97c6926e045d020e092bc88776dc07d9c836d1078e1ee3b5cee11defe596e3ea98b73d82c519a3a10283133e4d462d5085c2b1a8fa5e4922355de91e948737a1bbc6e7479ea05b4d381755aa19afb2bd91598ffeeca349a0a6762b9aed362e5bec62129455785690de3238256ea5bfbf0b8ed39572d04cf05930256bc0956fe18f40dcf7810731f5e29ede5be18f838535c0c97f030cdc81ca3d694c0a117d75a19c67e15372174c61c28ff9e5d06f1ea85cb2edb192eedb6dd8b7ffd72948d53aab0a892e94ac7ae4265a1b288ddb341d0ab08156c94ab43c7cc60fbc5bd9425f1414b6f70c4e428bf42c6ad83c308caf85556bacc7a736ddd4d857ecd645a3a1fb8e58f5162b45b0a689eec7068d0fbb9768df46a253faee0bf695617dff4f79c315d35bbeb4fa884afb7b970ca2ebacead66ef8608cd1c902d8985c284266806443f9f2aa3c5463e34a574ce9b956a4d5e08e78fdbab8474ec066e3aa389ef1d83e8e3956869802afd9c74218d298ede3ae67bf965152be116814a6d9f506d42da4a571bb1cfa8759aaba0ea2512299513beaaf87ca4edc3d5f2d1dcf656e5436c03afe1cea78440e4c5b5d69e8ada0f4f76a8757c44a0c872f235a49743476d4c30931dcb651b0bf18ea478217130504e71affb07a50c5b80a33e9d0ac9447b199c9ff7945b2c2550f2b949d34d5f925476527722f33203d47e70c16d4145d4f52ee2b09006cf3e9d2edb099e470ac0394eb32b361c40283e77c403a21854b4b42df2fbed251285e1327777541f8b557d246063760167f407a04125fd705cd109e5c8bb600b3fd23f369546c32b7dc21749a559b57a23f7ec712d4ff95501c3744e4eb7b0bc3e310d63642ea8300d4c2dfccad1d0c557a1f9ebe5e25026a4f2a667381633853d5d14fb55bd3297bc885d69e03badd525771773f4145440de98198d98a0bd5026531e878dccf8cf6c8e434adde47bc90ee70a939918cc4d410b3884de3dde8a37d44ac9ec8190980c2496935d97ecc0f82d62ad980b663a653e1fb692130a65deea314ebc36d55e25511319dd5dcfa10ef2ba11a3c1213d57160069bd83fbe90f5af372db87b357d710f3c048019e46e45aae9aa16f96e1e1cb68dc380de2d45ea5d9e0f0a1c6f3e8ffbcc99a979730fceef6dd08350b7a10cca0dca52547aec0babab534042ec878a227b4a2433ecde87d67bdf3f9a0fd4b26b7a69b080e00848c96d8e19620f50e784178a873e75facfd9a537b44239fcc4e9963b8b6217949f769b36cb0111ae5425985fd40d340156ae69abde9d3aaadf0c7fc9493f0e4135a2c8c429fa9be9e3c91011d644c31c512698cc23156e7ece06736e0365e0bf40c838eb516424b1b8be1b48e4342fa6b4e5595277be1fddad67efdaf1f67853682c90387cd2d9fdf78fcbabf0ec7f829b4dd031ba29dbaa18154c2fb9bf543f1f3c87ff8324bfb4ca68ca8df39c8acb1725d291762cafac5134186ee0376a952d5e95302c2d0c732304d08c73fb2ff3fdf59088e0b6b0b6f029c4cb12ee2c3664dd1a026eb825b0c65430353c81879b2a5293b76a155649d6dd11a753249fe0c859c32b78240bbcd84756ad1c1245e28c2f46adc93ae75a9b2a6446495a909e58e3011cadf53aef53972f9c73eb7997d51a7aad95a306debff2822415d4c032254a17be17115516cb54a6d564a1e24ec0fdb49dc4be4ab72027aefb8ce208a62d275cdbb7a6164240aed2218b10ba5bdedf87961154ce74dc1e319dab1c880578039bb426a039e8638406f295cf48d0c5e06bd17ec0e0c27f906856b6c5eee5b383c6ad01471fa38e4dc32b77765043afc875188c48f9d06852b5ae6adb40080fc3c39baa80ac72f6bb6af2ecad46ec6c573716e790d460551f6df2bd1a581d9711e054f5369906c721c69aa80dff1b6105f75714818e9711ccef0874fb127d4b617f4b33a092c85812e291c03893e58bb104da25e7432772650ad78b4a572f3f2a3f50c93879775668c40dc0bc695e8ec6b4856d649647ba616182f0eed78442806ebbef822a91013b3ca65702b24808a029575927e5078146bd575544aa2b182d8bcd00d30f323c37b1353a02dcd780d25f111df1a2db2cd6ea5d83a3a55ad17a15529722032399757d05aae01edfb3e2af7a52604a19f4e34d4f32a4107e738ea494cb19a9c38b8fa23f9a79e2400b4b4fe9c270c5eea902bcc7905835900ce8b4c77db1fab18e849a9ae29a82f4ee68163a59ca5d5adae5955be86501af18fc90b4e8c08ecbef20ca5dde3d9cf36b68439b7dd1e0b21c14517f59fd4c1e57e9057b7bd4365800dc5ae2a5ffc629a21df2f678e34de4fc7181c3c82acec04421e23108315b672c43f27ed2ba3d5425d0b320077aef69a01a34d6fcecf2cd3ca9c9223d93145d9bea969e04788902d7d638d8d146cb006f12e290cbf7e37aa2cccca27b64e3bd4fd8f3da699a27365b5fda5508e82eab5da17dfb8fcaa135ba81ef0c0657e1f6725c725d49fc3a7a744c28abf59e00c2161b9a93da6b134329cba1c68ba777166d9bb8b2f114f3d07b272b685316d1caea398a2e21a21f0f6868260790d9b3069d7c2348d74bb31470937ec51b4c25d6cfc02146b66b9ffaf8891d3ddb92b3c0dfe0d72b2b3136c68f83ce0e75c8820d5c57768023cd225077321545e39c746fffdf3fc9f6aa41fce7cd0291c374a49eaab68ac5bee507d5ed65b99d762556439f66636d700f163a187b37cac1dc92b0869936b0982ad8d4660524a856a080b78b67b4dce4fb0754d33400dea4cb2a262a8af30b9916f5d46356226b79640e231352a3a2c85edd6e2ca6a6f18abf8c56235aaf7f25c0ca66609bafa48d815f841321ae3eb7f9282ffc6e065d719d9e9b58d4de634b21817dfbe307182d203001fd53c2f1958db31ce45322faee71aef95d2bf20df69b3f0bfd07f52c3c62490e019c6fc531fd7aa0e2c87944f832b4dfdd87daa7ec7ca5848e85e516e71e6fbe4c4dc6cc27d44a53dda7046f9e26aba8a42d3009cf3bafa95433189a281e8c0e9dfe9611fa060e2d9cc71bd8b6a98b1e71bca6d0222b3b4de49b947f42bd25332245506d5f40daf53e04a01267d480302835c24bd372be2f37a830208a50a781d050f714ed351e443caaa1a17936529ccbdde60ed9311a5f3dd8af7bb3da232a02856d980a5f4098f2554d9a4ec6480b9595166ccd971f21900ed7ae22e526b99915d881396215ef3614bbb71f7deb009f47f8ab2aaac664d8c59143f085fb3a86ee72e3dcd523585434bcd95ef821a013e0e38de9790855e8b0f69e5fd12ffed250065ca81dd19b6bd85cfd146a0da6af7f98ff8fd2333521d1d5809cd929273b4fe523a426f71ad0b631dbb5e8e186dae6e0a0373a18741e7e6e9016153c18435cdf221ec30b2bd1809c6bb0fae87748282db8b41a167695c3ceabb169b0289b94057d1bd53fabe06360b0cb6894f5f4438b06d8ff3bd27f5c417ba51b955f11ff60ed7d09384db306b7a5e80d5d04d947d11be10f85957652f0853eeea6527c0ba7ddb91a2d022d406a73f05779cee08d4a2c7e11352dfdabf2c4c0a409e772f802877be4d2379dc7d8998ab595ac53cfc671ac12367cf55bbc1157a03477675423dca732ff9a98d8a4360f1aac26c579fa0bf9d2aa86af769f353d6d1c35f3b782acecc7e834fc8fa1805eec27525881cf2b1d728432361a7cea7f73ef21c75ebd4ff8b7012fa3282e461e3a7481fb1ab3304425a4f2fdd8ce5efbe6e9dfd99cd8762deb56fcc741785c01c50f9944366ad6bd5ecf0932c6acd9cdfa08ea14b8ed5fb62ebaf83e0f07c6de66488daf753cf1fac15ace31c67a48ce3b27e043ba10b3db2352187a83cbe0a150c3398d410930292cb28d81cba0e0c4751cfb037058cb21f03d225c922ba62fc90d170e22dbc908f467129dc1bfad31168b9b1330faa96d590674319ebe5a9840d5321d3544d6f9391309dfcde763e9323665fd4be4b3a7cb56732797fd3648aa3dff554e62fc0dc1923d72485457113345afab3212056b396a9ddcfc10eefc8678b1ca092450440be87843d43dc46584a5c1683103098d3362bb46f1d29c676b748e68c009e7fabf1cdaf5356c1fcb1975fa706dfd9006687df826b9b22d571c87fdbfbd2ac2ef36413fadbddfd82e30c3e1ea4a9212f38ef93ae18fc4c044dba0b869acb77c31e963dbca138fa39f088d84dd9498e018f1db2b8462a22f30b0c201c7235b47edf4977097e914e2f6de6906966c6428f33558840d1e3751daacec652330280ce53766d3e52a3ddc0fdff1a8ac14a0f79f48a04875fe728a15c50c7fdf9f37d3a9a82c86d0731963752e9fe6327d22c1df3187c70f9773d07147370fadce66c6c22d60ccc5181c3b25eefcb90bfc2b1c163bc3bf7dddbb45af8a01253cf55e9016a1676848cfc1d093066eebaacc909f341642853f1c6ec879fa31f9912ea3b01bc4b057160303293c9be2dbe28c9cb019f95ab5b2996b7b3a78403a746a79f763b0ee2d6ec6eff09b74517ab4426a1689d76a3ece4e3e3ec456831b63b975b08578c130545e7a443433fc681627fcb03433190703f95aaede1489889e90c5dd05bde4d90453c19d161a8f9b9d9f9a893344f15fb10f4515a70578ae3d00422186c23e8b4ab9f7054be397001d1090de3ba030a5e2ecf01c43586ca01de8059bb8f916d10fef4640c63ca64f3aef5212f6fbc1a6099b53bbb439672d283cae4cee92bf0893b07737458e423a80059a88b6004fbd5ef0be4c0432060bdce6c533107e4d61813c8aec5c3a261556379fcce91d159906072a5a1168388b20eea389d9481f2253278057fbb0602e4475e14a7b7238d7ee133a4bd3799b382a4588aa72ab37cdfe07f17cae7f27eb6c866fe530ce4dcb297fb5eb7614261b83d992ae227150ae120c13a3c26a17eb4c66c303e3e733082127fae2afa8c265281f0ff670500e0e3d6f1826c8530ffaf69b21cb4683b50a93b68118ba9d174e59c7618abf75839e1c91e874466ae662f8cf1336b080fc201a0f7a3be1ec9b01acd58dc1c79f7bfab972909024d0dc4935b6c81e8c94259a33b11f77f1883d6d73953740078d6b588f1d7d499a1e3ffe998c64a1814616cc26ca0251e432f3666ba81280c01dd334e89ccdce2bf6dab21f7cde657bb0c6c25ff3c79fb268ba06b48d0a487415a3e50d206b9f88b14f6a0943b082bb610f2fb9c6f8f19f32c00dfdaa3ca477dc3ffef00b4e6039d032a63455619fe6366bb4aaba4ca007b0a564e1cb1686869836969aeb5048f1e5ffd0e81378c7c4", 0x1000}], 0x7, &(0x7f0000003dc0)=[@rights={{0x30, 0x1, 0x1, [r5, r4, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r2, 0xffffffffffffffff]}}, @rights={{0x30, 0x1, 0x1, [r5, 0xffffffffffffffff, 0xffffffffffffffff, r2, r5, 0xffffffffffffffff, r10, r6]}}], 0x60, 0x20004080}}], 0x6, 0x4048800) 23:47:06 executing program 5: syz_emit_ethernet(0x86, &(0x7f0000000000)={@broadcast, @remote, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x78, 0x0, 0x0, 0x0, 0x1, 0x0, @private=0xa010102, @local}, @redirect={0x5, 0x0, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}, {0x17, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x11, 0x0, @empty, @private, {[@cipso={0x86, 0xa, 0x0, [{0x0, 0x2}, {0x0, 0x2}]}, @timestamp_addr={0x44, 0x34, 0x0, 0x1, 0x0, [{@multicast2=0xe000006c}, {@dev}, {}, {@initdev={0xac, 0x1e, 0x0, 0x0}}, {@remote}, {@initdev={0xac, 0x1e, 0x0, 0x0}}]}, @timestamp={0x44, 0x8, 0x0, 0x0, 0x0, [0x0]}]}}}}}}}, 0x0) 23:47:06 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) prlimit64(0x0, 0x8, &(0x7f0000000240)={0x78b27b18, 0x7f}, &(0x7f0000000300)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, &(0x7f000057eff8)=@abs, 0x6e) sched_setscheduler(r0, 0x0, &(0x7f00000001c0)=0xfffffffa) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38, 0x5}, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/diskstats\x00', 0x0, 0x0) r5 = creat(&(0x7f0000000180)='./file0\x00', 0x82) r6 = syz_open_procfs(0x0, &(0x7f0000002100)='net/igmp\x00') read$FUSE(r6, &(0x7f0000004100)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) r10 = socket$nl_generic(0x10, 0x3, 0x10) r11 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_FEATURES_GET(r10, &(0x7f0000000d80)={0x0, 0x0, &(0x7f0000000d40)={&(0x7f00000001c0)={0x18, r11, 0x303, 0x0, 0x0, {}, [@HEADER={0x4}]}, 0x18}}, 0x0) sendmmsg$unix(r1, &(0x7f0000003e40)=[{{&(0x7f0000000c00)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000000d00)=[{&(0x7f0000000c80)="a912122d939c4b728ffc8b51946557b6d286b9370fb4a55f90b91b3375bef8b46dac15ad80a441720458e706f00759ecac5a0f8d799731654d030191b1b216e2dcd2cb1c5b78515ab676a4e0c9dc", 0x4e}], 0x1, &(0x7f0000001100)=[@cred={{0x1c, 0x1, 0x2, {0x0, r7}}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @rights={{0x14, 0x1, 0x1, [r5]}}, @rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2]}}, @cred={{0x1c, 0x1, 0x2, {0x0, r7, r8}}}, @rights={{0x2c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r5, 0xffffffffffffffff, r1, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, r8}}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r1, 0xffffffffffffffff, r2]}}], 0x128, 0x8c0}}, {{&(0x7f0000001240)=@file={0x0, './file0\x00'}, 0x6e, &(0x7f0000001840)=[{&(0x7f00000012c0)="d09b5c2723f8fd6562059bb88aa5b0c352f10da6a38ef7035ee7830ad219b783bc949708283794ecc9195fbf074c475ad1cf2207d0acfa6f40151562b66e0bed8c8b473ef3165d5f8f60500bfefd8d4cbc5d6964f9d3f7cd", 0x58}, {&(0x7f0000001340)="a52d41a018944f558e3ca62bd48adbd55e71b646c3c69026260c99d952f4bdd9e01d3a30d28a19aaa8db0c09f3a9f5ec228398579a432509b85921a1f1e785b2245f28b8cbeddec1f6e1f9aeee4c851e6ba4d1bc7aa98db493d51b1b016b161e5455eccf790e93747f7d6af2bffbd94dd2532f2e4c1f80118990ace6d13529eab7602b0440a6dd14f3e7c98a461841bf784195b1239aa2f1c29954ec52a3588767a8927f7367f30f43b845549c9c6be763eb", 0xb2}, {&(0x7f0000009180)="126d2b9d51b409748f339578c200f93027932dbf76c85cdac03d609a5c651942897d6ec4bf1ee830d07069d5650b4eb01071764b5ba0ffeb0294d8072a797216f4e161c5d60897d9ac39540b617352842463dfcb0d815d5554576e2357efde20477b0f7bd95ed1c0517e8aab90e798570a0ddbe094c392922e7f51925f14c40f1c5a26ddd862045a425871ead00a441176ad0095e215bc926ed7d82d2bfbffa7ab1e24d884841186a9d81f7768c1926469a1bade706056945e1fff87f66b15c39b6056ef75e40e7060c439bba69d3974f49fe45458747047dfe780246a80aa7de47d947e371d41a55865f5007682789a928b3a3c157c4fe9881dc81c70e215d235f0146d4b49aff3b8d2a0d11cbb7b3c1de10820dfd9b1f536fd00be409bdc30c908bd8321a014f04962dfce85b711a6996716d0d24594af0f3ca342477cfe0b8a922e74dff2f15ad3890cf7ed16d242b2510885bed46dfade48f2deb11237a476310a825a0485bb3cd761403d0f739bb5de8437b36d4b9bd9b03d91f7d74269262c15ab8c8f32d3a743e108016b02519b63991af336c193ba93646fe85d57006fe012f969dae35157217c056ecb1493f601ad617eb0589c627f37902eaf8459f48fc8c67849b34a5238ff1cc1273d9fdc450832fc7ed7b8654ce6bc54fd377c99fd573d75fa6657cd920ce04c234b985ba5737577e60b8e2b77d099d233fd2128471e0f58317ebb00a6721d08405c2366a97092d73d09abcc06a5f4014b079abd2e6b99ccc6abe61e20b561e944db830ddefca54dabe72c3108db206336dbab498b29af25bf97380896a34bd4c7f066ff9ad6e7b9348f8ec5baedf8dd5077e4b0ddee5939c748fd2e74c0b4dfaa425e37a4f1804bb7de46f89c71bda55651fc1824a243569b9e1b0b4385a39c468853db9d78704c8c7a3568804a0c827382f732fc296f228b0f6ecd0f9ec6e33ae27b644eab1f7bc62f37a9c544d3f54cec5b0f057d86bf5070aa1aec2ac778c6068e66cf6f5d890adbe1caa3ca5e3186375afa0322e19400d81910d737b6c7980fae2999933953318cd52fa5bf37db4bcbf7b6807ef8fa896cb5674bef395a649767c3e2258f70afc5dddaff2d69881d03f784bd98e576e6ae696f06c14b913abffc39a183c40d3d0e8ace9e4420e194c2c000a25c34c28e513f92260952a3dcd16d3783c73f2c74a91f56d0b2142eea9a25561307213169274760668c0ab4588d95c6b9fece33ebbc7ffb2e320050bcdb0c67f52713215fa728a9d76af775b6fdeb632ff57589eb4aad57ae85cd209b5113e50a1158623de64dbf7477382254b634483b82e8449085edb6bfee4fd81ade59ad6ed1052400816b0f0a0582e268e7a239933d30f30aeb4a5a587e219fbb302dbb7b7bfcecbcdd8325acaccbca33d7d2bd931d1617559493ac75471f141e987e8e3c93fc143783e3f6abab2d03f0dec1f963e1fda95325cf349edb1de8debd8bf68ba89dd823f91715d91bef90c6bce03d8cef94634d9e13b656c21549c9b659f991dff9be7395db1cdb7f90442d2c1e667417d41ace1d7db762c0db85a1fef9b555931f70aa2fa9c6c9edbb548b0d00cfc6a5df5f3a15f44e055a8d55bcf34ac43152cb95ded2db9fb18f1c442c3fe9ea649a74be098cd93184f8ce2e506247768cde1a3520235344fbfa5a94100150adbbf1cb8cf2cbac07ac6d54899a3967123795bcaf8d8db4617674cdfa1a7916fd9eef1cbc03477a0880c7aad8346400c6dcd794cc9226f68de0fc1b68280e0cca34ecc78966f2450370b82e3f4c2a0acfe70240a226c362a24a3b2a5af79afccc395c0fc2436e2ca93b7fa07af04bedc777eaa14d19fd40bc5e6654e4ee6d245b66e832a8b405c4bbdf384c75c820b6e4606e83953b66afebee0d89ae5877e0f28dcb332b4a49c481db125adc0f25e39ee56d125d878484c8a69c1a401c08c1dbdae404ce36870aa8f33276d8588391bd68ab1bc50da484fa1051ebc714b82dec47f55f08a369a179e4d271b007ed408b47985d0310481eff3bd69babffbe99cb3ecc0b8ede407a23f70f28442e355764b5dd2234b43a2b1393b621ad162fff201006c8a86c0c89e29476c489d526e10b24b1117c632bf05273783c61d620c830bb51607f173f7da412ad1cb6b93bf416db8c4f0470b4b1ba7aa8db83f680724551cf47d028147a21909a14453850476a9e3e801044af7d37aebd62096292848105a8ddac386357993b800610151c28a0d663d4ef86372b7068ab027f4d9ade49027785d92ace1324320e21a846d7051d8689df6aaf2d3f702d09164abad11f4780e216658356b823a4c484f9fea8ff4c8478bd28c84e9ce3c3e3c33c9539c01eacfd0f6863215bdbbd269ab57e6db2becb41b3d39e7f857cf875169fdd2553b4a31bb22c208dff81c0165b3da9f873ee5f5d3cb6be87064311b264b3522f041e0a943c5c49a888316d200bdda161f33073db9ba67a47ac3a72b0bbf1c9be1145a699701a093c5d744a41a68dc31d97540fd58681a36a83799e6d422cb70ae8af07a61941d01cbb5e28cf3275bc5e93aadb0e7fd45ddc76f0965d942ebf4e4de65abafb8357beb7fefe5996976d63596159997470d22ff0389556e82e1f21e65c8d9eec3be1cc3a9b2997ea4faa5769c54c4219ab9d8c715e605d68184242a43f79954c23d9dbd77aefce830696a8989631212f2f63c413178af8a9736623036634b720712d8c097c1c0f588b5d4c1d218c30924bcf130c49e847d4f32c5e603f8aff6cfe1c6201618f535126c4c1c43821b57939b0a455a51dda5778456bd44dd3632c723dc92ffa76878bbc36e3ec6dca25594901cea3988259e82095ce4d3b26d2e43f101cc1900de361c2de094958de049c8162283c984be6eda54b5ce9d5211a6465c11d8d7b89c7b171620f6e9d8c2adbce7bfc304f14497d49a5bb7ea3b0a3b6ece0e7bf0a675be76a55a05a72986b375fae47102b763bbb6db7359314b2ba198baf50d303e5b20da2691338c2e9dca35def9387b544051ae1d01d9dbb95931242c017ae01f874a2a16989ad427ef9a590d25712853852d7e6991b299e3f0fce6893ba5d4e979009be8f8fc3daca09a6a7a859fd72271e8fa5253b962098110abd1ae2383f5709ef1aca327be6c969691b2c5cd32e6ba69e0bf7e308441a371bfd9069c8f96aa2d4552044b859c6918bf5c0daacf3dd39c420f5f702996ada8ebd6b5ca960be1d0e668d488d197cdaa682be9599ba0624823ee832bded749130bc0e62a9fcaea723979ebf4b48335dd023ecc7609f2ded7b03a0672e7932c9872476042d9e7020271eaa99ecf17e4b4a31338d2231ba234cb12867e6000b0985409b0cbc5a6d1dc97e8a4f8aa2ea393bbcf533ca727028dfc5ac52c34069031e737aabf1af85767bd73f63c778c91468701e3608445f8da361efb67007fd797cfd4f8a5611dfceea4549f27c8337b37fa09784f3f3a57fbe28e076eb5179b7448873e3f42709126d39fd8f01e262b1bda7498b40989cbf22315d6f71f47c158c43f703d7c3fceeac35b4907a39664a677ec1a38052f213163a7924abec10e602b982ca57c80235c5216c13188fcafc255ed178a591a792103bc5ed871718e9d8c3e5bff7280e574a47ffac6adfa2edcae1616408c7d7061f6802730d1fab5fd00eec1cc1d726b8aab1e78dd4f99e8c1388f31a9db0f75940bdedf7d512c4628a5a4df51e2f141be52bba72bfc404a88ae868d8a408405ac215db7424acbd4f9efcd983ae533a229941d51bf0506a44d19970aafb06f902bf2092be06771c80004958dd406f9f46f7f9024a29087334d82b455fb5cd4d9a3ba17bdc072e3d503f2ff16b87d9a5b221273b1939d52d1c14331cfa99382c24f43e569b4b967675f37dbff88d390d3f608bbb0bb1efee22a65e9a0a880f15d3d44650dd2eb94834b2fa391ef218e2fbd2a5c93cff75f6b78dab127f3c7fe791dbeb5d0233b0a0d4ba404009b7fd9b96addb6d40d450818204041fb8ed62cfad63422a08f08516beea5b4a295d726aab5c40adbacdd3b0375490e9990f9f10ebd9a0a9ea263ed32d497ee59c7a5bcd06bfcd057a1052ed6ae549f0e6b02453975ace5d785f33553565984a12d553af63f161d427bc57098e728bc43a22dc41b5253aa903942219f169489e9d486b2620206aba7fb085c366b134d67a0efb93ecf72060e84a3411f874743701ba22ea1619c6f1067ff268780d3562bbdef8018578ce7afe59a2d84b908edf0daa1eafa7fb33a11d1414aadfe612b4c83cecc6b0a150422b13ae696a1ff5e9f11b68ddff191e39cc60666dc8d5497e2c129797a024b21cb58e782c3a40018f06a6469255cad97a5ee596625e7c04cb81a154bcbdc80a4ade3550660dc5fb07f67bea517be217d2a44156d07e3cacfecb7b508580e6d56558a7debab3f0d75b406212d4d50d46b3c179f13bf98b1af68a2e21eede4284bb8c92293bc52eca08e70fbe7b9ede5a7ac75702212017c6fd53d9ac59cfccf4d5e24667b7d99c5fa886114994eb670dc77dfd33ae2c7a5d623b4e40c466dd0d618f9274e84ec0fe2af4a923167817b29320ad4fdd9ce1dd4cdb09fa7cad2bf43a15b23c410775e7b8110e181a9ac64de96a4fc3e7a9e50038da13a3216ec88df2a8953095ab283ef0f438dc33bdaaa49a6b3486e2419564549ebe690219a194fb40fa9db7acf7c6b40505b84ab9c85fcb558abb95406e5cfb283fd36a86932175c5f45c0c56dc3cfc58baae941d498316fccd23720c6c6005900591be26c232f5015e8a8b827876cbf0e35e4c5826af1264ce9d95485f035697bf4aa4b0c06a49e7711ac6f539cc24ae87c9b89cbaafc58fdd13ab3fc94d83f64ade6cdfe009626b4d6ec00b7c62f05bc64458b50f79aea2b5f79e0c6a85f9b82522356d8c10f7eebcd061f8ab5ff9dc971c478434e38872e27fdfcd97b0e5da19fdbb7046742af253038442352cef212eb95e6e0eff1cf66cbccbb4923922dbed50ce3fd56f517e8c68b551f2839e814639c441d8830da22d589646e0feb9ffefcbc92bde0b8de5a0467f57b6cd660ec1a87f1ce0929b7a326316c5e1598293fd063dc288425e25f7630625cf4d69a647ee7b65ba353e89da9f3bf36990053945815f366e8baf29aa378e9201565121f8e391d744fbfe5668cb5260ccf6a2dd887bfe700a4265a0ddfad8d549ee0afdde519f6f8a3bc92e7dd47842fa044ec503448781a7048efbe04421703bd143ffe09b5a4ff6b2aea4c21decfdb87b2d6cab4cc43e8a74d2568070ab8fe3c5c65bcafaf842b440d170dff8c9ec13a2ea27fe85fa8909ef701b9b1d440d98a098f599949b9acbc13c82f574249b09327fc9ce88882b62e4e1625e249567133bc03424813b354d9ced4eb1", 0xf00}, {&(0x7f0000001400)}, {&(0x7f0000001440)="e65659efc846448aa91f1233408fa7315509088fd485d7adf51ef6e43e072ae50c5fde768b5508647f3eb9c0178d2425d72a68ad64aa2d11150a8228fdc5ce7558e17957767361f03a169e30ff6fc4886eb70da936c7004e0b2c50b62b63eb587408dfa41d1567ee97292fe52ff15d65b6b70918ddc608ba6f5d0ae459a3a914faafd295bd0a2efb905362970a949beb5d384cae9268cf89db5ec77d93e5842fa28ad4ced15bb3e6ab93aee552e422625a2d2276061880421cd881ae6c5b1660f48cc968ae2d523db69bccec02f89c373bd745de35f4762ba51803e8e80708fd54b77838c9b9c7ca5f9250b798df9e1b787e2e", 0xf3}, {&(0x7f0000001540)="52d1eea7ddb3381b2b653991d164c90c77680708058c13c5b368bee04e9ca40818b569a2e9ff47e27acf2fdb0391", 0x2e}, {&(0x7f0000001580)="f2491362037cdf9f207ea1fa78424c928b59f36355c9490cedf360b2930f488c9070399fea3c3886029ada1cafa51361b0a275abcede532db1497957aff871da9f6521d3a7fb35564d7b7a4dbf828f40a223150b9019329ace6ff50db429f86e5571e3c89691f40e3ac01250d6a52fb7dce46f5f4ebd11bc1935c59590a13f45a2424ba92bafed6ac1451bc9dea8db529796390bd2dca9d931ec562a56e345557a363b4fcbd5ed58bef5c6c1903885c5429828d6131d480fe60984b0786f35f635b72f425867de651171ec1a483d86ba23eab2e2de88d941e8ac173f4bd656e25f003b474227bc873c303136bc5266e6185c1dc010", 0xf5}, {&(0x7f0000001680)}, {&(0x7f000000a180)="8b0849a12f5b400f90ecb97e33ecc0e6fdb8cb674443219070715e997782f38515761c6f781c7c0f740453c3d752fb1a9e4a3821cf24ea6d69a0d7492c6c59f4cae4f5ea9d0bd0b5a9ec5e868483ba52082c35d01ecfbe5b0512af261b63ad5af1d8158af3bfe0dcd5231d3e5772f8d7a2715f570a845ff40bc55b6069661b396ac74a0720f1f2839f5fbe829a2ad0436fcc58a28d51ce9301d48f9b45deca24bfe7f40fcaeac0c61e3ac4390e90e9f66e081cebffc4d74020a96f7e02536dc85b7f9a67815595fbc0e1a7b9346d1e553343e13ebed1937fadd63dec0e089c46baeba4f06d66b6989835c3aa3b9b15cf8e45645798fe3781e9b49e3d1c7cc9f99ae4e9a5a39cb42909c308bb845e11520bc1fdc0cdd47343f778f4c17b88a4381fc6719232a3d572480950fdb4ef0022da80a46f4167c45ac3ad1f7e2910e4cd7e6757b089d72cf0f97d658ab1ea4ca8906eec0d9f07adb9b5f0cfd956b45ebee4a1f12ac368e2215f82f14f469a05a8d33325a7154cb344319f6d2a2b4ad3aa6bb2b9ece77abdffde48fee162044038e910dbabb7c3669d527eb2ec34e4a428f3683d3242f272a23afc0ae6e8c15917e4417634b1edffcc56386d5f087d85f6ab97018b4171a79fd6b29d7db9c266be9f01ae514366c4f54a7ef364d26933b4e6d48227e0011c3caa5dc4a7ae5324652462c7f788049fc26a74de9cdc28f14026718bb9d2cf3a874dbfa2f7fb12428b89d26aaee83cc58a3d270b18a28de3c1cb7af6f3f58404b69b5f5759d3ed74be815c4d2cb51c56b851d0e292e56107406db1d786ce41a30b9deb69a7bb59411a89d1ce3dc9e6f4ed0018ca88c4bf17d8b0d90f1c69e0173da66f6f03c5179b5c76af09356ee5f95392bd1b69d13a1f1b1ef0a39ec3925c28488463447c276472f5a4d38910d2e8279fb5912a4ebcf80a1ddefa78b78878108ab105366fee37ad5528395c02004e77b4e9232549961b4bf0facc69f492cad5ef7376c4d2005527670aee0b0fa166b365321207e4d5fcd086e908cf4235e9645408018d8ea2aca2813e770f78af941e1139f809857878e44d187191e149cabefd2faeed2cc51f6049425d8b7da90f5b30bc3ea44b69db9e0a243aeb037e37866be5e13f85c1e31604acb8b5c58903b28dd84c65616f332eaa254dbb926cb5eeee147b1e2efb319586d1086f8405c38cc03b2886238452dbff727671da7d10feb009d44fe7d511239aad9adcf1dd230eb69a30eb8b6a4fba23e7413cd94457415ce3bad058d25cf99bc25fe40588ec20d568038c5460f4e3da4c555d603dc2e2a4054042159a6488780aec9a8064422e01598a5bebcdad1b4e4653fcc5e521adfaa6396abf4f3eef7f15a1e2b6a8d6fc755d9da20ea5abc1da21f7d686cda144fb6414750b240de5e16195c092a9d33be207f4357233cb9f0bbe70b902ea51cf1b1b1fe1cbdf905d26c34d237fe11520f66a8eb66ab1bbcaf74ace9efd2549e60dce39f767b1277aa0b9767d51c77382045f49b3a8b875c9eb86d399b6e1c5ae10517ffab985d55891711cd5bf322e1f63ccb157471f3c5707118ada3ebe8c104c623324986610dcae69205eae9f084d26bb2177ddcb96dd9d91a19060f694bf6e0df304d9ff28d0167013f75830fda9123f75a0316012c9aa72482d26a894890b3f0fbfe6967b7db4a88a1e43552ac3fb6e8e04012c7315628826557a97a2e89d705c5072862a23ca587bc2e1be38b36a150f0aa4df6a5cdf22b3657413d01e80d9a11ac97318a165adab07a86ef440fa8d8f6231032f2bc4dbd94c480bb95eece73e6324a9e020c8441b73ba506205b93e416978e72b8157f22d42b549b705946d2e61b7c0d923d5e656de3f63d9af191fd51ecd6382ad63a888b9b33b2bc88a06ecd856555bf70863964c494a00d7e8085b0573326a22710202fe1e89f02c4f11b9dd1c6780859a649d08844e19bdcd8a077e8e73051a00e85524dce626743307faa738c0e29b895646661964a82297ba7255730c2ed2f6632ca6630d1febbd8d5ea39b63f5989bb3e2cd33e93554c534c5334439727af02a1a649c5454dacccfbd75d9134f0dc3fd6418339da65982ce5ce8bac2404d0b0c9455063900959725e568dc01d8051f3e07b8ed6034a6868466f67bbe57f2eebb0a0b446b5098463bd0a4fd958ca835b0755ab18b39bbb777432931d1c42e661b41e058dbfe5dacf2a801b8b6d6aa96f9d5e3eb8b452c62320f3d076381b345ccbddcabe0a8d5132d94e142da48630ff9681b6286770ed07f3b5e0b22f566b5781c99369b1a1bf208ea26e5048f90e6bf2581df34aae797dec8248fd83177d069029a2dce35278c07826f30b5eda5d37666a7eb50682bd37cbba35fae8acd215df0fc48df12b97317b52cdb4865bf441239ebd8922d82b76ee5a5c3d7bbfcaa268e218bc0fa81b7f8595e9a541520e41189c804a4a27a96ee469b4170f0ed9e648dc50ec75c146676d235e7e29356be1f03ed8503e212d40cc617c8efcb8378686c2d6181ea40e596434c8df63c0b9a78da4e606f2e4b07d440d1d170abee305c06eff15473d72b14c7b6af5bf48f87e2dd239f918f6872bbfd4de02313b5cd4a5f49f7bca9c605044cd9b11f04e761f0d4654b9f21a262a290c6e472060c3ee845b1261ce464f60ee36008eb42bdabd1ebd7ea99a1d35a3471620d1085e7821302dacb97393e54c53f7fe569fc075e264742fe067d4e4662254fd2b263514e5c2f19e21719f331c05512f9bba59230b8a93a4748b6fbc1cf1d285e456bd7c247115774c9be7d94714c020c435d5560472e136fa57ec70bbf77e7d19f6e16093a3566ae2a19d58291957f5c230b7a44e4caa729b7e9f4cfd9cb454215b589baeac567fba4eea0a032b0627abd8766375a35a01796d6af74abc98785ff712c36b4dd76a3b44afb1bc54a19e5207e6eeb9475398d97adf6a587fd8178efa9ff9c1c37e45c9f26268e5823da4eb92932f4d4034daa2b622f4a6bfac8980811f2a26cfb19d19b3868dd32478d5c701a3cbdb443f73c60d79cdb39371531cc1aa8d9ecb244b2e8f64dc503352a19e4bb1ce158f7ed6610c39c71640346e3661d41d41c03f223a6dc917cdb43672a1b16724bb67792a05a26e9736d1f6034ee225a0b4d52e0d56164a903acf6022ceed55196e7c8f18b1fb0555b5c96dcda3ebb2dbf63e25be1a4cc0acf8e2ea79dbf45428c6fe121b71656ec513e35f52de6f12dd835e112873c705d0c8406a78ea7d5fa9cf3d59ef92926a60e85d8743935ba328cc67bc16012178da8cd0963db9b20553dc07de11b452fe0ea62608c8ad60e1cd279598401eaac146c77bde4640c46671fa009bce73fb1fa335470ecc9193da19a610264cf956b48c58eb888bed413ac6a7cbb5c8800e73f3d1e0418fe075f4b98c3a4344bb03703b1a2f0e771265ca18bb70f51d542516908c250164d2c99886641a2eea90fd6c9a0be3eb466e74e7e31a9824e9145483e330da128da3028555b91689eaf85be1cf856cd274c77acce2cf7253c7a7735bede740f0413b2d6586499c29388c55d051b9bdc7c45d6461a5306a6e0625ff3136cf4dd005a0011939ebc89c439d00a87ada7502eb1d27922e5826f295a3e37322d29ad64ecf97f9741ae4a4a67b8a6ba185b88e5b7978b1b79bad9eb67deda234c1fb4db034ab12a8f72262b0c341ab27180e1bcaf955152019c21833bebde7bed38bdfffa1a960051e4070560d6df522de4b6ebaa518075fcd0011afaa544e0f38f153e8730004a6148f35e11d2fc02058737e9387c754bdf0efd31cbf8a6dc8baf2468d61a26f9bec29b6cf0fb69e0c12c9d9fd0775f8e5d698e4c1a0c3f21359b86d6bc77daf0ea2cc253eacaad26717a9bfd99f56ce5099e88a5fe87229a562f6cfff4671f85bbde3bd82571c4fac1139f28e8ceceb7b05b8628a44c61cf691ee2bfe362171b3656f8ca863ff070eeaf5b071c70735c4a164f291e5fba7df4cc07851cd32c85703763458abee83adf232bd952c24a167f099fd669180d0217af37622373c44a7f5c16bb9033e8a9b17ac7529a488c3e9a7193de4262216cf0a6760ea3a0c32987e3aea8bfac48ea00f3df4ca7cf1432f32783012e877cedd80558f02164830c3b7791612d1233ecaefdf2f1d9a8863d0ade290ea341b3e6656513c2c0479948c43992fe1c770c1354489389751c824599c77f83aba2f69d34321866b90e18faef60cd5de1865405afee2345aad024456da6894b53d109eb4475929905f84005a9add3d355358ad33c4716dd255009ab3cca2f111a76dacdbd122aed55825734f9524a30387b15018da7d348a731e149c4b8a48a0fcf7d247d90d7363844c5cfedb3b4feaedd7cb2d4c2f354fcc9a1597c9574ddbcc07dc6afee273f8b291bafaf419d279bc71d299df32b7c396a8e1751253c791a8347549d8f7b2252acdc2bfa2335ccae4ceace1341d527e01dc2a8acf70c09e7f6de7614ad58cc45266755e13e71eab9d541954860ea1087ac80fdc71563f93f07367f0c63d8f63c8ad216b0310a3643bef325674622c358119a9ae4e5bccde9fbf3fa4b11488ea30b1dd42aa1cce0598af42481eb1dc3b8398314caf07bc80226664895c52cab75ab1b858d60049a1e50d40e727c5fcb167a432013a6df9fccfb12168361afedf84b4ac76ed837200d84569cf95bb2fb64b410b49e879f653c789c4b9c137e90c08222cc76870c8e54bdf5ef9e188e712ba42acf6e7558b285d077d3e240c1e7bb1c4e5c37b86d994e80ba3eda4e17100d5ae0cb0b356a4273fd96864880b30edf5185c46e49efc2b80af43604f9969792c60826414a4c542c69cadf9a1bc6f2fb0da232e00f3c97c8cf30be994087ab8f903ce65f8015db03c7d759447fc30e844cf7ff59ddd0f32c28b1e7fad4b5733ec8c96c87440f4c99642ae3cbdd55c6631b3b217e938e7c7a32e6f3ee2b5df05eb83e11fbada3fb67d678cc29dadc3e273b45bf8c5c52a8db3613144587b70553fbe92564b76ea8dbd2373974863f2013afc30859a5a5fb16d90f665f17ea240a7a91e38eed5be2c204218bce12c16b097cae00156be581eb907d4c39bf582861e5c78f72ffd260605ea83a6531b193696baad37c4149ade810a4b41af91de638c4c78b2767c98810294e7851043c6c92648eda1e5665a3bd89fe242e1cc85b3fc09a4a7d13d4ff92362e71c6dc2fcedc5896f6d9f548fa31a81c9ea18e6fc3bb9d661ec755edf9574595e0acc17f13d4aa40eb27fda7b1a220f1754c70fcfc79126448259657eb77747d4e7676f6071f1af3c48fbd10be9983333d24a10535e326c4e7198a9d757258a8faa146f8a316c50e1f4f6d985dd0a96bc12c14ea63eba8390dd5ef5592b011b51f771e7df390261199576eeeb166cff79e8096499731ad4aa7ed16738ef60ad35a78a7a58e30274ebb855bcdb46db728a376ebd57aa48d9179f19034e7a852d91312656aced37c6a54ef779af1b0346d1bb7c4fdc80ead8cbd7a5ce016a9fb262715cae61632828b35635f87d70c67c547d30300a021a3192c61bdbba11b5ad49b37acac89dd628c11d189a229bd8825cd89544d5b730627046c31a8cdcaa87cfede62752be00afa9ed735ef3c7911846f2fc3d18d6db5764b2192401aae39a739f5007edb4effd6d292155810f66baa81480d0d89ce2841350edc113d286362ce58eb9301438559a5f756216544a316423a29f2883453ab6d9f65489b25a702b041f0236fb0e2", 0xffe}, {&(0x7f0000001740)="82ba61f9b0f42c91bcbc599399dd66bb871691b2c37cd55dadb26dcfc83b7b92edc1dcfec186d69704466e384a682856348be583527e5329fdb5ea4d1dd643390f1dbb671e9aca6bbec9bca2cf0c5e1f76c3e76ee1a2f6e41078d1b5e5632058f7efb862853e00eff190c3661a23bf424adb2ef2945a956e0a1dcfa32f98463fa73299a70d5b90d50e6ea4f1ff10a4ea028765c28bff3be8b7c61ddaa446b5df91dd6f5c96f8fc48adefa8952206a1bdff65c78ad5746b3063f2fc8f94a18635fea3ad5dd555be5bbe9ce94954e66714eb4625dc705e78dce9e1641f1b2a56d642e6", 0xe2}], 0xa, &(0x7f0000001940)=[@rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, r2]}}, @cred={{0x1c}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, r8}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, r8}}}, @rights={{0x1c, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r6]}}], 0x98, 0x80}}, {{&(0x7f0000001a40)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000001bc0)=[{&(0x7f0000001ac0)="285b3b7b9d02898707aced8957e10b21a8e76578d75f9fc0d7182905d93e12838dbeecc6927b8aaf44a273d89ad21f820f831c8d04086bc17039398090009b6e1a510416b7783d81811700bcdce4f628d5ba5117869e83a3b9fe2ef244d04f71af5d2115f975540ce18de270c852c552507a93b43f3b0e8bd5d0369e27c5432430ff20eb44700cdafbac49db611061e680e48a9c6be0cd0eccb1fbbf0025ea52de014e4b7a87a21767dcabdf3d98e2faa842747b8f0ce94ea5ad1184ae39734b21b5fc92", 0xc4}], 0x1, &(0x7f0000001cc0)=[@cred={{0x1c, 0x1, 0x2, {r9, 0xee01, r8}}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r1]}}], 0x40, 0x20000040}}, {{&(0x7f0000001d40)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000002000)=[{&(0x7f0000001dc0)="fd38e1563affc3c10ab9da3c85b4b0786f05b46af2ea4e1716f7ceef926cf810c9edbd70e40ce60235c5908bc502569f6247583ab36f414c923845c21f9659a13397e57d04ed170dabc2b7db16e2b16b544d59c5d46016454337861eacda461b3f64539ba4ff96022eb4", 0x6a}, {&(0x7f0000001e40)="a77fc043ae283f50a9ad75f58e193bd3d9e317ce34f289d6bd7921c3f7", 0x1d}, {&(0x7f0000001e80)="1311ad7dbc06fc0c21ec9c2143bb865f073d93a21e32a4b054e1357724986e725d7aa82e9a42557065df442d2886c7750ffc2ae19d9528cb2d87f3d3af4205b3320fec682315b196a3f32a112c597145b104bcb630bb27e236c513fd5b9c296271fbc228ebe54e8b9e0da643346458cfafb5ac8929035f06aea5cbb65d3113a54627acb0f67c79161f3c82c4650410", 0x8f}, {&(0x7f0000001f40)="fa9d4d8cd893a554fb2721cddac82228ba7c7816d7ea3dbd30c65e20cb066205e02669f446c40a504c6e3b1faa3bf6f6f9620aaf0e82dd2b2a903981a3a2a95e3b1a98f0cd9d6e3236c753bba3abb1e2b1dcb09d8c1b", 0x56}, {&(0x7f0000001fc0)="7048053d42d420bd41c5c528fc2d8da49dcb496a53597867bb8833207b1a8dc99372553c1c888866ba5e49e86dd474b1ef72", 0x32}, {&(0x7f000000b180)="9f434b1e77ef6942d7192559a824b95ab6ce878329468c30d275402bad0c1064e1f0c939ad4f91e8cc537146b2b091512db9b204d0ffc091d33bd624ba6ecdedd4beed0b5bdecdab9070385e1e1198bb2da7d1a2c73e8e59d3cb09ad5e073f94535a012d3bd3c9a6062a756b854b31d173eb5622a783b6ca0a104f8b6856e03c581a92ddd7888388a321c400f08095d525c602b496c584b8a92024b7d6be42f322b19eaef8a06e605db77a587f6c5fc9fe61f3314361e90e459f36e46a7506585322cd41cf03e3b7ec86482d96434d10a4c1ab9e9a208198023734f700d4ca3f997382049a0079973d7a20dce28e6901adfbabfea105370d9228398c4a4e6c1ecdf4ddb413241d48831ab7e975906a2980ba82af71129468d9da47d992d44160da761136ac689735de476bcf45e9e0ea48f8befd2c36254e61ed166960b940a563da376e0acd0be27d705d19df40cdd52a67600c3d008e218dc5e85df78d83f636d6d56be41caff33818f83133267d4f907e3c9fc3649ef72dfafd25ae8afe63e160547a38591a59be34227be5da9c924114d0c298ff6bb94db71f209c19e206d1e8efee9ae55023c65064581c2f8ef2a9ce3bc8b157a71d05286ed8899212a5f0ab11eaadbc78094ac8649be87bb7feae4dc01bcda796880ce8ad6afb700b70385f3d24b4720abf5533fe9217ccdb2d45799aecf9e1c484e88ae85bfb8dc95ff7a65db6aeb0881539bdb8720deef1157c090e75a4e1c18c7abae20aa4193c1b0b3297324dfd2ec9670b4a90decf17168197b8d7fcd465c4c282e53718af3d3962afb447314cb140dc2a8189bf9cd5c92ec99595b8f23ae0562f5fcfd62e7b6c197685d8fba742653ab21e9081b1e839c4be5affb1714d81697943a63e448b5e3f59b8e9ee544c6a4a9f40b0d63fdb2b1d9364257af9eaed949459dceab3c770512e1f2ca065aafb2a85163e3135d410aea38ab62d283f24eed0fdc3605bc3e24daafc769b7bfdad477b94f323bb64859047ceb96e638782199a53ccf2c9b80f18412a97a451303aaad1e89dea904630363b13d4ea392ab4e079ebd5515abffddee327928d6741213b62e267c85a56c8c1ebd7a01798becdb56fa122e714464437494ade798799ae12c3e7784df229e1dcb7d03153ce9631009c024b64a90fb089049c52d7756ca33ee35fc7c581b1ea350eae554d685a446815b6cbd82bbba3bd0b7ea8b9d63abefb0e18d5604057fc279c26f6eb900f1c3f828cb064c212c2afd6f4066848a62bc9d44889901f2fd457fe57e41f14a3ad586008a16916e53f0654026ef286db685ef2ae381db888f2d8b23b5d2c2f8638c112e30eccb42b0be7830e6fd2dc1c783ce70231eadeaa53608949c0db39722ba745a0427e211e45e5e4c1061288bd45b73c1638a68e5cf924e804c3960f0b7df2c9f185b6cd9618192529aeba3a5cf10544d20704e04c69cc1aabd9ea3484464aaa3a6cfada004773d2d5855d8fa10995190b8a9e9e12f591f76418861010a696c02de2e9596262401adc85a35e8eeb64ff2f19183fd6542a24f095339cf9542d273e5b548fe1a89093c45c06d57d94022188c4bac94137accb8122897b62b578dd18bdee9d5c632ebecf73f41a5977278a126b807cd9935a67adf0dbcd0d69aeae0c6138cd5992840b458831d15580d8d9eac73e3edf13089beaba602d673197bdc184679925a1685d8a36046f95c1ebe0a264bfb4eef0c94183bfe01f5d85f1808e4176753ceaad1872381427a4bccae7f57682594d3cd949093bfffd7652da101800eb6effad284314a529410b3503090823bb8bdd44bba3dc56d7f95f4bc203073363c7c29913c8914654e8e2ccc1de9d5d275e60908f418c43e9e412bba3e9e5fd5356ad2b36bc8f0969b64aba777f5d18722f8a989d54eec6bece136e654fd48173d83cb53852b67dfd74bd35b70f8e07b6ab57a2936834dcf4c4a33304a4446fd8000d7881f7aafbaa222a7578605666af187e381bfff022428a4b5a1429d676148f2d6397f6ba846547714c4c0d75d1e2e9b88ea0326192f18b15bd968fa5c2f3f9e29c1f8744a4919bec623faf9322c5be954c3d8f5476c6148bd54377900727d1779ec6bd48eb08874b265a3a091e60a64a94e804fc924cb8d5fd1dd2885f8c67985491dbb8fcc2db65d444884936b97361d75f63a140d4b07acc47e617d4d7e797c4c8ca13af33f3719c32c535f2110e1b23225d886c80c713891162211b7f46a4457551489fcca62acaf7ba218c8caf50d2133a7f261874333d84690514e60948a3bec603a8011bc019b23856d862c04108cfe42ba1b282bb08dff17c89e1b6f3ca7569ee916c96ce394c0f2ee20eebf59f70e60f300bbbc8c036a6433fbf127abf52f7849481d076af594343eeb5ebe45787878bed205f9c9e738b68ca60c4924921648f68686f2018df1e535f8c34308e68a1aace20f351653f586c82bf2121c40b0c024990208cb25f55e211840064d10673ae23b916f0f9d4669b42ecb938cea02d8d2d63a138add7089ac69e6c7ba1f07b951929290dfd92060db0cfde15ca35ea9aa6af697165acea4bd789c6d760064b8af4ce9079631cc006ab684df8c83b95959d932584dd7107d8a375cc827d8f7f8c479c42f905db10ba0cfb8b5c781528e0a96723aa36468c8cc0a0c34e04469a1ddaa26066821cba6bbaa0245954d1602b8089944e7de77c4fa3e84147820c01add7767f527122320d8139bc172c5b00ef79e65675404093bfb66f49ab171440bd4362953edcff2ec5b6c6f2a01ca93e058962de9453ae02921e76b76726b15541842c0ba224bc238d2c5f99adb186129c54f14a69cac596bf1c9a3d5a3cc3fb2f44d3db7ba0dc36ccf7a1b163fcc7c0f8136b2a623d074a387e2ca547d80001c07eb9795fce3d7cca8dc080099b29341f26b4168b4dac2628d36f652a53598a6061ba3a3eb5dd3df173a800649d1e4f37927b1ab7d49d26df6651b2e1e0cc3827e2556822a2b0fa66650b0e201358477b4f2302173d8d244774805c62bbdcb769b459e2f0f21c5e6164a8378816ce5a4951ce13fc994851ac7cc8bc477cb25acdab479c1e60df0898cee98c87bcd354a0797ea0494a2b43bf9930898e2a67db2607ee1993faa945a8a5bfb7ec69de18e9bf5e23aef1145607277607fa7001d5dfb70b1de774452a8b74d56982dc8f9fe7ae1afa44ee33ea059b1855391e979542a710ba0b9f7109d57e2e14fdac34478fb1144a8bd5e41f2581e28509eb8353ae197308c8d6c96f149943bfee693d8f6928edd9913eec90dc56c2f00f713cd302401a067bcba519a8e7f5902936605bd3f18146ed9e0bc04e76740dd26a11cc72f0a86c138c3a3869cc208a80810e59668b838e16f9aa4bc105d286b0108fee60a47830ffaa449bd51652962798a6775d181eca479cdc6835ea2a7f988f62584e18e24776195a4efd14cac084831148f761d1cc7a9068b8ab0e9b6c09173b609c3dbc77a6245ae64fba248d02a45347848e2b984fda87350648690ebc3304fcf28b1fc5a6cbac7f10a84cd05ccbd12c56694c599acef195cd73b61cec8ede3d775d2d6c6c6620406b3f572f81951e870f28fd86fa4b3330bf44c8da2c12edf28bf24753268a03a9d6eb7383a2b32989dc10f8085c76d85c8e8b51aae5a0bf7e1396338ffe4d617abd3bf06fa29584d828f48a84d04161643642254fcdec3290a0a7cdfde7c9d5d7b7f028d809992a0ae0de1a0baa1bd773b7957168628183ced81f04e35d537675d88185db22d945af1515bb037dacd16c6e447b7de9802206d818535d8025dacedbdeeb8e1db6de9aebca33991b143f39b54fc7aca151bb382a4dc9f46e2a8bcf1db71cbc80625fb7afbf40d4b53349a25ad0178749df5bbcfcde701b8a6c38e899ae80f2258a8d4e4dc19f1c5fee1d59fcd864944c0f269fd79e056ab97ad78964b7003dd9c0e37fb6f5fe77b698aadfda9cc8e55ae971458efd419180a491dcd67efcb5440b2ad7b1ea15f5453be00bd14df36ef4a3890841e72edf7ca2a164d063f4d387753fa62d2e91787e31386716d6912a8e3a2ac67f38ae9524414a36e3655723fc0134c142b5f158d2cbe8fa599a7631c38dedd92453e6e3e1738aec0cfa5560d19f11edf7c5f996214ae452cb9b72944c5eac48ef301b36ce23c6795463d5a5b34adcf5f85a5f41fc8be528444fecbdf92f83518a94374726564ca906d5d9472dafab21c4aedbe0ed18764cd4ef3ecdcd1050c05c28ef407ff9cf1fb8ad663e1fef56b9d51aa8b8b767d46ed3c42e188187e3dc672f091635b93c1a6ec699e9175e571d00a96a80fb22328397ff24095515217fbc736ca49c117ffa9afe29cb8aae30f6d3b995916b08d99725408cb8e848071c63d1b0bbc1f1bbf0b31d1d503ac6d0df718e41c9ae6d376fd78680e16265b2b6035a9bfedf9f72a4a66e0613bfacc13aef7dbea9e05872097bab3f8435e9f4c0b4890818e2d575bee6cd1e19e5ec17cae91c5c4259b9d019775da43a00901e24842a55f7e483c4a28ebc0b1529d137d43c79b5ec772f87fdbc7ab3a292e5da7c9dc557460ad1629d196c27f557233a632fa49fe262fdca033f783d3cc8b17e8341c9913833648d4fce59cb60a612bf66d5172b6cec50653e63342a50bf41f62fd1297828dd9135af4dbe534ccf6021cea69ac9252a75f3f26a35723b3ad397826bca9dd8ab86f1503ab4bca46cb4ccd13ffd4822d8e5b4d9cab28573aae56a2cd444d420fda4f07346a533b243769755de02ed0fa9de4ab7c917b26a606065a87d77f8fb4386f79c26d7c459a146e569ac02d15296897e4d406f5460fc31f25037310e3e4d713448887760838f5fc1a5aaca7f4e53c3e1470bd93b13bd6ef559b218fcd8e5fb1ea07d6c312bb040374b5316a3d3291debdb781fe6994f5497b60ceb0fd92dc2666b62139eafa4c7a71d318f1d2912f2cbbb378f9eeb8344fd5eb716878156ece9d6fd94d80fdcd99f75493a5fb38218b659ea41ed17be535aaf96f14dfa90b3c9baa238d9dd9a9b37ee89316a74b4c3ba79ff397b4c7b53b1ac63dee1f07b771ef9c7447da0ebe5f45b3046aa8bf121d3c540788189b5bc7428f92e3dc71ba7056c8630f1a462019e3f477dfc8c87d213c43774beb4392652ff85e71822c8e6f9b97e6301c9c8b77e6551e7f8f41d75098f9c4ae11a6ec3c5a2dc19a76d641583194b6a3bde0f2c27c509cdc37a4626095a89153049cc977c24765a85403f0eb49465292a76d98d4e67e7f3e1ab461c6af527fd4d949162f63ba6ee1482729cc192497f33a646118e8734ca94ef329fcbe117a297d39998875ba63aa700ff88b1b18856a883d89b0fe67a1359e13b26066034a2cfd9a0fbfe24a09e32443647ba4416f55717e8f52897294bddc52a17b0853555db6bc37517d4b3e17874451660d3e6272fd370b5b6e05003c044ed457a5e720580455269693624c17fdeef7e70a21f0bd9289b74234a40249b291881e668a1b080b0e659307069bfa6da1ebc8160838ac08e145bf5f99a4f0c4398bcd864eef09e3b9c603ae92feec0a37a0ec6444358ef4dce3b94059f253b7f5318ef4ecbd1dde6c37959fb09deedc01e379a4fffbcc774bf64ed5a2664692f1f8ac67dac17938ad63f35cbdfe0ef25313db991cdeb57efda76cba23d7840aa0cf1e901029de02fd73861c5b94309e16167e85359782627335a3e31252588fbc3e0cfbc8bc46965f2cdf4c1ff77ec3edd59c684cd66ce7f19d7", 0x1000}], 0x6, &(0x7f0000003140)=[@cred={{0x1c, 0x1, 0x2, {r3, r7, r8}}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r2]}}], 0x58, 0x44881}}, {{&(0x7f00000031c0)=@abs={0x1, 0x0, 0x4e23}, 0x6e, &(0x7f0000003300)=[{&(0x7f0000003240)="4a684cf20fa4c828e736cbb1810aeffeadb0f7307c1fa997aad6b8cf9e8d7bfdb6a1f644ba2783b7732c862578a42db0cd16cc7a93c137503c1b6d0dbd6bd05269c7", 0x42}, {&(0x7f00000032c0)="eff4c401de7b47667ecc38e8998640b7b11a4072decb14", 0x17}], 0x2, &(0x7f0000003780)=[@rights={{0x28, 0x1, 0x1, [r5, 0xffffffffffffffff, 0xffffffffffffffff, r2, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x34, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, r2, r1, r4, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, r4, r6, r4]}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, r2, 0xffffffffffffffff, r1, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0xd0, 0x48094}}, {{&(0x7f0000003880)=@abs={0x0, 0x0, 0x4e21}, 0x6e, &(0x7f0000003c80)=[{&(0x7f0000003900)="1343feb5a4d5a948cfdfcbbc2e7a0238fc6db873c8f4eecfebb9e29d5b4287827e269281c4f127109052f56be83d84b5cd88f580dc5856a570d7efa0ee8f", 0x3e}, {&(0x7f0000003940)="24b4c6d7773605816cc2cc784b3789bedf8e81b1bd8709c29edcc2102ba4d396f4a6740a78cc1973ae716e8ab597f87b9a9210201451bf76bc15", 0x3a}, {&(0x7f00000039c0)="0b47a1b280974eed6cb2669a8740067ce2cb85b8b97fb2563a783e8f07f72df5bde6d654c3d1e1e8245dafce6935af209b1e93b42c0b1be281db3aa7bf2201c8ffe10af60ed1c2531330b48b47e5f3ccaf14f7d9d459d58a46cf421e451042585d1cc1d92f25d60948749ef1983885750f9af6da748e8d46de7f31ae54e9fdb2a17967aca53dae2970f8b8fc7ec51ef5287ba4c5f87a34bfa07e21b35a2a4284993898ba1ad2d2f906174e8ca9fb604c9c3f6ace6804365dd97782cc5a3bb4eb499d7801e7c5cef341a8bbd1eb673204cc74174460b606b5421736f1a6adbfae7d719c7b0e2f1f8a377a59696e470ba5652e662c2f40", 0xf6}, {&(0x7f0000003ac0)="f8d86bab4f0454f95d1ec412a3426185a0ade43998cd9f0f84f49185bbe6c944e6a6ca5ffa545407ffbf010071520dcd4aa67ed588d17d46e18e811cb26b0b4568d102630d7c2261bca95e8cabb23b2ee512ef5f38d8ec26d8c2e5ef38f9a24c88bd134b0b10b7ed174185f6065bb1433a6d5d1adf75e2fc83877c53aa34db83584774b8876acd3454ec2c017ee67e9e71", 0x91}, {&(0x7f0000003b80)="8c672dd0726be681c3785bf5d9efe454f93e4e443ea66dfd9d419036ad052053e68db8e52be4a54fa06fb5efbc529b5d6c5d806282f67d28999578d6133ffec48cd28a15db1036e3c7f96f3154ecba87903cdc4d9c54e2018f3009ed3e84ef656fa1ad7e692b7f186a72a60db6a0eceb333833b6f5805b97177ede715f81ceeb88a75bfa6934", 0x86}, {&(0x7f000000d180)="c462aa101004a491f0b65dfe061d5302c5344c10b7db5eca9e9cc3109cf6e0633e4cf3e0019d96ba90fff0a6680204c10363138322cee2d779bf3a9bb817771a6e0d539d2fe333c88a427c3e266654b32245545187f38372d0fb04a85c962982c9745448d533c9d2d74b4d349359383227b0a967a805ebc80819381d616859d81846be8755660edb6879b744178c8ca96436c948c5ee623b187bc7d228885f78cb4b30953eebd5a70413cb26a9b82a8daeebd3e2e16c1b585c6a0cb5e073f708c293e8c23e73037d87b67391f06a67e9516b80a5856558f2624d5d354ed1870ff1df19a7f43ae517234652ea6478be5b424ae84b7fd47320c4e960cd755856f32bdc0aa073f1f9736b1bd234f4757ee898afc9dd15dd78bbd6516d64b348358af36ce10bbf354dfa45accbe39ad3713acdad94ff8666ccfde6bf404a62f9fbdd2cafb318d81b2b009c8c637cfd3eb725ffa7a6213d3f6827590ffd63086a4cfa7e823fa8a58ff24374d06c57b629e0cf009ffd26c51b145754f3fdb940d8c209358abe268a0ac2952695c4ea58904d6cc8777f96737c3ed0c058b2b1e663144abdaf41da00b306a3c00e8123836bc3ccd6e62aa6773a6e5d2358be00012d11710166723eb016c008855ee8f3337ee47ea448204fef0fe66e630979ecede54356cea664bef4c9a3ff5f5fea9ec5847e8d2f45c5a760d966c9bc73e6c1a0533510f79fb646cbe257699eec82f5464b6c96f2f068dc2a89cc09aa4ee2cca325ca6aa2203f06b96279cd9ed7e09e6da187ba7959dc82b83d9e797a5e173e8aa7891226b8e1cc333c5c4d587ed7be29d4587dab18385b73d3855f0e028d975329057c87aab8b725e1d059deb70d04805b6c122fca93f783035990df37e0094d968d1e1cf380ffc45cd5a556459a66bb4499c56c480ee1f46ce13c5561317d02d0abbc791c15af79a745c8123d97d8173b17378f1101c9cd8325d69fc5b7deb9aced8c412b2e00d9400d46a8708d515939603822abce1b439cdec921be7b4a5b8d57fdc562cf76b6fdeb4fe81b4e9078798ea88c98ef2aad5605bb7a2732122724fd4ad85fda049235806bdd879a9079cae0e3fccb8298b2e73bb4d4aba262693d542e29dbb3a7502e0754bf1ee0d3370a0f1bd523c5c56b1254db1afb0c2f6ff5b079999300d0bd9e55c2bfcc487bb64803cc5c0f0361a1a75d2036b84c4c167fc88459b5b9ab4c6c47f17be136820cd1119e2c5187ce949e9da6aa4c1bc14cb6e5607e10d5532cd1fe9f3dab1b7bdcbfd05accb1f206669159bc65968ffd5fb721c6752060e7fd1f6d7ec8b8de2ebbbaf5ab64203e53eee1cf9ed810a09f42643696bacfb9a758c0c699a60c1c6d07997cee2c3f52f41bed98613aa629cd291b4395c3e1d158250631055fe5a9d3dba9f9207545f843f2f4ceaca79bcc35f48dc44b58ce72f0ddb3fac5c9fc4bb67eeaf1d4300305523f0193a4c39b889bbd8a3ce2496f0933ae73efc112bd9ed6e14ebcf8764a2aa2b7369d6b5d390acdb87a61ddc23ae2ba8e0e11b43b049ad2b4ee83dfbe5f3a60aa24671135a68de8cfec59fb6b1355cf43f910fb0db9ae92988215bb75c292e3351976f2405eadd9a8d63cb4be6b5741310e6b3c7e8bea8962d4705fb95a938e90cb4a79fd55e9a52366d1f712ad7d2643c3deb23a3c55b8d2b834cddead7bd3bb837f7b80554f3158c0367d551dd76334bf3bae56e61421faaf7665604dc63dabb251a6d187156a0394b899e2ac3e1650f193efa6d50ce512c3e1b0ddd2c2c6c5074287679162aba48666733c8bf472ea37bde1e93f74e4700bc4535c59974073028a9a8b80da04626b7733005f03df934c473b1450ece1d51dc35e8d178a4dcf8d3d107f8d07fa63394b825b45c0e1a0a2868686acc983474723ee75b1648f1094ca8bdc6d17c2f7b1385c3f9864cd962b8f4599cf3607b3afd055c6eeab08b67eade5a6af1c17cfecb03f962869e2123c6d36102031e4e3b7f212d78431c35386ea86388bba5a7f124d0af2ba2b512ce68d0a4546d0a0ee26322d07160e1fcda0e3156b86896b389a3d8e839759c8400374fa5cb6d85c036a5f62ceddeb6b02d265e5fa71a760d8e00ff57536a0f30eaa528e51ed02f229d3ef854ad5b3a5a7aaaef88636d36c9d338956d03db9bfe632850a3f45c01d669a32ca937bdee254b9d696f18adeb648a6a17e221601f0003a9c30a6a7eee29edf5aa47352541fcd2bad82e23e1d16fc19b3863f5f70b05301939cf52861e3a45c59c1c75388b3d56e4e2e2153e1be110b937bbce8a141430b599488272395ace986695f45eba3cf29cf52e1216bf492ef921ac4d021597ca53fbfa24585fd658ce52789c1ca2119b0a7cb6f1beeea5f4595b44cb93ec0d2653b258ad35d6e4802f20b6a2d1ad67594f7c3b0d32e9f8c47219e405ce65218de9cf0ce191921ee4e55b250157b8ee1b6f5b4580a8f8032401f1dce261e1c7a6d0ee371e5fb0935483fc94f08c431be59234fe33a922658facb0233c8fbf768865ce935dbefa524d20167044b11754265ae06608f7718de9c1787e76ade13a18f672c7c05acd966bf0c02cce953aca351e06eb8bc12f17756793c50b169a511601b5457ee242fd9ddc99059022535b79688fa2e58d4056a0bd0964dbbc673ea934f386d963751cad55ff0d554281544cda5e515622c8601241d86c863247fef1765e4a3ce034112564e20324f1df1e7b9b6be4ca940e837b10e406c4aa26bc49f362e77399f353282330b66b1494f549cf01793a2955520805f31a4cefbb10104d99193e7dae14f5c9ce88ceb659dd0c5c3429feb31e80e9f8eecdabaf88ecb4fed05d58aef73372452f7a2ffe972a364f3476f2c3f7a1c825332837b5af0174c636895b4da814c8b28d21842e7c8984b9bc770be472740626084ff5d145278b7600bbc38eb7a833dffe664d3d6e0e60775629e246684ba76b481386ddc6256f5e0315bbbaf3bc566dcc4110457114fbf59a18a2a5ac163633499ce12c20b683da1c83fee763aa09cd563112c9e1a2dc12a40c34b4d80f86b548206d6442950e0fe4b8c0344ca665bc890d81d83f1ab9d994722c1e4ff5ac5dd8e7fa2ff71f27a56ace7ae8ce4459073d594f5fd77d913cd588159f7b041c5fdf0f308f28c5aae30793fb637423fa6e9bf769071cadad157bab3fedc6dd1e17661b8ae45e1430f84658825e89774f3c618ada5db123e721b5c21c3744eb9cdd99fb0e0bfbcd7de8a7e1acc9b887d0e8ebe5f9e51cf840f10143bc45467c86e29692eff94ffa6343c6ae189e035769614b09a7aecf5096d6cb9154cb81ebaa25bce0d83f0504ef5ebe647992e9bcdf93f048afd9f9bbb7945c46ceee1083690680f8c0cfcbf97aba98e7c79d07f9465ca38e5e087057116430157b60754d7b823bdcef03f3faa95eea6466f25b340046e216b5a82e87b314eb6089ef5bb21e097194241c29451c6f1f03547f1bedd23563690a5d7b6087a748404bcb4f7ef1527c0915b68e80b294b3beeb9aac186a1b6d2441c1e3659ff9345db6b3d39665c2cb2229a0f61e140b5fa88b740eec31f02a9b1d59f2d9af9ced10fc80d2048833432624f10a0b175a09396c0f9a7d1ecd83f50fa301358c8f51d21af22bb09dc40328c5b4f52d35ea1a3fb16a6a4c36556b655949c64c56977dc551372eed50582ef6b9208b744f673414304c0f0430d99fdcef6f693b5423c5a1387144b1e212cc280e4edb6e71fe2da79466f2d935f62805174d4940b3373194cc3a110e1f4e9ca96f93300bcd121003a43318a92d79f8891a4d025471ff78ccbacf4df29f586a78e48bcd8dd5c63a971b7daba22fda4a81e99531154aa677c1b9009552111bd254852b040f4a942b4737af75493c57938ec2f7596a9356a0e863b3aa32ddb23bca989456e17574b20492035a3942fec05d0a58cbafe7a87d8bc6db69ab4a0ae814bb04792a7f0a5b6809bad53b0bc59c92860c7eab37fcd21ec8e713a6cceddcc4843868ac2894235d459f26162f29bb6c2fe252a232b1855a2d78377853ac60e659a75df744aceff013eaae7e29b1d2f9446a4472a60539405b8537abd1cac4ade8db3ce713fc05627ae0f9159acdf8c61d1b372c6f8341e9ecdad379cbdc8917fe5747bc8489d55a22cf918a6f6a5844582ef3c6d288a374cf362eb2deea5ac0c81f51f1b33063f26f947c2d968fa11a42de378522221cf9752bf114b8a0c31b51a58eabdfd38e4f5eb109dbaec4aa305d057215637aa9a6b7acfce0db78347282c6f202b98dcb07eabef7aa89cfc8f162b71c0a0650e53be3edc56832c482e47923add81f06bbd1fad2b94be0ad63e2623674f0c1c75aa7234939d68d77cea249148d214febabcdb9750f8db22a121e8667ae08a55cf1da0129258bd8fa5be51d25f066ad926a10ce2c6479787e377e404c80fd8431cddc80f5ef26a17ce807ea4e656bccaf3ea55fe5f2467965cfd440fa10c97675de1064a69186e99df6be7b02487d0689b2f344571719cf2731d251c4a39e53f24f368151bce1d28e510174e3a3433e16ace3c0de3a5f9c7ec73a30214aa61578d19c73b4466e3052b7af592e4cb9834fd9a1607805370ae0b5ea58aae641e311685a897fcf292a4b6e09c39d014f37837e5de9d0562a6ac3f14ecf952b73f2325a75d738b18702e438bd7d3044e1c030f7f0b99f9fe5428d566c89aa38e88e86c864d28024da57b2f1f91d7635bf84fd1e82569892663e210691a9a27f2087e0d41f8153a7ed3ffdf4baa2dd59138d575183ed6b52788aa947563de8d5e81f1b1e20ec37d7ae845092f282c9770007ef99c7976620fafc3e0f6e0458f99d68aecdf78c738ccf34462a541cb996395d99c313af8abcc0b0a50a26a0cda48b3e9bd3d07b8bcf7ac6301d9b89afbbe83b33f263112fcfe6a3b577957bc95649487766f868f87a1c2a511cb0156d085ea21aeb5c7d6cd9e12c2918c4ba905aac3cc529c68c43e1c10393f8a441a0576acbb86b9b2a1afa2e83728fb638b753e3d7daf84d8408833504c584b96e1186dea46624ca1a53564816a3fe8b8bb4c56713dd3a7d1cbab448860598a802085618bc1cc62725ec6bc39ef1e35f0e9f9ba93a3ea3d63f43897dde72939958aba528ae42f8cede790e21ad08ff6761bee75f7462934571b2c3953d0d9db089ebc0e4eecaed18f3a573b85be842f52907ca38d76296cd10d14cbe62bae05882917a3989046c876c8bf14ee95654a0bbbab24b865f73c43cd51695bb1c8a274c9134521d98ac920ce00547f90dbe6de80aad401a09108368f05661538bbd61e3e12512f8771cb6de6b4ee371fa356daa36267ed4703b4ff31ef3b38f12e793d7031d6125efc87e1da36db0f845665a78e54eab6d1aeefcece70cccbce483f499dc0a91fa74bec92bce581fa3cbffb4eaa8b79c478602987e60b1869ace5357b9d86e48b6ed8e9ae511e1bf293bfff142f85a392a24774f96e505860f0d0bb6ec0feec32ca88c8da6957de431dfc1532e741fa76af8c8dff78ff00115e5b67c97b6a0b7907c535ce501a81622837a175ac2c44f6bb73fcfa9287fdb6b5de1607b6eb74f35e5f4ed65b3377adf795c8a0af1b2021a6d23eddb1469314cee00f78e14de3fa2e7e3512f9f4d914ef272c8001279437d2bb998c9d48e89a89c0031375f1ab52fb3c0b7e989eb42af62f9c", 0xfd0}, {&(0x7f000000e180)="d89ef6f7e002caccda0722489ffbdf0254309517d27b1a5ea8270c07c1511e30759b722d280054841edbfb3930de804849b0de0a41aded6e2e54321e031a19a6315f195cfa16a911389088ec3347e4ff3b6ae24f6109639ca72a9c6992f74b552b41d8fc2d3235dc806a5046142215d2db494cae97007994a3e1bcb2b8c2fa0db806c31de65ac04ec1edd5eace0000717e18dd9bc2430ef2115fd6302b525b02a6045133bf256d946163a4c4572b6657442a2362d5513f3347aaedca30ca3c107681e6a44bd4e4d8cea71fb913938f187e227c670d18926485e0d8fcb7c53350717a22e4ddb252bba13e98e4d09fcd98bf5d38c5bd0bfe1559ad0e2b0861995dd9be4a99bdd240f252731af73b90ab764f7830fe2e700831e213c3f866de0e3032dba16185b8300996c7ca63e164b4861dbd9f272c59f090bc0f097576a010575ba8ac66eb1be4c87db2ab97c6926e045d020e092bc88776dc07d9c836d1078e1ee3b5cee11defe596e3ea98b73d82c519a3a10283133e4d462d5085c2b1a8fa5e4922355de91e948737a1bbc6e7479ea05b4d381755aa19afb2bd91598ffeeca349a0a6762b9aed362e5bec62129455785690de3238256ea5bfbf0b8ed39572d04cf05930256bc0956fe18f40dcf7810731f5e29ede5be18f838535c0c97f030cdc81ca3d694c0a117d75a19c67e15372174c61c28ff9e5d06f1ea85cb2edb192eedb6dd8b7ffd72948d53aab0a892e94ac7ae4265a1b288ddb341d0ab08156c94ab43c7cc60fbc5bd9425f1414b6f70c4e428bf42c6ad83c308caf85556bacc7a736ddd4d857ecd645a3a1fb8e58f5162b45b0a689eec7068d0fbb9768df46a253faee0bf695617dff4f79c315d35bbeb4fa884afb7b970ca2ebacead66ef8608cd1c902d8985c284266806443f9f2aa3c5463e34a574ce9b956a4d5e08e78fdbab8474ec066e3aa389ef1d83e8e3956869802afd9c74218d298ede3ae67bf965152be116814a6d9f506d42da4a571bb1cfa8759aaba0ea2512299513beaaf87ca4edc3d5f2d1dcf656e5436c03afe1cea78440e4c5b5d69e8ada0f4f76a8757c44a0c872f235a49743476d4c30931dcb651b0bf18ea478217130504e71affb07a50c5b80a33e9d0ac9447b199c9ff7945b2c2550f2b949d34d5f925476527722f33203d47e70c16d4145d4f52ee2b09006cf3e9d2edb099e470ac0394eb32b361c40283e77c403a21854b4b42df2fbed251285e1327777541f8b557d246063760167f407a04125fd705cd109e5c8bb600b3fd23f369546c32b7dc21749a559b57a23f7ec712d4ff95501c3744e4eb7b0bc3e310d63642ea8300d4c2dfccad1d0c557a1f9ebe5e25026a4f2a667381633853d5d14fb55bd3297bc885d69e03badd525771773f4145440de98198d98a0bd5026531e878dccf8cf6c8e434adde47bc90ee70a939918cc4d410b3884de3dde8a37d44ac9ec8190980c2496935d97ecc0f82d62ad980b663a653e1fb692130a65deea314ebc36d55e25511319dd5dcfa10ef2ba11a3c1213d57160069bd83fbe90f5af372db87b357d710f3c048019e46e45aae9aa16f96e1e1cb68dc380de2d45ea5d9e0f0a1c6f3e8ffbcc99a979730fceef6dd08350b7a10cca0dca52547aec0babab534042ec878a227b4a2433ecde87d67bdf3f9a0fd4b26b7a69b080e00848c96d8e19620f50e784178a873e75facfd9a537b44239fcc4e9963b8b6217949f769b36cb0111ae5425985fd40d340156ae69abde9d3aaadf0c7fc9493f0e4135a2c8c429fa9be9e3c91011d644c31c512698cc23156e7ece06736e0365e0bf40c838eb516424b1b8be1b48e4342fa6b4e5595277be1fddad67efdaf1f67853682c90387cd2d9fdf78fcbabf0ec7f829b4dd031ba29dbaa18154c2fb9bf543f1f3c87ff8324bfb4ca68ca8df39c8acb1725d291762cafac5134186ee0376a952d5e95302c2d0c732304d08c73fb2ff3fdf59088e0b6b0b6f029c4cb12ee2c3664dd1a026eb825b0c65430353c81879b2a5293b76a155649d6dd11a753249fe0c859c32b78240bbcd84756ad1c1245e28c2f46adc93ae75a9b2a6446495a909e58e3011cadf53aef53972f9c73eb7997d51a7aad95a306debff2822415d4c032254a17be17115516cb54a6d564a1e24ec0fdb49dc4be4ab72027aefb8ce208a62d275cdbb7a6164240aed2218b10ba5bdedf87961154ce74dc1e319dab1c880578039bb426a039e8638406f295cf48d0c5e06bd17ec0e0c27f906856b6c5eee5b383c6ad01471fa38e4dc32b77765043afc875188c48f9d06852b5ae6adb40080fc3c39baa80ac72f6bb6af2ecad46ec6c573716e790d460551f6df2bd1a581d9711e054f5369906c721c69aa80dff1b6105f75714818e9711ccef0874fb127d4b617f4b33a092c85812e291c03893e58bb104da25e7432772650ad78b4a572f3f2a3f50c93879775668c40dc0bc695e8ec6b4856d649647ba616182f0eed78442806ebbef822a91013b3ca65702b24808a029575927e5078146bd575544aa2b182d8bcd00d30f323c37b1353a02dcd780d25f111df1a2db2cd6ea5d83a3a55ad17a15529722032399757d05aae01edfb3e2af7a52604a19f4e34d4f32a4107e738ea494cb19a9c38b8fa23f9a79e2400b4b4fe9c270c5eea902bcc7905835900ce8b4c77db1fab18e849a9ae29a82f4ee68163a59ca5d5adae5955be86501af18fc90b4e8c08ecbef20ca5dde3d9cf36b68439b7dd1e0b21c14517f59fd4c1e57e9057b7bd4365800dc5ae2a5ffc629a21df2f678e34de4fc7181c3c82acec04421e23108315b672c43f27ed2ba3d5425d0b320077aef69a01a34d6fcecf2cd3ca9c9223d93145d9bea969e04788902d7d638d8d146cb006f12e290cbf7e37aa2cccca27b64e3bd4fd8f3da699a27365b5fda5508e82eab5da17dfb8fcaa135ba81ef0c0657e1f6725c725d49fc3a7a744c28abf59e00c2161b9a93da6b134329cba1c68ba777166d9bb8b2f114f3d07b272b685316d1caea398a2e21a21f0f6868260790d9b3069d7c2348d74bb31470937ec51b4c25d6cfc02146b66b9ffaf8891d3ddb92b3c0dfe0d72b2b3136c68f83ce0e75c8820d5c57768023cd225077321545e39c746fffdf3fc9f6aa41fce7cd0291c374a49eaab68ac5bee507d5ed65b99d762556439f66636d700f163a187b37cac1dc92b0869936b0982ad8d4660524a856a080b78b67b4dce4fb0754d33400dea4cb2a262a8af30b9916f5d46356226b79640e231352a3a2c85edd6e2ca6a6f18abf8c56235aaf7f25c0ca66609bafa48d815f841321ae3eb7f9282ffc6e065d719d9e9b58d4de634b21817dfbe307182d203001fd53c2f1958db31ce45322faee71aef95d2bf20df69b3f0bfd07f52c3c62490e019c6fc531fd7aa0e2c87944f832b4dfdd87daa7ec7ca5848e85e516e71e6fbe4c4dc6cc27d44a53dda7046f9e26aba8a42d3009cf3bafa95433189a281e8c0e9dfe9611fa060e2d9cc71bd8b6a98b1e71bca6d0222b3b4de49b947f42bd25332245506d5f40daf53e04a01267d480302835c24bd372be2f37a830208a50a781d050f714ed351e443caaa1a17936529ccbdde60ed9311a5f3dd8af7bb3da232a02856d980a5f4098f2554d9a4ec6480b9595166ccd971f21900ed7ae22e526b99915d881396215ef3614bbb71f7deb009f47f8ab2aaac664d8c59143f085fb3a86ee72e3dcd523585434bcd95ef821a013e0e38de9790855e8b0f69e5fd12ffed250065ca81dd19b6bd85cfd146a0da6af7f98ff8fd2333521d1d5809cd929273b4fe523a426f71ad0b631dbb5e8e186dae6e0a0373a18741e7e6e9016153c18435cdf221ec30b2bd1809c6bb0fae87748282db8b41a167695c3ceabb169b0289b94057d1bd53fabe06360b0cb6894f5f4438b06d8ff3bd27f5c417ba51b955f11ff60ed7d09384db306b7a5e80d5d04d947d11be10f85957652f0853eeea6527c0ba7ddb91a2d022d406a73f05779cee08d4a2c7e11352dfdabf2c4c0a409e772f802877be4d2379dc7d8998ab595ac53cfc671ac12367cf55bbc1157a03477675423dca732ff9a98d8a4360f1aac26c579fa0bf9d2aa86af769f353d6d1c35f3b782acecc7e834fc8fa1805eec27525881cf2b1d728432361a7cea7f73ef21c75ebd4ff8b7012fa3282e461e3a7481fb1ab3304425a4f2fdd8ce5efbe6e9dfd99cd8762deb56fcc741785c01c50f9944366ad6bd5ecf0932c6acd9cdfa08ea14b8ed5fb62ebaf83e0f07c6de66488daf753cf1fac15ace31c67a48ce3b27e043ba10b3db2352187a83cbe0a150c3398d410930292cb28d81cba0e0c4751cfb037058cb21f03d225c922ba62fc90d170e22dbc908f467129dc1bfad31168b9b1330faa96d590674319ebe5a9840d5321d3544d6f9391309dfcde763e9323665fd4be4b3a7cb56732797fd3648aa3dff554e62fc0dc1923d72485457113345afab3212056b396a9ddcfc10eefc8678b1ca092450440be87843d43dc46584a5c1683103098d3362bb46f1d29c676b748e68c009e7fabf1cdaf5356c1fcb1975fa706dfd9006687df826b9b22d571c87fdbfbd2ac2ef36413fadbddfd82e30c3e1ea4a9212f38ef93ae18fc4c044dba0b869acb77c31e963dbca138fa39f088d84dd9498e018f1db2b8462a22f30b0c201c7235b47edf4977097e914e2f6de6906966c6428f33558840d1e3751daacec652330280ce53766d3e52a3ddc0fdff1a8ac14a0f79f48a04875fe728a15c50c7fdf9f37d3a9a82c86d0731963752e9fe6327d22c1df3187c70f9773d07147370fadce66c6c22d60ccc5181c3b25eefcb90bfc2b1c163bc3bf7dddbb45af8a01253cf55e9016a1676848cfc1d093066eebaacc909f341642853f1c6ec879fa31f9912ea3b01bc4b057160303293c9be2dbe28c9cb019f95ab5b2996b7b3a78403a746a79f763b0ee2d6ec6eff09b74517ab4426a1689d76a3ece4e3e3ec456831b63b975b08578c130545e7a443433fc681627fcb03433190703f95aaede1489889e90c5dd05bde4d90453c19d161a8f9b9d9f9a893344f15fb10f4515a70578ae3d00422186c23e8b4ab9f7054be397001d1090de3ba030a5e2ecf01c43586ca01de8059bb8f916d10fef4640c63ca64f3aef5212f6fbc1a6099b53bbb439672d283cae4cee92bf0893b07737458e423a80059a88b6004fbd5ef0be4c0432060bdce6c533107e4d61813c8aec5c3a261556379fcce91d159906072a5a1168388b20eea389d9481f2253278057fbb0602e4475e14a7b7238d7ee133a4bd3799b382a4588aa72ab37cdfe07f17cae7f27eb6c866fe530ce4dcb297fb5eb7614261b83d992ae227150ae120c13a3c26a17eb4c66c303e3e733082127fae2afa8c265281f0ff670500e0e3d6f1826c8530ffaf69b21cb4683b50a93b68118ba9d174e59c7618abf75839e1c91e874466ae662f8cf1336b080fc201a0f7a3be1ec9b01acd58dc1c79f7bfab972909024d0dc4935b6c81e8c94259a33b11f77f1883d6d73953740078d6b588f1d7d499a1e3ffe998c64a1814616cc26ca0251e432f3666ba81280c01dd334e89ccdce2bf6dab21f7cde657bb0c6c25ff3c79fb268ba06b48d0a487415a3e50d206b9f88b14f6a0943b082bb610f2fb9c6f8f19f32c00dfdaa3ca477dc3ffef00b4e6039d032a63455619fe6366bb4aaba4ca007b0a564e1cb1686869836969aeb5048f1e5ffd0e81378c7c4", 0x1000}], 0x7, &(0x7f0000003dc0)=[@rights={{0x30, 0x1, 0x1, [r5, r4, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r2, 0xffffffffffffffff]}}, @rights={{0x30, 0x1, 0x1, [r5, 0xffffffffffffffff, 0xffffffffffffffff, r2, r5, 0xffffffffffffffff, r10, r6]}}], 0x60, 0x20004080}}], 0x6, 0x4048800) 23:47:06 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) kcmp$KCMP_EPOLL_TFD(0x0, 0x0, 0x7, 0xffffffffffffffff, 0x0) pipe(0x0) timerfd_settime(0xffffffffffffffff, 0x0, &(0x7f0000000180), 0x0) r0 = dup(0xffffffffffffffff) write$6lowpan_enable(r0, &(0x7f0000000000)='0', 0xfffffd2c) clock_gettime(0x0, 0x0) r1 = socket(0x10, 0x80002, 0x0) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000100)) sendmsg$nl_route_sched(r1, &(0x7f0000002980)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)=@newtaction={0x48, 0x31, 0x53b, 0x0, 0x0, {}, [{0x34, 0x1, [@m_vlan={0x30, 0x1, 0x0, 0x0, {{0x9}, {0x4}, {0x4}, {0xc}, {0xc}}}]}]}, 0x48}}, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f00000000c0), 0x4) syz_memcpy_off$IO_URING_METADATA_GENERIC(0x0, 0x0, 0x0, 0x0, 0x4) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$EXT4_IOC_CHECKPOINT(r2, 0x4004662b, &(0x7f0000000000)=0x2) 23:47:06 executing program 5: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) r0 = syz_open_dev$sndmidi(&(0x7f0000000040), 0x2, 0x141101) r1 = dup(r0) write$6lowpan_enable(r1, &(0x7f0000000000)='0', 0xfffffd2c) r2 = socket$inet_udp(0x2, 0x2, 0x0) bind$inet(r2, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x16) connect$inet(r2, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) r3 = socket$key(0xf, 0x3, 0x2) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(0xffffffffffffffff, 0x8933, 0x0) sendmsg$key(r3, &(0x7f0000000000)={0x40000000, 0x0, &(0x7f0000000040)={&(0x7f0000000240)=ANY=[@ANYBLOB="0207000902"], 0x10}}, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, 0x0) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, 0x0) setsockopt$inet_IP_XFRM_POLICY(r2, 0x0, 0x11, &(0x7f0000000080)={{{@in=@private, @in6=@private0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0xee01}, {}, {}, 0x0, 0x0, 0x1}, {{@in, 0x0, 0x32}, 0x0, @in=@remote, 0x0, 0x0, 0x0, 0xb7}}, 0xe8) sendmmsg(r2, &(0x7f0000007fc0), 0x800001d, 0x0) syz_usb_connect$hid(0x0, 0xfffffffffffffe8c, 0x0, 0x0) 23:47:06 executing program 1: sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000080)={&(0x7f0000000100)=ANY=[@ANYBLOB="40000000190008002cbd7000fedbdf25801020c4ff01fe090020000008000b000800000008001000a5654dab1ee98c4db7ae5c289be0420000000006001500070000000c06"], 0x40}}, 0x0) r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x40, 0x0) ioctl$FS_IOC_ENABLE_VERITY(r0, 0x40806685, &(0x7f0000000780)={0x1, 0x2, 0x1000, 0x0, 0x0, 0x3f00, 0x0, &(0x7f0000000140)="1082"}) 23:47:06 executing program 4: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000040)='setgroups\x00') close$fd_v4l2_buffer(r0) 23:47:06 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r2, &(0x7f0000000080)="06", 0x1) write$FUSE_NOTIFY_STORE(r2, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r2, r2, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r2, 0x0) r3 = memfd_create(&(0x7f0000000480)='\xb9\xecm1\xc1\xf8\b\x00\x00\x00zMXzYb\xe2\xcb\xa2\xba\xe5\xf4\x97\xac#*\xff', 0x0) write(r3, &(0x7f0000000080)="0600", 0x2) write$FUSE_NOTIFY_STORE(r3, &(0x7f0000000800)=ANY=[], 0x2c) sendfile(r3, r3, &(0x7f0000001000), 0xffff) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x80000000004, 0x11, r3, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_CPUID(r4, 0xc080aebe, &(0x7f0000000040)=ANY=[]) [ 1544.294482][T22834] warning: checkpointing journal with EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT can be slow [ 1545.029267][T22848] warning: checkpointing journal with EXT4_IOC_CHECKPOINT_FLAG_ZEROOUT can be slow [ 1545.062960][T22852] PKCS7: Unknown OID: [6] (bad) [ 1545.112272][T22852] PKCS7: Only support pkcs7_signedData type [ 1545.154831][T22852] fs-verity (sda1, inode 1169): Error -22 verifying file signature 23:47:06 executing program 1: r0 = socket$packet(0x11, 0x3, 0x300) ioctl$sock_SIOCETHTOOL(r0, 0x8946, &(0x7f0000000040)={'tunl0\x00', &(0x7f0000000000)=@ethtool_sfeatures={0x4c}}) 23:47:07 executing program 0: prctl$PR_SCHED_CORE(0x3e, 0x1, 0x0, 0x2, 0x0) kcmp$KCMP_EPOLL_TFD(0x0, 0x0, 0x7, 0xffffffffffffffff, 0x0) pipe(0x0) timerfd_settime(0xffffffffffffffff, 0x0, &(0x7f0000000180), 0x0) r0 = dup(0xffffffffffffffff) write$6lowpan_enable(r0, &(0x7f0000000000)='0', 0xfffffd2c) clock_gettime(0x0, 0x0) r1 = socket(0x10, 0x80002, 0x0) ioctl$BTRFS_IOC_START_SYNC(0xffffffffffffffff, 0x80089418, &(0x7f0000000100)) sendmsg$nl_route_sched(r1, &(0x7f0000002980)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000080)=@newtaction={0x48, 0x31, 0x53b, 0x0, 0x0, {}, [{0x34, 0x1, [@m_vlan={0x30, 0x1, 0x0, 0x0, {{0x9}, {0x4}, {0x4}, {0xc}, {0xc}}}]}]}, 0x48}}, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f00000000c0), 0x4) syz_memcpy_off$IO_URING_METADATA_GENERIC(0x0, 0x0, 0x0, 0x0, 0x4) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) ioctl$EXT4_IOC_CHECKPOINT(r2, 0x4004662b, &(0x7f0000000000)=0x2) 23:47:07 executing program 3: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f00000000c0)=0x5) prlimit64(0x0, 0x8, &(0x7f0000000240)={0x78b27b18, 0x7f}, &(0x7f0000000300)) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(0xffffffffffffffff, &(0x7f000057eff8)=@abs, 0x6e) sched_setscheduler(r0, 0x0, &(0x7f00000001c0)=0xfffffffa) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) sched_setattr(0x0, &(0x7f0000000040)={0x38, 0x5}, 0x0) r3 = syz_clone3(&(0x7f0000000a00)={0x40b86000, 0x0, 0x0, 0x0, {0x1d}, 0x0, 0x0, 0x0, 0x0}, 0x58) r4 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/diskstats\x00', 0x0, 0x0) r5 = creat(&(0x7f0000000180)='./file0\x00', 0x82) r6 = syz_open_procfs(0x0, &(0x7f0000002100)='net/igmp\x00') read$FUSE(r6, &(0x7f0000004100)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) r10 = socket$nl_generic(0x10, 0x3, 0x10) r11 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040), 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_FEATURES_GET(r10, &(0x7f0000000d80)={0x0, 0x0, &(0x7f0000000d40)={&(0x7f00000001c0)={0x18, r11, 0x303, 0x0, 0x0, {}, [@HEADER={0x4}]}, 0x18}}, 0x0) sendmmsg$unix(r1, &(0x7f0000003e40)=[{{&(0x7f0000000c00)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000000d00)=[{&(0x7f0000000c80)="a9